The premise
As I write this, Ludum Dare 24 has just finished. My game, which I’m not linking to here as I’m not scouting for votes, is functional and on theme but it is incomplete and a long way from being fun. Rather than writing a post-mortem that dwells on what went wrong with this one, I’m going to write a “pre-mortem” for Ludum Dare 25.
The idea of a pre-mortem according to Mike Clayton, is to “imagine that our as-yet un-started project has failed spectacularly. With this assumption as a starting point, we then proceed to figure out what might have caused it.” In other words, rather than trying to guess what might cause a failure, we should take the view that the failure has already happened and list the reasons for it.
This strikes me as being a good idea. So, in the spirit of a pre-mortem, I’ll ask a question about a spectacular failure…
Why did my game take last place in Ludum Dare 25
The Ludum Dare 25 judging has ended and my game has come dead last. I can only ask myself one question…
What went wrong?
I over-reached. There are only 24 hours in a day, and some of them are needed for things like sleeping, eating and those general household things that always need to be done. My game design was a brilliantly original idea on paper, but it was too ambitious for me to develop in a weekend and in reality I wouldn’t have finished it even if Ludum Dare had taken place over an entire week. As a result, the game that I submitted didn’t contain much of the design and was little more than a shell with some basic gameplay.
I didn’t set up the environment before the contest. Not only did I make a game from scratch, but I pretty much set up my development environment from scratch too. This robbed me of valuable hours while I tried to download, install and configure all of the tools, utilities and libraries that I thought I’d need to write the game, and that was before I even tried to use them.
I didn’t know my tools. What made me switch from the comfortable efficiency of vim to the good looking but unfamiliar Sublime Text 2? Why did I decide that it would be cool to go back to my roots and decide to write a game in C rather than using something more familiar like Java and libgdx, or Processing. What possessed me to abandon the tried and trusted, ancient sprite editor that I know like the back of my hand in favour of the latest, greatest version that promised better animations, but had such an awful interface that I spent a good half hour wondering why all of my animations were upside down before realising that I hadn’t checked a box hidden in the byzantine depths of its new user interface?
In the end I abandoned C and fell back on Python and Pygame, and reverted to the old sprite editor, but I wasted so much time that should have been spent on the game.
I failed to schedule my time. Designing the game itself took a good few hours. Add that to the amount of time I spent setting up the environment, then abandoning half of that, and it was nearly the end of day 1 before I got down to coding. The only deadline I had was to submit a game before the contest closed – at least that’s one thing I did right.
I made a game from scratch. The Ludum Dare rules say, “all game code and content must be created within the 48 hours.” That’s true, but there are plenty of tools out there that raise the starting point. I spent way too much time trying to reinvent a rather wobbly version of the wheel; time which could have been spent on making a fun game.
The sound effects were inconsistent. At the risk of offending nearly everyone, I think it’s fair to say that the sound effects in most Ludum Dare game are rudimentary. But at least they mostly go together. In my case, I managed to record some hilarious one-liners for the main character in the game, but as I didn’t plan my time effectively, the rest of the sound effects were limited to a few random noises generated by bfxr.
There was no music. Some of my favourite games have great music. In fact, when I think about my favourite games one of the first things that pops into my head is the music, and that goes for anything from Tetris, to the Monkey Island series and Orcs Must Die. Good music takes time, but it isn’t a big ask to come up with a simple loop that sets the mood for the game. But because of my lack of scheduling, I didn’t even have time to open the music program.
I was too easily distracted. Its exciting to connect with people on Twitter to see what they’re doing during the competition. But it really doesn’t get games done.
The audience was limited by my choice of platform. I do a lot of Python programming, so for me Python and Pygame were a good choice (after seeing sense and dropping C). Unfortunately I didn’t allow enough time to package the game as an executable, so the only people who could have rated it were people who already had the correct versions of Python and Pygame installed. I suspect that most people who saw the requirements just said “meh” and passed it by. And I would have done the same in their position, because there were over 1,000 games to rate. Given a mountain of that size, I’m going to play the ones that are easier to try because they’re web-based, or the ones that have a well-known author, and I suspect that there are very few people who will tell you otherwise.
The screenshot was dull. I should listen to my own advice on this one, as I’m always banging on about the importance of a good screenshot. My game didn’t stand out at all on the View All Entries page because my screenshot was dark and uninteresting. That, coupled with the fact that it was a Python-only game, didn’t help me to get any ratings.
What should I have done?
Despite the magnitude of the failure, I still enjoy taking part in Ludum Dare and I love the challenge of bringing the elements of a game together in such a short time. But it is infinitely more fun to do well at that challenge and, most importantly, to create something that people want to play. So let me turn this over to you. You’ve seen what I did wrong. What should I have done to prevent these mistakes?
Hi! I'm just starting to learn about game programming and related stuff. I'd like to know... which music program do you use? I've tried with FL Studio, and it seems relatively easy to use. Is that a good choice? Or game developers prefer other, maybe better programs? Thank you.
ReplyDeleteI can't claim to be any good at it, but I use LMMS - Linux MultiMedia Studio (http://lmms.sourceforge.net/)
DeleteThanks, I'll take a look at it.
ReplyDelete