C++ Programmer with a passion for game-development and graphics and procedural generation.
Currently employed as a Junior Programmer at BossAlien (The creators of the successful game CSR:Racing)
Won various awards as a student, including the Independent Propeller Award, consisting of $25,000.
Completed a programming internship at DICE, the creators of Battlefield, and worked as a
software developer at several companies during university.
I wanted to create a regularly tiled planet for strategy game purposes.
The planet is generated by subdividing an icosahedron into hexagons, and then subdividing those hexagons into smaller hexagons.
Height map generated by using perlin noise and fractal noise.
Fractal noise generated during subdivision by averaging the height of 3 parent hexagons and adding random value.
Tiles are aware of their neighbours, allowing for tile traversal.
Implemented in Unreal 4, using a custom mesh generator.
Tangents are calculated by taking the spherical tangent and replacing the up-vector with the triangle up-vector and adjusting the other two directions using cross products.
Cube-marching on the GPU using CUDA
This was a student project for IGAD. The goal was to choose a technique and implement it using CUDA.
Graphics
CG Shader Techniques
Features
Bump Mapping
Phong shading with multiple lights
Projected shadow mapping
Enviroment Mapping
Bone animation
CPU Software Rasteriser
Features
Modified Bresenham clipping
Scanline polygon filling
Perspective correct textures
Scenegraph that can be loaded from file
Multiple viewports
Raytracer
Features
Lighting and shadows
Reflection and Refraction
Debug 2D raytracer
Snakes on a Planet
For the 2012 Global Game Jam we re-made the classic game snake into a multi-player game where players battle each other on procedurally generated planets.
I implemented the planets by Cube Marching a point cloud generated with perlin noise.
A Drawn Out Approach
For the 2015 Global Game Jam I was the programmer on a three man team and developed this little puzzle game. It was made using unity and features a small level-editor.
Sumo Salad
Winner of two awards:
1st Place – Games [4Health] Jam
1st Place Realization – Health 2.0 Challenge
My work
Gameplay
Beat detection
GUI
PSP/PC 2D graphics engine
Hyperspace is a multi-platform PSP/PC project. I wrote a generic graphics engine api with two implementations, one for PSP and one for PC.
the generic api allows the game-play code to be near 100% platform independent.
The colourful "hyperspace" effect was created by using a bug as a feature. The bug was caused by the difference in endianness between PC and PSP when writing to the vram pixel buffer.