"Ghost Gear" - Kenney Jam Postmortem


Kenney Jam 2020 was a really interesting creative challenge to create a game with specific assets and with a specific theme, in this case "Cursed". A theme like "Cursed" was right up my alley. Lately, I have been enjoying exploring the boundaries of game controls. I like weird, awkward controls, that force the player to grapple with fundamental things like how to get from point A to point B. So I took this opportunity to make a game in the style of what I affectionately call "Collision Box Bumper Cars". 

I have a software engineering background, so I tend to focus on programming-heavy games with formal FSMs. Up until now I kind of balked at the idea of making largely collision based physics games as it wasn't exactly my strong suit. But, its a game jam, so it was a great opportunity to flex some creative muscle and try new things!

I went through multiple iterations of controls and ideas while working on this game, originally starting with a basic platformer that subverts expectations constantly. The game would start out normally, but mess with the gravity or controls or change into a completely different kind of game entirely (like a puzzle game for example) but I found that it wasn't really resonating with me. It was "cursed", but not in a way that was interesting for me to develop or expand upon, so I scrapped it about halfway through day one. It was nice to play around with making a platformer for a moment though.

My second prototype was a game with a character that functions as a wiggly pogo-stick type of thing, using this cute enemy from the assets:

This funky, cute little guy

I was having a ton of issues getting it to bend how I would like or function in a satisfactory way, so I also scrapped that idea. I may come back to this later, but I decided I would need more time in order to iterate on that properly. Godot's tools for making dynamic, bendy sprites with skeletons turned out to be more challenging than I originally was bargaining for.

Ultimately, I stuck the ghost and gear enemy sprites together, going through multiple iterations of ideas to come up with something that felt interesting. I found that by controlling the tail of the gear, which normally weighs you down, and allowing the ghost head to both float like a balloon and bounce off surfaces allowed for some pretty bizarre interactions.


The player can move the tail gear left, right, or down, but not up (as this would trivialize the game). I settled on designing levels so that the player is always trying to move upwards somehow. One must gather momentum and bounce the ghost head on things, or allow the gears to unroll at the right time to catapult the player up. It has this nice blend of intuitive and bizarre mechanics that felt about right to me.

It became clear that the layout of the levels would matter a lot with these kinds of controls. Simple square blocks or ramps (which is largely what the asset packs provide) wouldn't do, I would need much more random and fluid kinds of terrain. Since we are supposed to be making a "cursed" game, I decided to go with a cheeky solution to this issue and make my levels out of random enemy sprites in the asset pack. I blew them way out of proportion and added very precise collision boxes around their edges. This makes for both a very surreal aesthetic and also gives me the freedom to make very amorphous level layouts. 

It's beautifully grotesque and I love it.

On the flip side though, this level style made developing and iterating on ideas more challenging that usual. I initially wasn't sure how to proceed, because if I were to simply throw down a lot of sprites to make my level, if something needs to change about it, the process for moving everything to try different ideas was really tedious. Later, after the jam, I realized its fine to simply draw collision boxes where ever I want in a test level, see if it is mechanically interesting, then layout the specific sprites to finalize the level, but during the jam I was crunched for time enough that this didn't occur to me and there was simply too many other things to worry about.

So, my final result for the jam was a measly two levels that looped. Not the best experience. Many players seemed to dislike it either because the game was too hard and they couldn't control themselves, or they figured it out, realized there were only two levels and disliked the lack of content. Unfortunate, but it is what it is.

On the flip side, I was really pleased to see that a lot of feedback was along the lines of "please give me more game". What a great problem to have! All and all, this was a really fun creative challenge to constrain myself on both assets and theme. I got to explore Godot's physics system more deeply than I had previously. I added a bunch of content and changes in the latest update to put a cap on this game for now. If there's interest, I would gladly expand upon this game, but for now, I'm off to greener pastures!

-Taylor

Leave a comment

Log in with itch.io to leave a comment.