Ludum Dare 25 Postmortem
Ludum Dare is a very popular 48 hour game jam. It’s one of the best ways I can think of spending a weekend and since this was my third one, I figured I would talk a little bit about what went right, what went wrong and what I plan on doing with the game I created now that the contest is over. For me, Ludum Dare is incredibly inspirational. If you follow the excitement on their blog or on twitter then you feel like you are part of something much larger then yourself. Since I have been sitting on two unfinished games for almost a year, Ludum Dare provides not only a small sense of victory for completing something but the competition continually reminds me that great things can happen in a short period of time. For this Ludum Dare, I created a game called Super Paper Monster Smasher based on the theme “You are the villain” and here is my story about how it came to be.
Screenshot of the actual game Super Paper Monster Smasher.
What Went Right
In a nutshell, Super Paper Monster Smasher is a basic game. You are a monster and you must kill all of the heroes attacking you. There are knights, archers and boulders that will hurt you. Goats restore your life and you are confined to a small dungeon to move around in. When it came to making this game, a lot of things worked out in my favor for this Ludum Dare. Here are the top three I felt were critical to successfully completing my game on time:
Created a Simple Concept that Worked
The hardest part of building any game is managing scope. It’s the number one reason why my two games for this year are still unfinished. For Ludum Dare, it’s critical that you come up with something simple and stick to it. For SPMS I ended up focusing on the main gameplay mechanics I liked early on:
- Simple click based controls to work with mouse and touch screens.
- Simple attack mechanic: move to the right or left.
- Simple enemies which only do one type of thing such as attack or shoot.
- Simple high score system to make the game engaging and encourage repeat play.
What you may have noticed is my use of the word simple over and over again so far. I really have to thank Richard Davey for drilling this into my head when the competition started up. He actually challenged me early on to just start coding and not over think the game idea. His “tough love” was exactly what I needed to keep the game’s scope simple enough to complete in the short time frame. Check out his entry here, which is a great take on the theme.
Knowing My Tools
Not everyone has the luxury of writing a book on the actual framework you decide to use for your game like I did. I happen to know Impact very well and while I was tempted to do a GameMaker game (since I have been learning it) I decided to play it safe and stick with what I know. That along with using tools I am very comfortable with such as Photoshop to work through my game’s design, Aseprite for cleaning up my pixel art animations, and BFXR for generating sound effects allowed me to effortlessly glide through what could have been the most grueling part of the competition which is asset creation. I can’t stress enough how critical it is to use something you already know instead of learning on the fly. This was my biggest takeaway from The Game Jam Survival Guide by Christer Kaitila, which I suggest picking up and reading if you want to make it a habit of entering game jams.
Found an Art Style I Liked
Early on I sketched out a few simple designs for my game concept on note cards.
Early concept sketches on note cards.
While my sketches themselves had an interesting look, I wasn’t comfortable with doing an all hand drawn game. In fact, I was so set on doing that originally I even added the word “paper” to the name of the game. In the end, as I mocked things out in Photoshop, I ended up stumbling upon an 8-bit style I felt more comfortable with and wound up really liking.
The title screen from Super Paper Monster Smasher and my throw back to the old Nes games I loved as a kid.
The best part about finding that style early on meant that I could continue to inspire myself to keep going when things slowed down. If I was bored of coding I would hop back into Photoshop or Aseprite and work out some new comps for what I wanted to build next. In the end, I also kept the design simple enough to scale up (size wise and scope wise) as I continued to work through the game. This allowed me to quickly add elements to the game such as archers, arrows and boulders which ended up improving the gameplay greatly. Also because of the over simplified graphics, the game will look great on lots of different resolutions which I planned on exploiting after the competition in order to port it over to Windows 8 and Windows Phone 8.
What Went Wrong
Not everything had worked out exactly as I had hoped. A lot of the issues I ran into could have been easily avoided with some better preparation:
I didn’t plan for Sound
I hate working with sound. In games and especially in websites. I have no musical skills what so ever but at least on my Mac I had a good workflow down thanks to some issues I had to sort out during LD 22. This time I was on Windows 8 and totally forgot about sound (or put it off subconsciously) until the afternoon of the second day. I had my music done and ready to go but needed sound effects. BFXR saved my ass again since it only took a few minutes to randomly generate some passable effects but Impact requires you to convert the .wav files into .mp3 and .ogg for each different browser. I had remembered someone mentioning an app called Audacity and since it was free, I decided to give it a try. Once installed, it required another free library called libmp3lame to convert the files to .mp3s. It didn’t take long to sort out and eventually I figured out how to use the program (which ended up working flawlessly btw) but that was valuable time wasted on something I should have had a better handle on before the event. It also didn’t help that I had forgotten how Impact’s Music class worked and struggled through that for a little bit too.
I didn’t test out my Build scripts
Output from my ant build script once I got it running correctly.
That being said when I started testing out my scripts at 11am on Sunday nothing worked. First up I was on a new computer so I didn’t have Apache, PHP or Ant installed. Plus configuring them on Windows 8 could be a quick experience or take all afternoon. It took me about an hour or two in order to get it all running smoothly. This was something I could have avoided entirely if I had tested this out before the competition. Those two hours and frustration took away valuable time I could have been play testing and refining my game.
I Didn’t Make Time to Play Test
This is always the last thing on my list and most ignored aspect in any of my games. Early on I started playing the game and realized it wasn’t fun at all. That freaked me out and I decided to stop adding animations to the game in order to make it more fun. I added archers and boulders for the player to avoid and also run down the life. In addition I added goats (which was the bonus theme) to the game to restore life. While all of this helped I didn’t really work through any of the gameplay issues until the very end when it was too late to address them. I could have used more enemies, better power ups for the monster and a host of other things that would increase the challenge gradually and reward the player for sticking through an entire game session. I am happy with what I came up with but as I continue to work on the game I will spend a great deal more time testing things out to make sure they work and are fun.
Game Over screen from Super Paper Monster Smasher.
In the end Ludum Dare is one of the most rewarding development experiences out there. Kind of silly to say out loud but in both of the competitions where I finished my game I came out with something unique and worth exploring afterwards. Even if you don’t finish your game, LD makes you really think through what is critical for your game and punishes you dearly for not following KISS (Keep It Simple Stupid). I highly suggest that you take a look through all of the games, rate if you can and at least leave a comment on the ones you like. With 1,328 games submitted I’ll be going through them for some time. And don’t forget to make your own game for the next Ludum Dare when it’s announced!
One More Thing
One other thing I wanted to bring up and didn’t really touch on was my focus on making the game playable on the largest range of devices and really leveraging the power of HTML5. I went into the competition looking to show off how powerful it is to have a game run incredibly well on desktop browsers and mobile browsers all on the same codebase. Even better, I was able to get the game running on both Windows Phone 8 and Windows 8 in a matter of minutes shortly after the competition. With all the negativity going on about HTML5 not living up to its own hype, I feel vindicated in my chose to stick with it after seeing that my game ran everywhere I wanted it to without a plugin or cross compiler. The icing on the cake is that I can easily turns this game into a native app on Windows 8 and put it into the Windows Store without much additional work. I’ll be talking more about how I port this game over to Windows 8 later on, I have big plans for this little game!