With just eleven hours left before judging ends, I guess it’s time to write an eleventh-hour postmortem post, post haste!
http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=22869
Results
This was my first Ludum Dare. It’s been a lot of fun! My game is playable, though it needs a lot of tuning yet. I’m very happy with how it looks. I expect to keep improving it post-comp.
What Went Right
1. Inspiration.
I woke up Friday morning with a game concept already beginning to form in my mind. As I warmed up my tools (Flash CS4, Bfxr) the idea got clearer and more compelling. When the theme was announced (Friday night here), it fit perfectly. That was lucky, because by then I really liked it; I’d have had a hard time throwing it away and starting over. (I threw away all my prototype code and started a fresh project, though.)
2. Concept.
I’d been reading about particle physics again — trying to grok our crazy universe a little better — and I was captivated by the elaborate, almost Art Nouveau spirals revealed when particles collide in a bubble chamber. These spirals are happening ALL THE TIME all over the universe, we just don’t usually get to see them. I thought a game that simulated these pictures would be fun to stare at.
At first I wasn’t sure what the gameplay would be: trying to create antiparticles? trying to avoid antimatter annihilations, or cause them?
Finally I settled on a simple, pseudo-educational approach: you discover elements by combining protons, neutrons, and electrons in the right combinations. You just hold them together for a while in some kind of magical field constriction, and poof, you make Hydrogen or whatever.
3. Minimalism.
As a competition theme, gee, that’s not too interesting, guys. Really. But it worked well for my game. I had been thinking about how hypnotic a simple old-school game like Missile Command could be. With simple controls and a simple task, you can really lose yourself in the gameplay. I wanted to explore that Zen style of fun.
The minimalism theme suggested taking that to extremes: I would make a no-button game! You would swish the mouse around, without clicking, as the game’s only control. (In fact you do need to click sometimes, but only to show and hide the scoreboard. That’s really a pause button, not part of the gameplay.)
I even thought about making the hero/cursor area invisible, except for the way it bends the paths of particles around it. But it was too hard to control an invisible avatar, so I settled for a very subtle one: a faint targeting hexagon and a fainter rain of neutrinos.
Furthermore, the gameplay is so minimal, it’s optional! There’s no way to lose. If you stop moving the mouse, your chance of discovering anything goes down, but the game just keeps playing itself. (Indeed, it will usually discover hydrogen eventually, without help; maybe even helium!)
There’s also no way to win, exactly. You just make as many discoveries as you can. Which is realistic: the periodic table doesn’t stop, it just trails off into tremendous impracticality.
(At present the game is very tough. Hydrogen is easy to discover. Helium is neither easy nor hard. Lithium is hard, and if you manage to make Beryllium, send me a screenshot of your scoreboard!)
Though players might (and do!) desire on-screen hints about the recipes for various elements, the minimalist philosophy led me to leave out that nicety. After all, the game is about making those discoveries yourself, so really you should just buckle down and experiment. (Or you can just look it up, since I used real atomic weights and numbers.)
4. Not Stressing.
I didn’t want to spend my whole weekend worrying about running out of time. That’s not fun. I made a deliberate choice to take it easy, and treat my first Ludum Dare as simply a vacation. I knew I could fall back to the Jam if necessary, and my game idea seemed pretty small, code-wise. I would follow inspiration and let the code write itself at its own pace, and focus on enjoying the process. And I certainly did: the code was fun to write, there weren’t a lot of bugs, and the game is kind of a neat little thing that didn’t exist before.
It was also fun hanging out on the IRC channel. I don’t think I’ve done that in about a decade, maybe two.
What Went Wrong
1. Not Stressing.
Despite the very real benefits of a relaxed approach…a bit more hustle might have helped. I spent a pretty silly amount of time polishing the game’s appearance before working on the gameplay, and I did run low on time at the end. Next time I might try recording a development time-lapse sequence, or blogging more often, so that I won’t feel as comfortable without steady progress.
2. Doldrums.
Sunday was, from a productivity perspective, a disaster. For some reason I just couldn’t get moving. I knew exactly what code I had to write, and I even knew I would enjoy writing it, but I found that I was mostly staring at the screen doing nothing, and the clock was jumping ahead an hour or two every time I looked at it.
I blame the weather. It was one of those rainy Sundays that seem to dampen everything, including enthusiasm. Bad luck…I’d been hoping to work outdoors, or at least take a walk now and then.
Still, I forced myself to make bits of progress now and then; the day wasn’t a total loss. Just disappointing.
3. Tuning, gameplay, lack of, total
I spent so long making the game look just right, and then sitting around uselessly for no good reason, that I ran out of time to tune the gameplay. So the controls feel about right, but it’s way too hard to make progress. Oh well, I’ll fix it up in a future version.
4. Preloader
Of course, when I went all weekend with almost no bugs in my code, I should have known something would go wrong at the last minute.
Although several early versions had worked fine when posted online, the final game froze halfway through loading the title screen. Sometimes. I think the increased file size from the title screen itself may have contributed. (Correct preloaders for Flash games are more arcane than you might guess, if you haven’t looked into the subject. Maybe even if you have.)
I’d already switched from Compo to Jam mode, so I should have just dropped in a working preloader from another project. In the end, that’s what I did, but first I spent most of Tuesday trying to debug the problem. Sigh.
5. Website
I thought posting my game on my website would be the easy part. I’ve done that sort of thing before without any problems.
Yeah, on my old site. I wanted to put this game on my new site, which runs on WordPress.org software instead of raw HTML. That introduced some complications, both technically and philosophically. (For example, I had to decide what the URL should be for an untitled work in progress. I already have a locked private-beta page, but that’s not the same thing at all.)
Anyway, it wasn’t anything major, but when I tried posting my game and blogging about it a little, I uncovered a bunch of website-maintenance issues that I suddenly had to resolve…which is why this postmortem is coming so late.
Conclusion
All in all, this was a blast. Ludum Dare was a great excuse for a weekend coding project, a pleasure I hadn’t quite realized I’d been missing lately. I’m looking forward to doing it again sometime soon. (Probably not in August, though.)
http://www.ludumdare.com/compo/ludum-dare-26/?action=preview&uid=22869