GMTK Game Jam 2023 Postmortem


Intro

Another year, another GMTK Game Jam. I have to say that I did not like this theme. I think I spent 5 hours undecided before thinking of a decent idea that was possibly fun. All said, I'm extremely happy with the game that I created, it is the most polished, and complete of all my jam games.

Brainstorming

My biggest gripe about this year's theme was that in recent time we've seen more and more games where you do get to play the roles reversed. Games like Moonlighter reverse the players role, selling items as the shopkeeper instead of to the shopkeeper; Carrion, where you assume the role of the enemy in a metroidvania-horror game; The Tenants, where you are the landlord and the sims live in the house. These all just feel like games and while they might fit in the theme "Roles Reversed" what could a jam game do to explore the theme further? The realization I came to is that this theme relies almost entirely on the framing. This means that instead of any specific mechanic, you need to include some sort of story to explain why or how the roles are reversed.

Some ideas I had considered in no particular order, and from memory:

  • You are a pokemon in the wild and must evade capture for as long as possible. - There is no progression, it's just a minigame
  • You are the dealer at a casino and you must deal cards and payout properly.
  • You are the enemy in some game, and you must prevent the player from progressing. - How does the player progress? Is it too easy to thwart the player? Do you start at the final boss and move back in time each time you kill the main player? Is there even enough time to make a reasonable AI?
  • A story based game, where everyone is a double-agent with their role reversed. - I'm not very creative, and this relies less on coding (my strong-suit) and more on story.
  • A turn-based tactics game, but you move all the enemy pieces at once (with a goal to cause stalemate) - This sounds reasonable, but too hard to balance and think through. It's likely essentially a puzzle game instead of a tactics game
  • Some sort of DDR-like gameplay? - I kind of want to explore this further, maybe the DDR game places the world map for a preset cutscened
  • A set of Warioware-like minigames, but instead of being the player, you are the game and must prevent the player from winning each round. (e.g. "Cut the rope" if you moving the rope to avoid the scissors)

My favorites of the group were the casino dealer, and the Warioware minigames. After giving it some thought I didn't think I could do the casino game justice in the now event shorter timeframe, and I honestly expected a ton of Warioware styled games.

The Idea

After a lot of thought, I finally decided that I think I could finish a game that takes place after you've defeated the big bad villain in a Legend of Zelda-like world. The main premise should make sense very quickly, and the player should be able to intuit that they have the whole world available and by giving away items, they may lock themselves out of giving away other items. My primary concern was making the game too big. The whole world is available, but the player isn't familiar with the map, so the preliminary action is for the player to explore the world and see what everyone wants. After that it becomes a puzzle of which places to lock away in the correct order.

Development

There isn't too much to note here. I've made tech demos in this exact style before, so I knew what I was getting into. The big thing here was that I was using my new NodeJS game engine (Find it on GitHub here: https://github.com/NicholasDenaro/node-game-engine), and it wasn't very feature rich. It also lacked a map editor entirely. After some searching, I came across the tool called Tiled which looked like it fit the bill almost perfectly. I didn't use it quite as intended, but it proved indispensable. I'll definitely augment my game engine with compatibility for this editor.

My general process was to create all of the items first and their interactions, and then create the world around using them. I started without much of a plan and ran into a couple issues where there were loops in the decision tree, and the game was unbeatable. I ended up making a directional graph to help me visualize the dependencies and cut out any loops.

There were a few different challenges I faced during development. Remember how I mentioned not having a map editor? Well I also haven't added any sort of tile mapping for the engine either. This meant I had to work out all of the areas so that the player never went behind/under anything and the background was a single-layer PNG. This problem doubled for the other entities because I also didn't add any z-indexing or layers yet. Whatever is added to the scene last gets drawn last. I worked around this in certain circumstances by removing and re-adding the player to keep them on top, like when the skeletons spawn after digging the graves.

I also found out very late in the jam that I had been massively over-inflating my game size due to assets. A lot of the assets I had on hand were in the .wav format, I know this format is huge, but I didn't really consider how big they might be. My final game size is about 12mb where 11mb of that are audio assets! At one point in time I noticed that Itch was really struggling to upload my file while I knew that this happened near the end, there were still 4 hours left. After investigating I found out that all the audio assets added up to over 100mb! I used VLC for a quick and dirty format change which reduced size by 90%.

Nearing the final hours, I had a few people playtest and saw that almost all of them were trying to dig at the graves, and ignite the campfire. I spent my last 40 minutes adding in those touches which I'm hoping will subvert the players expectations less and give them a feeling of satisfaction for finding something special.

You can find the game's code here: https://github.com/NicholasDenaro/GMTK-GameJam-2023

Future Changes

Some things that I'd like to change in any future iterations:

  • Use Tiled correctly so that I can more easily make a larger world
  • Make it more obvious when an item can be given away without consequence
  • Make the giveaway order less linear (more branching paths with alternate routes)
  • Make the credits better, showing the end result of your hard work
  • Add in a few more items, like the switch-hook and flippers
  • Add more interactables, like temporary switches and toggle switches
  • Make the ending more complete and don't just abruptly end when all items are gone

Final Thoughts

I greatly considered not participating in this game jam because I didn't like the theme very much. I'm so glad I did though because I think this is my best jam work yet. I'm incredibly happy with how it turned out, and it feels like reasonably complete game that is well thought out.

Get Postgame Giveaway

Leave a comment

Log in with itch.io to leave a comment.