• Glacial

    A roguelike I made in Februrary 2016.

  • Bug Catcher

    This is my first attempt at writing one game a month. It’s a turn-based dungeon crawler in the style of traditional roguelikes. All the characters in the game are bugs. Each bug has an ability and combat stats. You can “channel” a bug and gain access to its ability and stats.

  • Visible Area Detection with Recursive Shadowcast

    Most games employ some form of visible area detection to simulate the fact that opaque objects obscure one’s view of whatever is behind them. Recursive Shadowcast is one of a handful of algorithms that compute visible area in worlds represented by 2D grids. This makes it suitable for use in roguelikes. This post will explain the recursive shadowcast algorithm.

  • Cellular Automata Cave Generation

    A cellular automata is a collection of cells whose states change over time based on the states of adjacent cells. They can be used to produce natural-looking patterns, such as the cave in the picture below.

  • 2D Phong Illumination in WebGL

    Suppose you’re rendering an uneven surface like a cobblestone floor, water or grass. You could just draw the details on a flat image by hand. This might look great from one particular angle, but if the player is moving around, the flatness of the image may be quickly exposed. This is exacerbated by the presence of lights, which will illuminate the surface as if it had just been painted on (which it sort of has been).

  • Post Mortem of an Abandoned Game

    I spent about 6 months of 2014 working in my spare time on what I hoped would become a top-down side-scrolling action-rpg. I’d just started playing Dark Souls, and wanted to emulate its art style and combat, but in 2D.

  • Top-down Sidescrolling Engine

    A partially-complete game engine I wrote in 2014 in javascript/html5.

  • Pitch Controlled Game

    A game I made for UNSW ArtsWeek 2014. Control the cat by making noises of various pitches. Collect the coins but avoid the ghosts.