When I started with the 7DRL game design challenge, I’d set a
timeline. I would need to get all the game mechanics done by last
Sunday, so I could focus on adding content to the game, doing
balancing, playtesting the game, polishing it to a fine sheen, until
today it would burst on the scene like a supernova. I’d be getting
piles of emails from indie game studios asking if I wanted to work on
some cool projects, doors would open and angels would fly out begging
me to expand the game into some monster AAA title and I….
Sunday came and went, and all I had done was my map generation and a
player character and a single rat following each other around, trying
not to get in each other’s way, but entirely unable to harm each
I managed to get the inventory system in and scatter some items
around, bring a few more monsters up and give them a very rudimentary
AI. That was Monday; I was so tired from that I couldn’t work on it
Tuesday, and Wednesday, I watched American Idol and played Star Trek
Online. I was in real danger of losing my will to follow this through.
Why? Because the stuff I’d tossed together in a hurry to get to that
point was not a good foundation on which to build a game. PyGame, the
graphics engine upon which my game is built, was redrawing more stuff
than it needed to do. My game state was scattered all over two dozen
classes. Hooks to routines everywhere.
I had to force myself into the chair Thursday after work. I started
switching things around, building more, building more; I got back my
momentum. When I got home Friday, I sat down and worked on it until
3AM, and got the basic mechanics FINALLY DONE. I collapsed into bed.
Saturday morning — this morning — I was up at 8 coding, and by noon I
was done. I’d added many different kinds of monsters, a boss battle,
and a way to win the game. A dozen playthroughs had brought the game
to some sort of balance.
I recorded the last of these playthroughs for the video. I decided it
would be even more fun with some background music, so I spent about an
hour trying to improvise something on my alto recorder. (The game has
sound effects of its own, courtesy of a free sound effects site I
found, but no music).
Somewhere in there, I ate brunch, if you can have brunch at 3PM. I
brought the raw video and music track in Windows Movie Maker, added
titles and credits, shaved off about five minutes of the playthrough
because (a) it was boring and (b) it was too long for YouTube, and set
it uploading. You can find it at the end of this post (unless you are
reading this in Google Buzz).
I am GLAD it’s over! But I am equally glad I did it! I’d been playing
around with PyGame for awhile, but never did much more than little
things with it. Now I have the confidence with PyGame to be able to
move forward and do better things. My initiali design was just to make
a map that looked drawn on graph paper and have toys be all the
monsters, and it worked wonderfully.
I’m so pumped, now. I am thinking about a next project. I want to do
another rogue-like, but a full game this time, one with a plot, boss
battles and everything. But first, I’d like to check out either the
Ogre3D or Panda3D engine and write a pigeon-based scrolling shooter.
Scrolling shooters were my favorite sort of arcade game back in the
Golden Age of Video Games — the 80s. I’ve never written one!
Source code: http://westkarana.com/wp-content/uploads/2010/03/7DRLWoR-final.zip