← View other post-mortems
Post-mortem

Reidemeister Station

meseta
Lv. 19
meseta Level 19
· 4 min read · 41 views
Reidemeister Station
Reidemeister Station
· 1st
The backstory

About 8 years ago, I worked with my wife on a mathematics paper on Knot Theory: an obscure subject, and an extremely dry paper, describing how knots could be manipulated with what are called the Reidemeister moves.

Fast forward to a few weeks before the jam, the subject came up again when I answered a question on how to generate levels for a tower defence game, where I suggested knot theory. I reasoned that a TD level is a lot like a knotted string - it twists and loops, so the same techniques and mathematics that allowed me to write a computational knot solver/scrambler years ago could also be used to make a TD level generator! I thought no more about the topic until the jam.

Hour 1

I initially didn't intend to take part. I didn't have any ideas that would appear to fit, and I was looking forward to having a relaxing weekend, and spending most of saturday with my wife looking at some apartments.

But there was a fortuitous coincidence: I had recently implemented Orteil's (developer of Cookie Clicker) "Game Idea Generator" into the GameMaker Discord's resident bot, as a toy/joke/talking point. One idea it generated during a conversation about GM48 game ideas was: "An indie game where you dance to maths with violence", and I thought: wait...a maths game? Knot theory is maths and is all about loops!

Cautiously, I played around with the idea in my head at night. I conceived a glorious multi-player base-building game, where you would build a base that would gather resources, and you would compete for space in a large map with other players. It would be an MMO of sorts, and there would be enemies/mobs to fight, units to control, the whole thing.

Hour 18

I spent all day mulling over the scope of my idea while apartment hunting. I gradually whittled the game down to its core components: The knot theory, which governed how you would lay down the pipes; and the resource collection, whose challenge would be in manipulating the pipe into the right shapes for as short a path as possible. I felt this was an unmissable opportunity to do something that stood out from all the pixel art platformers that were being shared, while tying together some work I did 8 years ago

Hour 23

I had gotten reasonably far on mechanics already, and decided to try my luck with finding an artist. My previous jam games where I teamed up with an artist had all been far easier to deliver on time than the ones where I didn't (notably on one occasion, the artist dropped out and I ended up drawing a singular angry lemon as every enemy in the game). Luckily, GiftOfDeath, long-time friend whom I've not worked with before, stepped up and was fully on-board with not making a pixel-art platformer.

GoD began to hand-draw images to replace my placeholders; and due to a bit of foresight with macros, switching from low-res to high-res was painless.

Hour 36

After a good sleep and finishing implementing the knot theory, the rest of the development was a lot easier. An unexpected benefit of building a game using knot theory is it guarantees every level is a perfect loop, which means you never have to deal things like handling broken paths. The code was surprisingly elegant afterwards.

Unfortunately the level-design was taking a lot longer than expected. It's hard to come up with ideas for levels in a game that didn't exist a day ago!

Hour 42

I decided to try my luck again with sound. Again it paid off as Topher was willing to pitch in in the last few hours to make music and sounds for the game.

Together, we polished, and submitted!

Post-jam

After the jam ended, we produced an HTML5 version, which had some weird HTML5-related snags

Happy with the polish, we reached out to Jupiter Hadley about putting Reidemeister Station on ArmorGames. Jupiter and team provided some further feedback on improving the game. So over the next week, we produced a post-jam version incorporating both Jupiter and GM48 feedback as improvements. The game was accepted and will be published on ArmorGames!