I’ve opensourced the repository holding my tile-based game engine. I worked pretty solidly on it for about two months (and put a bunch of videos up at reddit.com/r/hutch/), but it’s become a back-burnered project, so I’ve donated it to the html5 gamedev community.

The game was written before i developed capt, so all the code is located in public/scripts/ and hosted by rails. It’s designed to work with the cutegod tiles, and it’s probably a real PITA to get the thing set-up and running. I’d like to extract the coffeescript source and convert it into a capt project, so that it’d be easier for people to get the source up and running (and also start adding specs for everything), but don’t hold your breath on that one.

Orthographic 3d

The projection is orthographic, with y and z sharing the same axis (depth is faked using the z-index). The engine is designed in 3d, so positions are expressed as 3-vectors. Collision detection is done in the player model - if I started work on this again, I’d probably go for an architecture where classes have components, instead of a o-o big hierachy tree.

Multiplayer

There is some websocket multiplayer support in the game. The ruby-based server was basically just to prototype and experiment with realtime multiplayer in the browser. In practise I’d probably use a node-based server so that you didn’t have to duplicate code from coffeescript to ruby (for example the vector class, player class, etc, etc).

Future

I’m still very interested in multiplayer games in the browser. I’d love to build something like minecraft, second life or terrarium, where it’s basically a sandbox for people to build worlds and gadgets for other people to explore - but it’s obviously a massive project, and if I did more work on html5-gaming, it’d probably be as part of a team.