Test Harness in a Week

So I’ve decided not to do a Game in a Week this week. Instead, I’m going to implement a third test harness game to be included in the main VectorStorm distribution.

This third game test is currently titled, “Space Maze Express”, and is intended to be a stress-test of VectorStorm’s physics functionality. This game will be a side-view game with gravity, and will be set inside a slightly less cramped version of the maze from Muncher’s.

The player will take the role of a deliveryman, picking up delivery “fares” and delivering them elsewhere inside the maze, using the classic “Crazy Taxi” system of adding time to a meter with each successful delivery. (Wait.. didn’t I say that the next game I made wouldn’t use an ‘infinite lives, countdown timer’ system? Maybe I should leave this as an open sandbox game, with no game loss conditions).

Anyhow, the trick to the game, of course, is that the maze is vertical and there’s gravity to contend with. And the packages which the player picks up will have their own mass, and will be held to the player’s ship by a tractor beam or rope. This is all intended to be a big performance test of the Box2D engine, since the maze is likely to have several hundred collision objects in it (the mazes in Muncher’s Labyrinth tended to have around 230, even before you started thinking about the meat or the player).

Incidentally, I’ve now converted VectorStorm’s collision system over to using Box2D under the hood. Its behaviour and interface from game-side code is very similar to before; Asteroids only required trivial modifications to get it working with the new Box2D system.

From a game’s perspective, the main difference is that it’s no longer possible to continue using the physics with collisions disabled.  I still need to write code to create more correct collision models for use by Box2D; currently it’s still always using bounding spheres.

The Box2D integration is now committed to the subversion repository, for those who like to look at the source code.. though I haven’t yet fixed up all of the various project files. I’ll get to that later in the week!  And of course, once there’s enough of Space Maze Express to be vaguely playable, I’ll start providing updated binary builds.