ThunderStorm Post-Mortem

(I’ve uploaded updated builds of ThunderStorm, which allow users to remap their gamepads’ right analog stick. I encountered a gamepad today which had mapped the right analog stick to axes 4 and 5, bizarrely enough. If you’re having this sort of trouble with your gamepad, you might want to download 1.0.2. If not, there’s nothing new in the build.)

So that’s another Game in a Week in the bag. For a while on Sunday, I was seriously contemplating what I’d do when I missed the deadline; whether I’d relabel it as a “Game in Another Week” and work on it for a second week, or whether I’d release what I had and put it in a different category.. perhaps “The Space Under the Stairs”, or some such. Thankfully, I don’t have to figure that eventuality out yet. And with any luck, the things I’ve learned will help keep me from coming as close as I came on ThunderStorm.

What I did right:

  • Last-minute hustle to put the game together, when I did finally stumble onto a viable game design.
  • Willingness to step away from the computer, even late on Sunday, when I needed to think about design issues. Being close to the computer makes design issues feel like they can be solved by more physics, when they really can’t.
  • Having the online commitment to actually produce a game within the week is what made it happen in the end. If I hadn’t been posting and blogging about it all week, I’d have given up and gone to watch television. If you want to do something that requires creativity and a lot of work, I can testify that the best way to force yourself to get it done is to post a deadline for yourself online, and make sure all your friends know about it.

What I did wrong:

  • By far the biggest mistake I made was that when I selected the “cloud” theme, I didn’t brainstorm about the right things; I brainstormed about situations I could put clouds into, and about ways that I could use Box2D, and about ways that I could use the work I did on VectorPhysics in a cloud-based game. This lead me into a lot of interesting physics ideas which turned out not to be fun in an actual game.
  • What I should have done is follow the tenets of experimental gameplay programming; I should have started by brainstorming about the properties of clouds. Once I started in that direction (in desperation on Sunday afternoon), it was actually pretty quick to reach the basics of ThunderStorm.
  • Didn’t step away from the computer often enough. Those who have looked at the source code will have seen how much stuff I did that never got used. There’s VectorPhysics-like drawing of objects, there’s a run & jump control scheme, there’s a grappling hook, there’s all sorts of stuff that I was desperately making when I was searching for a design. That was all wasted time that I should have spent thinking about a correct design, instead of straining my brain trying to use technology as a replacement for design.
  • In retrospect, I’m not sure what I think of the graphic style. It looks a little like a really cheap Flash game. I’m certainly not getting much value for the graphic engine under the hood. I suspect I may have strayed a bit too far from the core “vector graphics” look that I’ve generally been going for. But I’ll admit that it’s nice to finally have something that doesn’t have a flat black background, at least.

In retrospect, I’m quite happy with how ThunderStorm turned out. I’ve had some fun with a co-worker, trying to work out an optimal play strategy (Our favourite strategy involves getting all your thunderclouds lined up on one edge of the screen, and firing as fast as you can toward the opposite side of the playfield. It’s pretty effective, but very dangerous, as if a single happy cloud makes it through, the happiness will spread almost instantly through your closely-packed thunderclouds), and another tried to convince me to continue development on the core “controlling multiple agents simultaneously” idea behind ThunderStorm. And I may do that.

But probably not until after I revisit Muncher’s Labyrinth. And I’m not planning on doing that any time soon, either. :)