Welcome! Here you'll find a selection of projects that I've worked on over the years.
My primary interests:
A game built to run on the DCA Artcade, an interactive donation stand at Dundee Contemporary Arts. This was one of three games I built for the Minimalist Game Jam at Abertay University and makes use of only three pixels and twelve colours. It was judged as one of two runners-up in the jam and was implemented in the DCA Artcade by myself and J Brown.
This is the dissertation completed for my MSc Computer Games Technology degree from Abertay University. It was part of a research project that explored potential impacts of game responsiveness on player enjoyment and game usability.
Inspired by a screensaver I had growing up, this enjoyable display of cubes coming together was created for #screensaverjam in 2016.
Hit the ground running and speed up your Unity development with this collection of scripts, data structures, and prefabs. This free and open-source (MIT licensed) collection can be used as-is, or you can build upon the provided functionality for your own needs.
Race the clock as you bounce across easy and hard variations of the game's course. Bounce by clicking while near a surface, well-timed clicks allow you to pick up speed for better times. Made over a week for the Abertay Game Development Society Freshers Jam using the jam theme Second Chance, as this builds on an abandoned game idea I had from 2011.
Build and destroy bridges to guide as many cars across the gaps as possible. Left-click to shoot cement, right-click to toss dynamite, and use WASD to cross bridges and climb ladders. Made in 48 hours for the Arbitrary Game Jam #13, incorporating the jam's two randomly generated themes: Second-Rate and Cementation.
A small game engine originally designed to be a prototype building environment. The engine features: a built-in level editor, level saving and loading in a binary format, and flat 3-D model generation using textures with transparency support. Simple prototypes including Conway's Game of Life and Snake can be run in the engine. The engine was abandoned in favour of existing middleware solutions such as Unity.
A networked application that simulates gameplay for a twin-stick shooter game. The application communicates using UDP sockets and performs dead-reckoning prediction using a cubic spline. It was graded A20 for my "Network Game Development" module at Abertay.
A short maze navigation game that incorporates procedural content generation using L-systems, static and animated post-processing effects with DirectX 11, and a research topic: audio processing effects using XAudio2. It was graded A20 for my "Game Programming for the PC and XBox" module at Abertay.