Calcium Crawlers

A hectic party game where you shoot and slip over bananas to stay in the arena for as long as you can.


Back when I still wanted to become a game programmer in my first year at HKU, I made this demo for a 10-week assignment in which we were asked to create a dungeon crawler with randomly generated dungeons.

I saw this project as an opportunity to dive into my fascination for turn-based combat systems, combining elements of series like Advance Wars (entire levels as the combat grid) and Mario & Luigi RPGs (timing-based input) with some ideas of my own.

Goals

My primary focus in this project was to encourage the player to match the intensity of their input with the animation of their character, to make it really feel as if they themselves are swinging a heavy halberd – as far as that’s possible with a keyboard, of course.

To simulate the idea of locating an opening in the enemy’s defences and swiftly responding to that, I mapped each attack’s input to a random key; waiting too long will make the enemy more likely to notice and block your attack, while hastily pressing the wrong button (i.e. attacking from the wrong angle) will cause their defences to absorb most of the damage.

The code for this was written in a way that it would be ready for future PvP functionality, requiring the defender – if controlled by a player – to press the same button as the attacker. This would implicitly reward the attacker for responding to the input prompt as fast as they can, by giving the defender less time to register and respond to that same prompt.

In retrospect

All things considered, Calcium Crawlers was a fun and worthwhile experiment to try and spice up the often-considered-boring idea of turn-based combat.

If I had been given another 10 weeks for this project, I would’ve worked on implementing more intuitive feedback to communicate the result of the player’s timed attacks more clearly, and perhaps try to apply the same concept of “input weight” to different types of attacks/weapons.

Oh, and PvP, of course.