LD25 – Post Mortem

Posted by (twitter: @franklinwebber)
December 19th, 2012 11:57 pm

This my very first competition and really full foray into the world of game development. My main goal was simply to finish the competition with a simple working game. After the two days I definitely feel accomplished.



I took a small nap in the early afternoon so that I would be more mentally prepared for the announcement of the theme. When I finally read the theme I immediately hopped on the treadmill jogged for twenty minutes talking through various game ideas. Simply moving helped me work through some ideas and by the end of the twenty minutes I had a single game mechanic that I could implement and place a story around.

Your character has imbued themselves with the power to infect people around them simply by coughing and sneezing. This power will make people get out of the way. Ultimately allowing you to reach some end goal that is normally blocked by people.

Immediately after starting the development I realized that I still needed more tools to get the job done. Just over two months ago I started building a game framework written in ruby powered by libgosu. When the competition started I was missing quite a few elements:

  • Tile Map support
  • Collision Detection

Before I went to bed on Friday I had a working prototype of the hero that would could move other people by using their ability.


I started to replace the initial images that I had given my characters with animations that I started to draw. I really appreciate people posting their work throughout the process as I was able to use that for inspiration for developing some simple pixel art.

When I got done with the characters I realized that I needed to spend a lot more time building all the collision detection for the tile map that I loaded. I spent the rest of the day figuring that out.

When evening rolled around that the initial gameplay, as I had implemented it, was not going to be rewarding as it was too random. I had a choice to turn the game into more puzzle game where the moves were more deliberate. I liked the idea of the solution but I did not feel that I had enough time to ensure that the puzzles I created for this new gameplay would be rewarding.

So I made the choice instead to simply grant my character the ability to infect people. When a person was infected they died shortly after. I then made the character die after a certain amount of time. So the game mechanic was reduced to a simple speed run through trying to infect and kill as many people.

Saturday night I stood at a crossroads as to how best to tell the narrative of our villan. I decided that the effort to try and convey a story for such a simple game mechanic would feel strangely bolted on so I focused all my effort on the music.

Inspired by “The Dark Knight” soundtrack I crafted what felt like three songs for the game (i.e. Theme, Escape, and Requim).


I went to bed pleased with the right choice that I made as far as limiting the gameplay and deciding to focus solely on music to deliver a narrative.


The unfortunate problem with choosing ruby and libgosu is the ability to package games. I spent the majority of the morning packaging and troubleshooting performance issues when running the game on Mac OSX.

I submitted my game shortly after noon because I had a plane to catch and would land far after the submission deadline.


While the game is not what I initially intended to create, I feel I made the right choices as far as adapting my idea with the remaining time allotted.

While I love writing games in ruby, I think for future work I am going to use an already existing engine that manages tile maps, collision detection, and packaging for me. Allowing me to spend more time on the gameplay mechanics and not engine implementation.

I also realized that I loved making the music. Even after the game I had some more creative ideas of how music could tell the story and have since composed two more songs.

Next JAM event I would love compose music on a team

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]