Terraformer Breath Post Mortem

Posted by
April 24th, 2012 1:54 am


What went right:
-I ended up doing everything I explicitly planned to do.
-I learned a little bit of Javascript/HTML5 (still not exactly sure which is which to be honest). Actually LD is the reason I know any Javascript/HTML5, but most of the learning happened before the actual event.
-The exploratory nature of the game is close to how I want it. I wish I could reward the player more for exploring, but I didn’t have time to code minor prizes or stick them in the world. But I like that there’s multiple paths to success and that you aren’t always exactly sure what you’re supposed to do next. With no user feedback (during the contest), it’s possible it’s too hard to figure out what to do next. Hm. Maybe Ludum Dare games should aim to be easier since user feedback is hard to get, if not impossible.
-I like that the dustinator has more than one use and that the items complement each other. I wish there were more multiple use and complementary items.

What went wrong:
-I think the game has little replay value. Unless you want to continue exploring the star system (I feel like that’s unlikely) or do a speed run or something (definitely exceptional). I’ve thought of two solutions so far. One: procedurally generate the world so it’s unique every time. I think I avoided that because I figured it would be impossible to make the exploration how I wanted it. Maybe it would’ve been in the 48 hours, but it seems easier now, perhaps because the Terraformer Breath level design I did has solidifed in my brain after sleeping, and now I can more easily think how to express it in code. I’ve also been toying with the idea of abstracting procedural world generation so it can be created once and used on many games. Supply the player’s abilities and goals, some world generation functions (like makePlanet), and a simulation function, and let it make a world for you. Anyway, two: have more random elements. Which is really a superset of the procedural thing, but I mean even in a static world, other random elements can give replay value. Like smarter enemies that do something different every time or randomized planet motion or something.
-I chose to use HTML5/Javascript to reach a larger audience. I think this was the wrong choice. I’m glad for what I learned and I wouldn’t go back and change it, but I think next time I’m going to stick with my preferred C++/SDL/OpenGL kind of stuff. I felt so limited once I saw what people who didn’t use HTML5/Javascript made. Javascript debugging is horrible compared to C++ debugging (unless I just don’t know what tool to use — I was using Firebug). Not to mention I’m a fan of lightning fast barebones programs, and Javascript doesn’t seem to cut it.
-Though so far people seem to enjoy the disembodied voice, I definitely thought I could come up with a lot more funny things for it to say. I guess it’s one of those laws. Divide how many jokes you think you will think of by 3, and that’s how many you’ll come up with. Not to mention it was hard to think of things that were funny and not too insulting to the player (I don’t think that’s a trait of my personality, but it’s possible).

What’s going to happen (before the next contest in which I partake):
-Expand Dan’s Tile Maker. The atmosphere tiles should’ve been easily creatable from some transition function. I decided not to add in the functionality during the contest and just Gimp/MSPainted them. I could’ve created the atmosphere tiles way faster, and made them all pretty and texturey.
-Finish a midi editor I’ve been working on and get it distributing. The vim (but hopefully more intuitive — not that vim isn’t intuitive, vim lovers!) of midi editors.
-Make and distribute a library that uses SDL and plays midi files through a bunch of signal processor units you can configure to make instruments out of.
(If any of those things exist already, tell me!)

Leave a Reply

You must be logged in to post a comment.

[cache: storing page]