Tuesday, October 24, 2017

Complete Prototype

This week we completed our prototype! Our first 'playable' level is complete. The level consists of two sources of different colored balls that must cross paths to get to their respective sinks. The conveyor belt object is pretty much complete but might need some fine tuning to get the physics of the collisions just right.


Big changes this week

  • Physics
    • Tweaking the balls friction, angular inertia, bounciness, and mass. This took a considerable amount of time to get it to feel natural and look like a real physics system.
    • Conveyor belt surface effecter was tweaked so that it would perform correctly with the new physics of the balls. We ran into an annoying issue where the force on the ball would cause a so much rotational back spin that ball would move in the opposite direction. Right now everything is working satisfyingly except that ball still rotates the incorrect direction when on the conveyor.
  • Balls
    • The new artwork with the X means that you can now tell more clearly when the ball is spinning. This makes the motion of the ball a little bit more satisfying.
    • Ghosting: The balls now leave a fading trail behind them as they progress.
  • Conveyor Gizmo
    • A directional arrow to switch the conveyor's force direction
    • Can now be added to the seen from the UI bar
  • Gameplay
    • A play button that will drop balls. In the future I think we are going to go with a 'Drop Ball' button that will drop a single ball rather than just start a continuous flow.
    • Restart button that replays the scene. This is mainly for our testing sanity but this will also restart the level for the player.
    • Two game cycles: BUILD and PLAY
      • During the build cycle you can add, rotate, and re-position gizmos. During the play cycle, balls will fall and editing the scene is disabled.
  • UI
    • Drag and drop Gizmo prefabs and place them in the scene. This is a bit tricky... still working on it.

Planned changes for next week


  • Second Gizmo: the wall
  • Ball effects: impact collision effect
  • UI: Fully working UI toolbar with drag and drop abilities
    • Icons for the already present Gizmos


Tuesday, October 17, 2017

Week 2

What we've been working on


This week the Flow team has been working on integrating the UI bar, finishing off our first Gizmo, tweaking physics between game objects, and fine tuning the mouse interaction.

The conveyor belt


The conveyor belt Gizmo is now fully skinned and animated. Art was originally created for several different frames of the conveyor belt to show the spinning movement of the belt. However, we quickly realized that a simple script could alleviate a lot of the art work needed while also making the animation much smoother. So rather than having different images each frame, the conveyor belt is static but has moving parts that are transformed in unity with a rotation script. This makes the belt look much more fluid and saves some time on Art


Physics enhancements


We noticed that despite unity having most of the physics already built in, our system needed some tweaking. For example, our balls were using circle colliders and rigidbodies which gives them most of the effects needed. However, we noticed that balls would sometimes stack one on top of another in a big perfect pile. Such a thing would normally be fairly unlikely in the real world given perfectly round balls. We solved this by removing the frictional forces on the balls and adding bouncing and elastic collision effect. This small force exerted on other balls plus the lack of friction gives the balls a much more realistic effect when colliding with other objects in the scene. The bouncing is also satisfying and will be nice for future use when we implement obstacles like walls.

Mouse Interaction


You can now click to rotate and re-position objects in the scene. We encountered a small problem that allows us to position Gizmos on-top of other Gizmos despite the objects having colliders. Hopefully we can get this issue solved relatively quickly and get back to the development schedule.

UI toolbar


The goal is to have a small vertical bar on the right hand side that has icon representations of Gizmos that can be placed in the scene. As with such a task, screen ratio, and dynamic sizing are a bit of pain to get working on all screen formats.



Next week plans

  • Wiring the UI toolbar to the mouse interaction
  • Start work on next gizmo
  • Level design of the first few levels
  • Ball effects (trails and collisions)









End of Week 1


This week we laid out the foundation of the game including its most basic pieces. Ball prefabs, spawning, de-spawning, scoring and ball tracking, colliders, and basic physics interactions.We also completed the scripting for our first “game object” or “gizmo” (objects that manipulate the path of the ball).The first gizmo is the conveyor belt that will put a force on the ball once it collides with it. Next week we will be adding the art for this gizmo and finish off the placement mechanics. So far we have no mechanism for placing the gizmos in the scene but we do have basic scripting for rotating and re-positioning them in the scene.We finished off the week by re-skinning the game in its first art assets. Overall, a huge improvement from the game we had at the beginning of the week.


 Before:





After: