A procedural map generator based upon methods described in Martin O'Leary's "Generating fantasy map" notes. Features include irregular Voronoi grid generation, simulated erosion model, city and border generation, and simulated annealing automated label placement. Written in C++ and drawn using the Cairo graphics library.
An implementation of a PIC/FLIP fluid simulation based upon methods described in Robert Bridson's "Fluid Simulation for Computer Graphics" textbook. Features include anisotropic surface reconstruction, 'LEGO brick' surface recontruction, and spray, foam, and bubble particles. Written in C++ and rendered in Blender.
An implementation of a smoothed particle hydrodynamics (SPH) fluid simulation. Features include a dynamic spatial grid data structure, fluid interaction with objects, and Lua scripting for configuration files. Written in C++, Lua with LuaBridge, and uses the QT application framework.
An implementation of a boid flocking simulation. Features include basic boid rules (alignment, cohesion, separation), obstacle avoidance, and food sources. Written in Lua and uses the LOVE framework.
This program visualizes twitter hashtag usage over time as a collection of circles, each corresponding to a hashtag. The size of the circles are proportional to the usage frequency of the hashtag. Written in Lua using the LOVE framework. Data is collected by using the Twitter Streaming API's Firehose feature.
This program is an implementation of a mass-spring system. Written in C++ and uses the QT application framework.
This program is an implementation of Conway's Game of Life. This version of Life implements the original rules and also includes a rule for handling a game with cells of different colour. Written in Lua and uses the LOVE framework.
This project is a software prototype for a mobile course scheduling application. Features of the prototype include course timetable creation and sharing course timetables with friends. This project was created for a course in Human Computer Interaction in a team of three students. The project involved iterative prototyping on paper and in software, and gathering feedback from user testing and heuristic evaluations.
This program animates a space rocket and camera moving along animator controlled curves in 3D space. The animator is able to interactively control acceleration, velocity, and orientation along the path. Written in C++ and uses the QT application framework.
A simulation of a simple pendulum that is driven horizontally by \(x = a\sin wt\). Written in C++ and uses the QT application framework.
This program animates a ball accelerating along a user edited Catmull-Rom spline. Written in C++ and uses the QT application framework.
This program was built to speed up the process of generating gradient data. This tool allows the user to choose the initial and final colour values of the gradient. The user is also able to edit the HSL curves between the initial and final colour values. Written in Lua and uses the LOVE framework.
This program is an implementation of a 2D implicit surface polygonizer. This program supports implicit primitives for circles, lines, and rectangles. Written in Lua and used the LOVE framework.