Diary of a Game Jammer Originally Published in Print September 2019

Breaking into any new craft can be a daunting experience. I believe this is especially true of games. While it is easier than ever to have a finished game released on any given platform, getting a game to that finished state is another story. Video games are a multi-disciplinary craft and it is a lot to expect of one person to be a visual artist, composer, game designer and programmer.
Enter the GMTK Game Jam. For the uninitiated a Game Jam is a video game making marathon, in which groups of people will attempt to make a game that adheres to a given theme. The GMTK Game Jam is an annual 48 hour jam run by the Game Maker’s Toolkit YouTube Channel. This year a friend and I decided to enter, to push ourselves to see if we could make something and this what transpired over those 48 hours.

What’s the Theme?

Friday evening came and I eagerly leaped to watch the theme announcement video the moment it came out. This Jam was in its 3rd year now and I assumed that the formula was relatively set. In previous years the theme was based on a video that the channel had released that year. While it had never been stated that this would be the case, I had assumed the pattern would continue… Boy was I wrong! The theme was “Only One”, only one what? I thought to myself. The video rather helpfully stated that there should only be one of something that games normally contain multiple of. It was this that sent my mind into overdrive.

Brainstorming

With each of us currently on opposite sides of the country my friend and I hopped on discord and I bounced ideas off of him. Outside of level design this idea session was one of the most fun parts of the jam. Unlike more casual conversations about game design, the possibility that one of these ideas could be a functioning game in two days made the process all the more tantalizing. To accomplish this, we needed to select an idea which we could realistically take from concept to code within the allotted time. For this reason, an idea for a co-op game where the players only control one character between them, by each controlling a limb, was quickly ditched, due to the animation work required. One idea was to make a fighting game (a form known for its complexity) with one button, in which the player could tap, hold or let go of the button in order to perform one of three actions which would have a rock paper scissors style relationship with each other. I.E., block beats punch and grab beats block. This idea was scrapped as it would have led to an overly reactionary game, where each player would merely wait for the other to commit to an attack and respond with the appropriate move. In the end, it was decided to make a game where one could control one property, in this case, their speed. Press Space to Commute was born, a game where a cyclist followed a predetermined path, and the player controlled their speed, speeding up to overtake cars and slowing down while rounding corners.

I Don’t Think the Road is Supposed to Spin

After a good night’s sleep, the games technical lead (my friend) arrived in Dublin and armed with the finest sausage roll and soda the local spar could provide development began at a civilized 10am. My cohort had not written in C# before, but his experience in programming meant his proficiency quickly surpassed mine, with in a short while we had the space bar moving a sprite (a 2D object in a game) and it would automatically overtake cars. What had us stumped, was how to make the character turn automatically and yet have their speed determine how this turn would play out. Furthermore, we needed to agree whether the player could correct mid-turn, or if the speed they entered a junction at would determine if they would crash or not. It was a conundrum that required some thought, and one trip to Four Star Pizza later we decided to opt with the entry speed approach as it would be easier to implement. We settled on a solution that would rotate the cyclist once they entered an invisible box which we could place on each junction. We excitedly pressed play and tapped to approach the junction, but when it came into view, we realised something strange was afoot. The junction was spinning ceaselessly. We could have freaked out, but all that we could do was laugh. As it transpires when you write a script or class (a document that gives instructions to the program) telling an object to rotate when it touches another object, and then attach it to the object it is supposed to touch, that object will spin uncontrollably. This was the first of many bugs that would send characters speeding off into the distance, or u-turning into buildings, each to hilarious effect.

Side Tracked

The first day had its ups and downs, but a failed attempt to light a barbeque for me outclassed any bug. We programmed until I woke up after a quick doze and realised that I had no idea what I had written in the restart game class. We had to call it a night and the next morning the typos were easily corrected. It was at this point that we turned our attention to visuals and sound. For the music I was envisioning an upbeat track, but the process of collaboration soon put a stop to that. The track that plays throughout the level was pulled in many directions by our ideas, and what emerged was a foreboding number, that won’t win any Grammys, but fits the feeling of taking one’s life in their hands.

Too Easy?

At this point, the level quickly came together, we made a level plan and created square buildings and road segments that slotted together like tiles. This allowed us to quickly build and test sections. Upon playing through the final level we found that it took us and our chief play-tester (my housemate) a little under one minute to complete. We implemented a timer and set it to one minute, which not only aligned us to the theme more closely but also forced the player to take risks. It almost seemed as though it was too easy. With 90 minutes to the deadline we exported a build of the game and it ran like melted butter, but before we uploaded the game, we decided to test it on a different computer to the one we developed it on. This was where a problem cropped up. We realised that the speed at which the game ran could wildly vary, which made certain turns impossible. The clock was ticking so we needed a quick fix. After skimming through forums our only option was to create a fixed frame rate (the number of images shown on screen) for the game. Being inexperienced, the method we used to achieve this caused some light graphical issues, and the game still won’t work on a small percentage of computers, but it worked and that was what mattered. Thankfully we achieved our main goal and submitted the game on time. Which many had trouble with due to the Jam’s 2600+ entries, causing itch.io to crash.

Was It Worth It?

Ultimately, I would recommend entering a Game Jam to anyone with an interest in game-making. The final game may be rough around the edges (ours certainly was), but you will have a prototype to build on, I myself already intend on revisiting Press Space to Commute and overhauling the overtaking mechanic to make it clearer. More importantly, what they can teach you about programming, learning from your mistakes, planning, collaboration and the value of sleeping well is invaluable.
All the entries for the GMTK Game Jam can be found on itch.io/jam/gmtk-2019 including Press Space to Commute

Leave a Reply

Your email address will not be published. Required fields are marked *