Postmortem: Save Yourself
I went into this LD with a bit of a cloud; the past two LDs I attempted did not end well. For LD25, I let my ideas run far, far, far ahead of my deadline and ended up with an incomplete grab-bag of ideas. For LD24 before it, I completely burned out trying to make a point-and-click adventure game. I’ve never made one before; I don’t even play the genre much. I, honestly, had no clue what I was thinking.
I came into LD28 with one goal – to come up with a single mechanic and make a game of it. Similar to Doggone, the better of my two previous entries. I think Save Yourself does a good job at this goal. As a game, it has some definite shortcomings.
Briefly, the game is an arena shooter (Robotron, Geometry Wars). When you die, time rewinds to the start of the level and your previous life replays all of its actions. You get another ship and must kill whichever enemy killed your previous life, as well as not dying. As long as you prevent your past life from dying, and live past when you originally died, you can do it again – you never died in the first place, after all, so you can still go back in time. Fail to save yourself and it is game over.
What went right:
- Scoping: I picked a genre I’ve built games in before and then went for a mechanic. Just a mechanic. No upgrades, no branching paths, no difficulty modes. First make it fun, then go for more.
- Lazy solutions: On death, I could have implemented a cool rewinding animation to go back in time; I thought this would take an hour or two and decided it was avoidable polish. Good idea. Also, my “deterministic” update loops aren’t, really. They are close, but not perfect. So, if a recorded player would ever die before it should have, I just flash a “desync” message on the screen and don’t do anything. Your recordings are invulnerable to everything but the single enemy that killed them.
- Taking it easy: I kept a normal schedule; hell, I called my game down with something like 9 hours left in the compo. I could have done that rewind animation, or added sound, or upgrades, or even something like progressive difficulty. Instead, I slept and was happy.
- Simple graphics: While this was my first compo game in WebGL, I’ve been toying around with it for a while. I made sure my (hand-built) engine supported normal maps and called that good. Comparing the sprite sheet to the in-game graphics shows how much detail that gets:
What went wrong:
- Visual aides: I tweak the color of any enemy that caused a previous death, but it really doesn’t highlight the difference and it isn’t obvious what is going on. Sure, I can tell, but I’m not sure others can.
- Graphics glitches: I was really lazy with my graphics; I’m using texture atlasing, but not doing anything to prevent mipmap bleeding. I could have taken the lazy solution and just put some padding in my atlas, but I thought the glitches didn’t look too bad. Also, my alpha is just completely wrong. Whoops.
- Features/balancing: I guess I decided not to do this, but the game could really have used either some form of ugprades, or a difficulty curve. As it is, the easiest way to survive a long time is to die, intentionally, every 5 seconds or so after your previous death. That lets you clear a bunch of enemies in your life, while not allowing too many to build up before your next life will come in.
