Software and State Machines

Hello and Happy Monday!


Spencer writing today to give some perspective from the software development area of Umbrella Mondays. We’ve held off on posting from the programming team until now because we had to design the game before we started programming it, but now we’re making some real headway! Umbrella Mondays is going to be made in the Unity engine, which comes with the advantages of a well documented library and tutorials, easy asset importing and script implementation on objects and prefabs, an animation state machine, and Unity’s newly implemented Cinemachine.


Currently we are in a stage of rapid prototyping and refinement. It’s cheaper on time to make a proof of concept prototype that can be tested right away, instead of making a fleshed out mechanic that might take several sprints to create and might get cut later. Sprints are short sections of development where we set goals and attempt to complete as many as we can in a short time. We then review everything at the end of each sprint, having made a functioning section of our game we can test and discuss. These early sprints are where we still have the opportunity to change mechanics that don’t work, and also feel out what type of gameplay feels right. As programmers, we are making the concepts come to life in the engine as a playable experience. We’re working on updating mechanics that are approved and making sure our code structure fits with everyone else’s work. Each programmer is working on a separate area of code, and we must continually talk to one another and design our code so all our work fits together and others can use it effectively.

My primary work has fallen under the umbrella (pun-intended)) of character movement, which includes mapping control for the player, handling the camera control, and implementing some umbrella mechanics. The strategy of each is based on the idea of states. The player has states that determine how they act, such as running, jumping, floating, and idle that they can be in at any given time.

StatesUsing these states, we can share information with other objects and how they should interact depending on the player’s states, as well as transition between states in certain ways. For example, our character can’t be jumping and pick something up, so they must land first and become idle before we let them do anything else. As we continue to develop, we hope to share more on what we can do in code and have more specifics on what we have done! However, some of it is still our little secret~

Have a great one,


**Note** Turnip Town is not responsible for any injury caused by gut busting laughter or painful groans in the response to terrible puns.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s