Well, it finally happened - I took part in my first game jam this weekend. Sadly, it did not work out as planned.

As a game developer, building a portfolio is important. It lets you show your skills to people, and it also lets you experiment with new ideas. Game jams are a great idea for both. This year had GameMakerToolkit’s 2020 Game Jam, with over 5000 entries. The theme was “Out of Control”: anything that brings chaos into the game, or just takes control away from the player.

The title card of my game

My idea for my game “Just Another Pawn” was mostly focusing on the latter. I thought of the units in a typical strategy game, whose AI usually does most of the work for you - you don’t have to aim for them, you (usually) don’t have to tell them how to go to a spot on the map, you don’t specify how they should mine something. They just do it. I switched this usual dynamic around. This time, the player was the one who had to follow orders given by an AI.

To make it through the jam, I followed some rules I thought of beforehand:

  • Take some time to think of your idea. Of course people are usually eager to start right away. However, it sucks if you find out your idea doesn’t work during development.
  • Keep the scope small. Really small. I only barely managed to follow this rule. Strategy-like games tend to explode with features fast.
  • Use assets as a solo developer, unless art is your strength. It’s tempting to try going for that unique look, but unless you are really talented, creating art takes a lot of time that can be invested in more interesting game logic.

My largest concern was indeed the scope, as is usually the case for inexperienced developers. Since AI was the main point of my idea, I had to let the commander of the player mimic somewhat an intelligent decision maker. Creating good AI takes a lot of time, not only for developing, but also testing.

Screenshot of the game

Overall, my game had multiple systems going for it:

  • Automatic AI orders depending on the context of the game. Is the base badly damaged? Let the player repair it. Are there lots of units on the map? Send the player to hunt for them. Of course the system was in no way perfect, and just a proof of concept.
  • Automatic base expansion. The AI regularly created new buildings, depending on the resources. It could build houses (extra resource income), turrets (base defense) and barracks (generating friendly units that scout the map).
  • Three conditions that had to be taken care of: player health, base health and loyalty.

The last point is the focus of the game. While the player was penalized for not following tasks strictly (for example, shooting while the task was to move somewhere), it also gave the player some freedom in defying the AI since you did not ouright lose when doing so. Sometimes, it might have been important to not follow orders, so the player doesn’t die or the base isn’t destroyed.

Sadly, it did not work out in the end. While I managed to finish the game in time, I fell victim to an outrageous Godot bug. Exporting the game with “debug options off” meant that it would crash reliably at some point, and there does not seem to be an easy fix. The game was already submitted when I noticed. I doubt people would rate an unplayable game well, which is why I took it off. Two days with barely any sleep wasted in that regard.

Still, this will not be the last game jam I will take part in. There are more prototypes to come. I hope I can release my game someday with the bug being fixed. In the meantime, thanks to the wonderful asset creators. Their work makes prototyping a game so much easier. The following assets were used for the game:

  • Joystix Monospace font
  • Various Kenney Vleugels assets (www.kenney.nl)
  • 8BIT Pack by Johan Vinet (Canari Games)
  • Lo-Fi Stellar Skirmish by KPD
  • Mega Game Music Collection by MuzStation

Take care.