Let's dig this corpse up! Short Fuse turned out alright. It's definitely not among my favorites that I've done, but I think it's got solid (if limited) gameplay, and decent polish, since I actually got levels and level selection and instructions in there. So let's see how we do this postmortem thing...
Summary
I followed my usual 48-hour plan. Friday night, as soon as the theme was announced, I walked away from the computer and watched TV and that sort of thing, mulling over chain-reactive possibilities. My main concept right off the bat was a shooter where you fly around and blow guys up, and those explosions blow more guys up. That's guaranteed fun. There's just no way it couldn't be exciting and intense. Would've been a no-brainer and easy to code. I youtubed up some footage of Bangaio, because that seemed easier than setting up my Dreamcast to see it in person. I remembered Bangaio had something like that to it, but it turns out it doesn't - you get rewarded for # of explosions at once, but explosions don't cause chain reactions. Still, Bangaio's style would've been my model - side-view, free-scrolling, massive firepower.
While that idea was constantly bubbling around my head, I actively sought other ideas for two reasons. One, I thought other people would be making exactly that (with only 5 games left to review, it appears that nobody has, though some are definitely in the same vein). And two, it was just too obvious and not a stretch in any way. I knew it would be fun, and it wouldn't be anything new. If I'm going to waste my weekend, I want to do it experimenting. So I needed something more inventive. Another idea I had was to make a side-scrolling fighter type thing, where you swing a chain around to bash guys, and when they get hit, they fly into other guys to hurt them (badguys reacting to a chain, along with actual chain reactions). I liked that idea, and I probably should've bravely tackled it. Some experience with chain physics would've been nice, but the chain physics also scared me off.
I had a really hard time thinking of anything that wasn't The Incredible Machine, or the aforementioned two. Then, inspired by something I can't recall, possibly IRC comments, I decided a miner hauling a leaky powderkeg around would be good. The idea completely fell into place from there, and I drifted off to dreamland. Oh, in a twist, I did implement my traditional "black screen that responds to the ESC key" on Friday night, not waiting until Saturday.
Saturday, I moved on to make a tile system, then a level editor. The game couldn't work without that, so I did it right up front. I didn't even have fonts at this point, so I had it displaying which level you were editing with little hash marks. Once I did that, I made a level, and developed the play control that runs you around (I find that super important - I always work on that until it feels good to move, not just "if press left, go left"). From there, the particles and stuff came along really fast (I kind of combined particles and game objects into one - the gunpowder was a particle, and the particles of the fire were the actual thing that caused explosions). Then I threw in sound early on, thanks to SFXr, and pretty much had the gameplay in at that point. I did the artwork, so I could see what kind of font I needed, then implemented fonts and chose one (I don't actually remember what it's called... some basic font that's nice and chunky. Chanson?), then got the scoring in, living and dying, and an end-level score tally. So I went to bed on Saturday with a finished game that had, I think, 2 levels (and to choose one to play, you had to change a constant in the code).
That all made Sunday really easy - I spent it developing the menu system, high score storage, and making the 10 levels. I also spent a while tweaking the zooming feature, and adding a bunch of features to the editor to make those 10 levels a whole lot easier to make. I also spent a while trying to make some music in Musagi, and that went so badly I didn't even bother to inflict it on anyone. I was done with about four hours to spare, and I walked on out of there feeling pretty good and very tired of looking at the computer.
What Went Right
- Graphics - I had fun pixeling! I decided at the beginning to do 16x16 tiles, and so I really had to get down and dirty with those pixels to make something recognizable. I ended up making multiple floor and wall tiles, which randomly get scrambled when the level loads. That ended up making the floor really nice, I think. With the walls, you can't really tell.
- Sound - Not my doing, but thanks to DrPetter, awesome sound that complements the pixels very well (and it was one reason I decided to do 16x16 tiles). The one sound that gets lots of positive press is the dying scream. That actually popped out of the Randomize button almost exactly as you hear it. I tweaked it a tiny bit, but it was very nice right off the bat, and I knew I had to use it.
- Simplicity - I came up with a really simple idea and implemented it. That made things go very quickly and easily.
- "Simulation" - Nothing is 'cheated' in this game. The fuse lights at the spot you start, and then burns any powder within a small radius, starting another fuse. Even though the powder falls a little randomly, this worked out, without being overzealous, almost immediately. It took a few tweaks, but it works. Similarly, when a barrel explodes, it chains to other barrels entirely based on where the particles randomly happen to fall. That, too, just works. There are very rare instances where a barrel you might expect to explode doesn't, or where more than you expect do (or where YOU do, when you think you're far enough away), but it's all well within the realm of realism and predictability. It just plain worked! And the fuse never goes dead on its own, which is a surprise. I thought I'd be fighting that for hours.
Happy Accidents - The simulation stuff above may be described as this. I'm really glad I didn't have to figure out how to do that stuff by force if it didn't just fall into place. But there are other more specific ones: like the barrel explosion that shoots so vertically. I knew the explosions needed to be small, so one barrel didn't set off others halfway across the screen, but making it a vertical blast was an accident. It looked so cool, I kept it. If I hadn't, the explosions would look puny and insignificant, since they can't spread very wide. Also, when you get exploded, there was a bug where it continued to constantly re-explode you every frame. It is a bug, but it is awesome, and I left it. If you don't know what I mean, stand still when you get exploded. It's a great sight. The moving when you get exploded is also an oversight that I kept because it was fun - after being exploded, you can keep playing for a second or two, running around as a pillar of flame. And in relation to that, of course, I've already mentioned that the dying scream was a happy accident of the randomize button. So, in an abrupt turnaround, fate conspired to help me this time, instead of stomping on me.
What Went Wrong
- Simplicity - Unfortunately, the idea was so simple, that I didn't have that much fun with it. While it's not a game like any I've ever done before, 95% of the work was everything I've done before - running around a tilemap with particles. Not a real exciting weekend. The only notable challenge (which I pretty much failed) was...
- Zooming - The feature where it zoomed in on the level if the level was smaller than the whole play area. I could never wrap my brain around the different elements of that and get a proper zoom (it was the panning that was a problem). Any solution that worked would break with a different level. In the end, I just added a display to the editor showing where the center of the screen was, and a feature to let you scroll your level around in the editor. With that, I just manually centered every map, so that the zoom-in doesn't have to pan! Horrible solution, but it got it done.
- Music - I tried, and failed miserably. I think it's for the best that the game remains musicless.
Conclusion
It went well! I got a good solid game. It's not my favorite, but I found it fun to play, and the sounds really spice it up. And I think the old miner is really cute, no matter what you think. I mean, come on, I got flannel working in 16x16 pixels!
In the future, I still hope to come up with more inventive and original LD48 ideas, though. I tried hard this time (should've made that chain fighter thing), but ended up making something that just isn't too surprising or new.