Mobile 3D Unity platformer

2016

Mobile 3D Unity platformer

2016

3D cross-platform (Windows, Android) platformer made in Unity, with 3 distinct levels. Created in a for a University project, and designed to play nicely in landscape mode on a smart phone.

Uses keyboard for PC, and an on-screen joystick and buttons for mobile.

Island materials prototype

2016

Island materials prototype

2016

An experiment in UE4 node-based material shaders, including a multiple materials with HLSL custom nodes. Materials were created for the shoreline, ocean, horizon, and terrain. A post-processing pattern dithering shader was also created and included in the source project, but not enabled by default (turned out quite garish).

The ambient background track samples sounds from freesound.org, and a small but very slowed-down snippet from a song by Rei Harakami.

CHIP-8 emulator

2015

CHIP-8 emulator

2015

A CHIP-8 assembly interpreter, uses SDL for input and rendering.

ROMs are included in the download, simply drag and drop them onto the executable, or use 'open with' on Windows.


Requires Visual C++ redistributable 2013.

Local multi-player collab game

2015

Local multi-player collab game

2015

A four player university group project (gameplay, character, and animation by me), with contributed sound-effects, music, map, and materials. Based around the mechanic of holding onto a gem until a timer runs out, while other players are able to snatch the gem away from you. Players can sprint for a limited time, and lay down bear traps that immobilize players or eventually disappear.


Requires 2 to 4 game-pads for multi-player.

Component engine 1

2015

Component engine 1

2015

My first attempt at creating a component based C++ engine, along with various prototype implementations.

1st prototype - A 3D shooter with an OpenGL renderer for rendering external assets. Uses OpenGL texture buffers, index buffer objects, and GLSL.

2nd prototype - A simulation running FANN, where agents have been back-propagated from the output of previously programmed AI, enabling them to run from the input of a 5 by 5 visual sensor array surrounding each one.

3rd prototype - An implementation of object-oriented bounding box collision detection.

4th prototype - An shader implementation in GLSL to achieve bump and specular maps using external texture and material files.

The biggest feature this engine lacks from usual component engine implementations is any smart data-oriented memory management. Although this engine is okay for prototypes with low object counts, it has since been superseded by ComsEngine using more data-oriented methods.


Requires Visual C++ redistributable 2013.