Ludum Dare
is an over-the-weekend video game creation competition that happens three times per year in April, August, and December. Ludum Dare is latin for “To give a game.” There is no prize for winning – you simply get bragging rights. The competition is to foster creativity and encourage people to make a game.
Potential themes are voted on by the participants, and a final theme is announced on a Friday around 8 PM Central time. There are two different competitions within Ludum Dare.
The Compo is a competition in which you, alone, get 48 hours to make a game completely from scratch. This includes code, art, music… everything! The only pre-made things you can use are game frameworks and fonts.
The Game Jam is a competition in which you can work as a team to make a game in 72 hours. You can use pre-made assets, so, even if you don’t work in a team, you can use pre-made music or graphics to complete your game.
Since I am working by myself, and I guess because I enjoy a challenge, I’ve only participated so far in the compo… so I’ve had to do everything myself.
Ludum Dare 31
The theme for Ludum Dare 31 was “Entire game on one screen”. I was not very happy with my performance; I got frustrated and just cut my game short and stopped working on it. In the end, people still kind of liked it, and I wished that I had done more.
Ludum Dare 33
The theme for Ludum Dare 33 was “You are the Monster.” Generally speaking, the themes can be interpreted however you want. For this theme, I really didn’t want to do something obvious like say “Oh, you’re a vampire and you have to kill innocent people!” or “you’re the dragon at the end of an RPG who kills heroes!” or something like that. I wanted to come up with something unique that would set me apart, and I really wanted to include some kind of music and sound. I’ve been really in to recording goofy songs with Loopy, an iOS app, and I wanted to somehow incorporate that in to my game.
It’s Only You
Here’s my Ludum Dare 33 entry – It’s Only You
And here’s the source code on GitHub
I decided to go with an “inner demon” play on the theme. The premise being you are a kid who just moved to a new town and is about to start high school. You don’t know anyone or have any
friends, so you’re really doubting your abilities to do pretty much anything. As the four years of high school progress, you would need to accomplish different tasks that help you gain confidence, make friends, and succeed in the high school experience. You learn that you can do anything as long as you put your mind to it — and the only monster in your way is really just your own self doubts. In other words, the monster is you.
I decided to make four different levels, one for each year in high school. Freshman year you would need to climb the rope in gym class, Sophomore year you would need to complete some awesome science experiment to win the science fair, Junior year you would need to score the winning touchdown, and Senior year you would need to kiss the girl. I’m not the best at graphics/animation, so I wanted to make the gameplay something that could be easily accomplished with my limited skill set. Since I wanted to incorporate some of my music, I settled on some kind of a rhythm game similar to Dance Dance Revolution or Stepmania, the former of which I was really into during high school and college.
I decided to use the same tools that I used for Ludum Dare 31. EndGate, a Typescript game library written mostly by N. Taylor Mullen, and the traditional Gimp/Audacity/Paint.NET that is pervasive among Ludum Dare participants. I am pretty familiar with JavaScript, but not so much Typescript, so it was a way for me to immerse myself in Typescript while at the same time making some kind of a game.
Post Mortem
A lot of participants in Ludum Dare have been writing post mortems for their games — a way to talk about what went well and what didn’t go so well. So, here’s mine.
What went well
I think the music in my game is definitely its strongest feature. Since I knew my artwork wasn’t amazing, and trying to make animations still scares me, I wanted to make the music a focal point of the game. I think I was able to capture the feeling I was going for.
Since I’m not a game developer, I don’t know much about what is considered “good” game programming practices. I knew that I wanted transitions to be nice — things fading in and out, that kind of thing, so I spent quite a while making constructs in the code that would fade things in and out based on the game clock. I leaned heavily on EndGate’s tutorials and samples to get me pointed in the right direction, and, in the end, I think that the transitions were (for the most part) pretty smooth.
Once I had some of the “engine” working, including the Dance Dance Revolution game part, I was able to fill it in with content. The “Climb the Rope” song, the “Lunchroom Victory” song and the “It’s Only You” song were all recorded between 3:30PM and 6:00PM on Sunday, giving me less than two hours to put it all back together again. Considering the short time frame, everything managed to come together in a somewhat cohesive ball, and I really was proud of what I had accomplished.
What didn’t go so well
I was overly ambitious. I think that’s pretty common in Ludum Dare. My four levels got whittled down to “if I can just get this one level done…” And even then, I started programming in a “victory” vs. “defeat” condition but just ran out of time… so there isn’t a way to lose, and you basically automatically win. Since there aren’t any other levels, the game just ends after Freshman year… which is kinda funny because the song Climb the Rope ended up being 173 beats per minute, which is a pretty damn fast when you’re trying to hit arrows.
I was also very concerned with the medium in which I was presenting my game. With an HTML5 game, you don’t necessarily have full control over everything, especially timing wise. There was a distinct possibility that when people came to play the game, it could get off… and if the sound was off, the arrows would be off, and it just wouldn’t work. I think having a Win32 executable might have alleviated this in some way, but I didn’t really want to learn a new framework (I didn’t do my homework before the competition, so I just wanted to use a framework that I was at least somewhat familiar with).
My intent was to add more self-doubt into the story as you were accomplishing the tasks. This might have helped solidify the “You are the Monster” theme. Since I didn’t have a chance to do that, a lot of the comments I’ve been getting have been “I’m not sure how this fits the theme,” because the connection to the theme is buried into the lyrics of the songs. The songs are hard to listen to while frantically pushing the arrow keys, so my intent was somewhat lost in translation.
When I finally submitted it, I sent it to a couple of people (my brother, one of my coworkers, and my good friend). Two of them were using Internet Explorer, which I never tested on. I did all of my development using Google Chrome, and it turned out there was a bug where it wouldn’t play on Internet Explorer, and upon further investigation, Firefox. It ended up being a simple thing to fix, but I didn’t get a chance to fix it until Monday morning, about 12 hours after the competition ended.
Conclusion
I am not a game programmer. I don’t even pretend to be one. However, I did my best. All things considered (48 hours, doing everything myself, etc), I am pretty proud of what I built. I’m not sure if I’ll ever “finish” the game, but it was much more fulfilling to have a kinda complete (albeit very short) game.