I woke up Friday morning to learn that there was this thing called Global Game Jam happening at UT this weekend - it's something that sounded right up my alley, so I gave it a shot. Basically you get together, form groups, and develop video games in 48 hours. I chose to fly solo this weekend, since most game developers don't have a background in JavaScript and I like a challenge.

This was a  good opportunity to make a game for my new project, which now has a name: clay.io. This game had to be simple because of the time constraint, so I set upon an idea similar to a mini-game from Mario Party. The premise is, you, and 1-3 others are on a platform, and have to duke it out until one person comes out on top. Of course, I added my own flare to the game as well.

The game uses WebGL, to render 3d graphics right from the browser without plugins, and a combination of node.js and socket.io for the multiplayer networking. To help make WebGL a bit less painful, I used GLGE. For the 3d-modeling (if you can even call it that...) I used sketchup. That's definitely the weak point of this game: the art. All of this was done in less than 48 hours by someone who doesn't consider himself a game developer. I'm surprised more people aren't hopping on board with WebGL yet.

Here's a quick demo video - I'm happy with the results so far:

You'll see I just have two Chrome windows open, showing the multiplayer support. It's kind of lame watching me fiddle with it by myself, it's much better when actually playing ;) Packets between the server and client are being emitted 10 times per second, much less than the typical 20-30 per second - interpolation takes care of everything in between.  The player can be controlled with either the mouse or keyboard, and the goal of the game is to survive the longest.

There are 3 abilities to help you survive. One is 'stomp', where if you jump in the air and hit the "C" key above you opponent, it will smash them and they won't be able to move for 1 second. The second is "Push back" - which is something you can use to prevent an opposing player from getting too close to you, or to try and push them off the edge. The final ability is just "Attack" - if you get behind another player and press "R", it will damage them. 5 hits and they die.

As you'll also see, parts of the platform are constantly rising and falling, with a short warning shake beforehand. This adds another dynamic as you have to make sure you don't fall off.

I was able to get the game to a playable state, with all the features I'd initially written down. However, it's still not at the point where I want to release it. There's a bit more polishing to do before that - but once it's ready I'll have it released within clay.io. Right now it's just 2 players max, but I programmed it with more in mind so it'll likely be 3 or 4 players in 1 game at a time (it's more interesting that way).

That's all for now - I'm running on 90 minutes of sleep in the past 31 hours so it's time to relax, watch the Pro Bowl and get a good night's sleep.