Postmortem: Hero Stomp (Ludum Dare 33)

Ludum Dare 33 was a ton of fun! (Actually, it’s not over yet because now that I’m semi-rested, I am starting to play some games that other people made.)

You can play “Hero Stomp” from the Ludum Dare website or from this site’s “Experimental Games” section.

Hero Stomp screenshot

I had a few specific goals for this game:

  • Design something that I could finish in the time frame
  • Make the gameplay simple but action-based
  • Find ways to speed up the coding process
  • Hand paint all of the art in ArtRage
  • Add voice over
  • Add music

The game was pretty successful on all of these fronts except for the music. It was the lowest priority item on my list, and I ended up skipping it due to time constraints.

I’m pretty happy with the gameplay. It’s really simple, but I think that the mechanics that are there turned out well. I put some time into designing the difficulty curve. I was shooting for an experience that went from extremely easy to basically impossible in the space of about thirty seconds.

The “lose a point when a hero steals a jewel” mechanic helped to create the pacing I wanted. If you sat there and did nothing, it would still take twenty to thirty seconds to lose five jewels, so there was no way that the game could end up being too short. Theoretically, with perfect play you could probably play forever. (The best I could do was sixteen or seventeen stomps.)

The coding went really fast at first…then came “the bug”. If you were holding up and left (for example) and hit a wall at the top, you would completely stop rather than sliding along the wall to the left. The stupid thing is that I ran into this exact situation with a previous jam game, “Butterbats”and I totally forgot about it.

I tried a few different approaches and finally got it fixed, but I wasted quite a bit of time. Honestly the big mistake was in not taking a break to go for a walk and get my mind off of things. If I had done that, I would have solved it much more quickly.

So by Saturday night the game was totally playable, but I had not even started on art. Thankfully the art production took about half the time I had planned, so I made up some ground. I’m really liking ArtRage for digital painting.

One shortcut that I took on the art was to basically make one big image for the entire screen, including the fixed UI elements. It saved some time because I could treat the entire game as a single painting, with the exception of the few animated elements in the game. This obviously meant that I gave up a ton of flexibility (moving a door or a treasure chest would have meant repainting that section of the image), and I had to target a fixed screen size. I would never do this in a commercial game, but I think it was a reasonable choice for a 48 hour jam.

Another shortcut that I took was to completely avoid any form of pathfinding or AI for the “Heroes”. I created ten or twelve predefined paths from a door to a chest to another door (or sometimes back to the same door). When I needed to spawn a hero, a script would choose a path at random, and then randomly choose whether to run it forward or backwards. I also decided that the heroes would make no attempt to avoid you. Instead I randomly inserted some zig-zags into their paths, so any appearance of intelligence is completely coincidental.

The voice over very fun to do, and thankfully none of my neighbors called the cops. I’m pretty happy with how the performance went, though the audio quality is not great. I recorded it by just talking into the built-in mic on my iMac. The levels were also a little too hot and you can hear some distortion, but I didn’t have time to fix any of that.

The final build was a pain. I still need to learn more about Unity’s WebGL export. The builds are coming out way too big, and my hosting is too slow, so I went with a web player build instead.

Overall, this was a great experience, and I can’t wait until Ludum Dare 34!