Out of Control Center
WebsiteGame Maker’s Toolkit is a YouTube channel that focuses on game design and development. Every year, they host one of the largest game jams where participants have a limited amount of time to create a game based on a theme. A few friends and I decided to participate in the 2020 jam.
# The theme was Out of Control
We ended up creating our own take on a “text adventure” game called Out of Control Center. This game sees you working as a handler for a secret agent who has a bit of a drinking problem. You must feed them text prompts and try to keep them on track as they go about their mission.
As you progress the various missions, the agent’s drinking problem becomes more and more apparent. He becomes beligerent and requires instructions to be repeated (or just ignores you), slurs his speech, and can even die from alcohol poisoning if they drink too much. It’s up to you to help the agent complete their mission before this happens.
Various environmental factors can also impact communication with your agent. For example, some areas of levels may have poor reception, causing messages to or from the agent to be garbled or lost. Enemy guards also patrol the levels and can physically intercept the agent, causing a game over if they’re not dealt with quickly.
# What was my role?
I was tasked with creating a solution for handling text input and matching it against a list of possible responses and outcomes. I wound up creating a some system that leveraged a Finite State Machine and Fuzzy String Matching to determine the best response to a given input.
To allow the mission designers to easily create new missions and scenarios, I created a visual node-based system that allowed for states and transitions to be created and edited directly within the Unity editor. The end result was actually pretty cool and I was quite proud of it, especially considering I was able to put the entire system together in around 12 hours.
# Oh cool, last minute problems
Unfortunately, we encountered a serialization issue related to Git and the fact that our team was using a myriad of different operating systems and Git clients (we had a couple non programmers on the team). This resulted in several transitions and states not being saved properly, resulting in builds that could not be completed, or some instructions (mainly synonyms) not being available to the player.
# It’s kinda playable
Although the version available on Itch today is labeled “fixed”, that’s not entirely true. We were unable to completely resolve the serialization issue, so if you decide to try it out, just know that you won’t be able to complete either the second or third mission (I can’t remember which).