{"id":1855,"date":"2011-01-02T18:22:11","date_gmt":"2011-01-02T07:22:11","guid":{"rendered":"http:\/\/www.vectorstorm.org\/?p=1855"},"modified":"2011-01-02T19:12:17","modified_gmt":"2011-01-02T08:12:17","slug":"gogogo-a-post-mortem","status":"publish","type":"post","link":"https:\/\/www.vectorstorm.com.au\/2011\/01\/02\/gogogo-a-post-mortem\/","title":{"rendered":"GoGoGo, a post-mortem"},"content":{"rendered":"

So, some discussion on GoGoGo; \u00a0what went well, what didn’t, and what I’ve learned from the experience.<\/p>\n

As I mentioned before, Increpare<\/a> proposed an end-of-year game jam (link to his game<\/a>), and I absolutely jumped on-board. \u00a0I’ve been sitting out of most community game-making events for the past year or so (TIGSource competitions, Ludum Dare, etc), and I really shouldn’t have been. \u00a0Felt really good to be taking part in something again, and actually kicking something out the door in a reasonably timely manner.<\/p>\n

Many years ago, I spent a summer working at a spot called Virtual World<\/a> (we had 24 of the mark 2.0 cockpits — quite old even when I was there!). \u00a0It was good fun; \u00a0get good at a couple of video games, train others to be good at them, some light maintenance, awesome co-workers, etc. \u00a0One of the games there was a game called “Red Planet” (training video link<\/a> — haven’t seen this in ages, but sure enough, someone’s put it up on YouTube! \u00a0I love the Internet! \u00a0I used to see the last few seconds of this every ten minutes, as the next group of players were coming out of training), As you can see in the video, this was a game about a race between hovercraft in mining canals. \u00a0Its vehicles had really interesting handling; \u00a0you could slew from side to side, turn left and right, and control your altitude (but not pitch up and down). \u00a0The lower you were to the ground, the faster you’d be able to go. \u00a0And, of course, there was a limited supply of rocket boosters, which once lit, couldn’t be stopped. \u00a0Also, these graphics were pretty cutting edge, back in those days. \u00a0It’s hard to believe, looking at them today! \u00a0But I’m a cranky old programmer, now. \u00a0You kids, get off my lawn! \u00a0:)<\/p>\n

Anyhow, ever since then I’ve kind of missed that game. \u00a0I’ve always played around with the idea of making my own variant of it. \u00a0And so here I thought, “Hey, I could quickly throw together some vehicle handling, make some procedural tunnels, and give people a “distance” score, like Canabalt<\/a> and similar ‘how far can you go’ games.” \u00a0The idea was to take the procedural model-building code from MMORPG Tycoon 2, and just use that to easily build mining shafts to fly through.<\/p>\n

Plus, it’d give me a chance to write a really neat vehicle-following camera. \u00a0Vehicle-following cameras are really tricky to get right, and I haven’t gotten to make them very often (my last one was for the racing segments in Viva Pinata: Party Animals<\/a>), so it’s an area that I’d like to get to practice more often.<\/p>\n

<\/p>\n

Well, the first major hurdle that I hit was remembering that VectorStorm actually has no 3D physics system in it. \u00a0My first hour and a half was spent investigating ODE, Bullet, and various other 3D physics middleware libraries, before deciding that this simply wasn’t going to work. \u00a0If I was going to make a physics-based game under this deadline, I really needed to already have the physics middleware integrated in a way that I was comfortable with.<\/p>\n

So then I was left with a choice: \u00a0Do I make the game in 2D using Box2D<\/a> (which already has nice bindings into VectorStorm — really nice bindings that I’ve never actually used in a real game), or do I kludge my own 3D physics?<\/p>\n

What worked:<\/strong><\/p>\n