DCA Artcade Target Roulette

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.

Masters Dissertation

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.

Sliding Cubes

Inspired by a screensaver I had growing up, this enjoyable display of cubes coming together was created for #screensaverjam in 2016.

QuickStart Unity Pack

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.

Bounce Attack

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.

Super Cement Sprayer

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.

Cube Puzzle Prototype

A level for a grid-based puzzle prototype incorporating several finished mechanics including: multiple cameras, object carrying with in-hand rotation, toggle switches, and simple physics. The goal of the level is to press the green button atop the large staircase.

Boxel Engine

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.

Dead Reckoning Demo

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.

Procedural Generation, Post-Processing, and Audio Processing Demo

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.

DirectX 11 Demo

A small scene used to demonstrate several capabilities of DirectX 11, including: lighting, multi-texturing, normal-mapping, particle systems and 3D sound. It was graded A18 for my "Programming Games" module at Abertay.

Fuzzy Steering System

A car steering system that uses fuzzy logic steers a blue car towards a moving racing line, while an orange car that uses a rule-based system offers a comparison between two different AI approaches for the same task. It was graded A18 for my "AI for Computer Games" module at Abertay.