Petition Damsel Post-Mortem

So it’s been a couple days since I finished Petition Damsel and posted it on the site (For the few folks who have been having troubles with the Win32 binary package; I’m pretty sure that version 1.0.1.1 has finally fixed the “incorrect configuration” problem).

I’ve had some time away from Damsel, I’ve played partway through Moai Better Blues, and a little of I Wanna Be the Guy (I’ve made it about two thirds of the way through the second screen; took me well over an hour!), and so at this point, I think I’m far enough away from the whole experience that I can begin to evaluate how it went.

So without further ado:

What went right

  • Using VectorStorm: With VectorStorm as a basis for the project, I could really jump right in and implement game concepts very quickly. It gave me support for changing screen resolutions, visual quality, volume levels, and all sorts of other “Quality of Life” stuff that I never would have had time to implement within the week, if I had started from scratch. It also meant that I could blatantly rip off code that I’d already written, such as the UI that I wrote for my ‘Asteroids’ clone in VectorStorm.
  • No code Monday&Tuesday: Restricting myself from doing any coding on Monday and Tuesday meant that I could really focus on getting the design right, rather than risk coding myself into a dead end.
  • Good quality music: I love Magnatune. Seems like whenever I need music for a project, I can find exactly what I need there. In this case, the new album from Ehren Starks had exactly the moody piano music I wanted for the introductory quote reveal. Finding a suitably manic piece to move into was much harder, until I happened to bump into a piece by the Napolean Blown Aparts which I’d heard a year or two back, and which turned out to be just what I needed. I’ve bought an awful lot of music from Magnatune over the years, and their licensing allows me to use their music in noncommercial projects. So in my book, they rock. :)

What went wrong

  • Using VectorStorm: I don’t know that VectorStorm was really the right choice for this type of game. Vector graphics have a kind of old-school cred, but they also tend to feel a little serious, where I was trying for a more lighthearted, slightly madcap feeling for this game, and I feel like the vector graphics took away from that.
  • No code Monday&Tuesday: In practice, the best parts of the design only occurred to me after I started implementing the game; they were triggered by actually playing the game. Having the playable version actually helped the design process.
  • Difficulty of creating sprites: I hadn’t run into this before because I had never created a vector sprite more complicated than the ship from ‘Asteroids’, but it’s actually really difficult to create vector sprites as complicated as the Petition Damsel for the VectorStorm library; I basically had to draw them freehand on graph paper, and then transcribe points manually. Next time I do something like this, I want to have a vector sprite editor tool which will let me design these objects interactively.
  • First playable very late: My “first playable” version of Damsel wasn’t ready until Sunday morning; only about twelve hours from the final deadline. I really should have had that on Thursday, so that I’d have had time to tune the gameplay, instead of having to release whatever I happened to implement in the final hours of Sunday, with no time to experiment with variations. Next time, perhaps I’ll start coding on Tuesday, and hopefully have a first playable much earlier.
  • Overambitious design: The design I had at the end of the design period was far, far beyond what I could actually realistically achieve within the remainder of the week, and was radically cut down at the last minute on Sunday. In the future, I need to generate far simpler designs from the outset!

So there we go. All told, I’m extremely pleased (and was rather shocked) at how well Damsel turned out, bearing in mind all the troubles I ran into along the way. It literally came together during during the last nine hours of the week-long deadline, as I was trying to write out all the bits of design that I simply didn’t have time to implement.

I’m going to address a bunch of these issues before or during the next ‘Game in a Week’. I’m currently hoping to start the next one in a couple weeks. Gives me some time to write that vector sprite editor, first. :)