Ludum Dare 24 judging ended last weekend so I figured I’d take a minute to talk about the game I made for it, and what the development process was like.
For those who are unacquainted with it, Ludum Dare is an online game making competition in which people around the world try to make the best game they can in 48 hours. A theme is announced at the start of the competition, and developers have to keep it in mind while designing.
This time around, I made a game called Virion. I’m not entirely sure what genre it fits into, but it’s a game in which you control the titular character, a virus particle, who must travel through the body, avoiding white blood cells, to infect a nice healthy cell. The game has 17 levels and an ending. Here’s a breakdown of how the game was developed:
The theme for Ludum Dare 24 was announced at 9 PM on Friday while my wife and I were heading home from our favorite restaurant G-Zen. (We decided to go out to eat before the competition started because I tend to forget to eat during Ludum Dare…) Upon hearing that the theme was “Evolution” I really didn’t know what to think. I had no real ideas, and didn’t feel too passionate. 3 hours later I was still in the same boat. I contemplated giving up, but instead decided to make a list of features I wanted my game to have. Here’s some of the big ones:
- Has to abide by the Pacifist Games mission statement.
“To create interesting, thoughtfully designed, and primarily nonviolent video games that treat players ethically.”
I hadn’t designed a game with levels before and really wanted to give it a shot.
- An ending
I have a theory that Ludum Dare games with endings get better ratings than those without them, so I wanted to test it. More on that later.
- Vector graphics
I’ve been trying to learn Inkscape lately and thought this would be a good way to get some practice
- A cute/relatable character
Adding a face to the player character really seems to add a lot to games.
- The environment/enemies should evolve, not the player character
I figured everyone would make a game in which the player character evolved, so I wanted to do something different.
The last entry on the list got me thinking about what kind of environments in nature evolve based on the actions of a single entity. I immediately thought of our bodies’ immune systems when they realize a virus is attacking. Since I didn’t have any better ideas, I did a little research on viruses and decided to go with it. The original idea was that you would play as a virus particle, attacking the same body over and over again until you destroyed it. The white blood cells in the body would get smarter and smarter based on your previous playthroughs.
So, the first thing I did was design the character and controls. Can’t really design levels until you’ve got the controls completely ironed out! Since the game would take place within a body, I wanted the player to have a kind of slippery, slidey movement. I spent the first night of the dare tuning the player’s movement until it felt just right! I found that adding some rotation to the character made it feel a ton better, and decided to make him blink and pulsate as well. Little details like these seem to make a pretty big impact on players.
On the second day of the dare I implemented the title screen, sound effects, background noise and background graphics then began work on the enemies in the game. I brainstormed a few different types, the ones in bold made it into the final version:
- Enemies that sit completely still
- Enemies that move back and forth
- Enemies that move around erratically
- Enemies that travel diagonally
- Enemies that mimic the player’s movements
- Enemies that chase the player
I implemented the three enemy types that I thought had the most promise (the ones in bold) and then started trying to create the game’s level. Since the idea was that you would repeatedly invade the same body, there was to be only one long level that you played over and over, with new enemy types appearing in later playthroughs. It took me most of the second day to realize that this idea was really really stupid. Not only would it be incredibly hard to design, it would also be boring for the player! So, toward the end of the second day I began designing the one-screen levels that would be in the final game.
My goal with each level was to highlight an interesting feature of the type of enemy that was in it. There were to be 5 levels for each of the 3 enemy types, followed by a final boss room and a room in which you encounter the cell you want to infect.
Since it was now the final day, I entered panic mode and started designing levels as fast as I could. In the end I was only able to design 3 levels for the enemies who mimic your movement, but did succeed in designing 5 for the other 2 enemy types. In a crazy hour full of half-assed code I implemented the game’s ending, then went around sprucing up the rest of the game. I made the background graphics slightly different for each room, and implemented the crazy circle graphics which make up the walls in the game. (The walls were previously just black squares) I also added a secret warp zone, gave all of the levels names, and updated the look of the enemies. In the end I was unable to create a final boss, so I just placed the hardest level in the game right before the last room. And so, just after 9 PM on Sunday, I submitted my game to the Ludum Dare website then promptly fell asleep.
Skipping forward now to the end of the judging period (a few weeks after the submission deadline) I’d like to talk about the results of the dare! Shockingly, I placed 21st overall out of 1006 compo participants! Here’s a detailed breakdown of my results:
The coolness rating is based on the number of other Ludum Dare games you played, I only had time to play 60 this time around. I was surprised by how high the overall and fun ratings were, since I didn’t feel too passionate about the game when I was making it. I think the number and quality of the levels is what impressed most players. It may also be that since they were able to beat it and see they ending, they got a nice high and rated accordingly. The rest of the ratings fall about where I expected them to. It makes sense that my theme score was the lowest, since I scrapped the part of my game that was overtly about evolution. Overall I’m very happy with the results, and had a great time!