First Ludum Dare — We Tried

Because I’m some kind of masochist, I set out to program this game entirely from scratch using only JavaScript and Canvas. With a friend covering the artwork, we set out to make a game that I should have known from the start was entirely too complicated for two people with little prototyping experience to finish within 72 hours.

Recluster In-game

The result of a few hours of planning was Recluster (name coined by my partner; recluse + cluster of rooms), a game in which you are the great evil who wants to lure heroes into your lair with treasure in order to kill them. The bulk of the game was to play out like a JRPG (the tentative name was VRPG, for Villain’s RPG, which is still shown on the opening screen next to the nearly illegible logo), where you watch as the hero fights trash mobs and collects items, then you control the mini-bosses guarding treasure rooms, then control your own boss character when the hero party finally reaches you.

However, before that, there needs to be a dungeon for you to dwell in. While the treasure rooms and composition of the hero party are locked in place whenever you set to start a new dungeon (though they are random each time), you are able to place each regular room in the dungeon and determine where the heroes enter and the tile upon which you wait. There are a few different room types, each would have different enemies for the heroes to face. This would let you strategically place rooms based on the hero party’s composition, or try to condition them to lack certain items that some monsters may drop. The trash mob spawn rates would also be slightly configurable, allowing you to make certain monsters appear more often in random encounters than others.

In the end, I spent too much time working on basic engine tech (rendering, user interface, pathfinding) which were all using strategies that I actually hadn’t tried before. To render, it uses three canvases, copying two background canvases to the main canvas to display everything. The canvas-based user interface is far too complicated to make sense in a Ludum Dare title and all written from scratch within competition time. I’ve never even used pathfinding in a game before, let alone wrote an a* implementation. Probably not the best idea, but I’m incredibly proud of what I have made. The game design exists, but you can’t see it in the submitted product. I’m excited to continue development on this once I’ve recovered from this stint. Good luck to everyone else.

Tags: postmortem