Game Dev

This is my personal site for posting web workthings. Currently I have a number of HTML5 demos and other things available. Check the link list on the right hand side or keep reading below.

Follow me on Twitter. I like to chat about HTML5, Javascript/jQuery, Python, podcasting, game desgin, and industry happenings.

Dungeoneer - Ludum Dare #26


Dungeoneer is my second run at the Ludum Dare competition in which you create a game in 48 hours. The theme for this dare was "Minimalism." It runs completely in the browser and uses HTML5 technology.

Spoilers! (click to reveal)

I created a time-lapse video for this entire event. Check it out below (but beware spoilers).

Rat Dodge

Rat Dodge

Rat Dodge is the first HTML5 plaything I've created that I'm comfortable calling a "game." I wanted to see how difficult mouse tracking is with an HTML5 canvas game.

If I had to redo it, I would instead make the red dot representing the player accelerate towards the mouse cursor instead of jumping to the cursor spot at every "tick." Rat Dodge also highlights why moving to a more modern animation method with requestAnimationFrame (if available) instead of setTimeout would be a better idea for a fully realized product.

You can post your score to Twitter after you've finished - give it a shot!



Click or tap to explode. Fireworks is my go-to when introducing someone to the concept of HTML5. The idea that you can pull this up on an iPhone or Android device immediately, pull up a web page, tap the screen a few times, and see some fireworks is very surprising to many!

Fireworks is a more streamlined and enhanced version of the configurable explosions demo which I worked on first. All the configuration options can make some pretty neat alternative particle effects like smoke or fire, but at first glance it looks overwhelming and not at all interesting. Fireworks wins out with a "less is more" evolved approach.

Dynamic Pathfinding

Dynamic Pathfinding

Dynamic Pathfinding is the start of what could be a tower defense game. It's a study in implementation of the A* pathfinding algorithm for creatures as the user places obstacles for them to go around.

The algorithm could be improved substantially. When multiple creatures are on the page, the pathfinding does a lot of repeat work which is unnecessary. "Best paths" could be reused with a bit more tooling so that the entire algorithm wouldn't need to be rerun from scratch for every creature when a new obstacle is placed.

The Library of Madness - Ludum Dare #22

The Library of Madness

The Library of Madness was my first attempt at a Ludum Dare contest which is a 48 hour game jam. It is a fairly simple ASCII maze game, not too dissimilar from roguelikes of old. It has an abstract lovecraftian theme and features a "sanity" mechanic which depletes if you get too close to the denizens of the library. It is written in pygame and was my first project using that framework in any serious capacity. The one-track soundtrack was written using MilkyTracker, hand crafting the instruments with square waves and all.

Looking back, there are much better frameworks for this type of game, but it was a fun learning experience, especially working under that kind of crunch. Also, the game is seriously very hard the first time. It needs some balancing.

There are three time-lapse videos I took of the creation process during Ludum Dare #22 whcih show the workflow in real-time. My desktop background changes every 10 seconds which is why it is constantly changing.