- Procedural Caves
- Broken Shadows
- 2D Game Engine
- 3D Renderer
Procedural Generation of 3D Caves on the GPU
A tool designed to generate 3D caves using the following technique: First the overall layout for a cave is generated with an L-system. This layout is then used as a guide for a tunnel brush which consists of a metaball that has been distorted by noise. It is built using the Unity3D framework and is a collaboration between myself and another student. My main focus was on designing and implementing the generation of the cave layout in C#. I also worked on some of the detailing functionality which is implemented using a mixture of C# and compute shaders written in HLSL.
The paper resulting from this project was presented at Foundations of Digital Games 2015.
A simple clone of Space Invaders with a few new features, that I made in two weeks as a challenge. The game is written in C++ using nothing but the SDL 2 framework. It features the standard Space Invaders mechanics, as well as a simple progression system where the player's weapon is upgraded at certain levels of score.
Game development project
A first person exploration game built in UDK using unrealscript. As part of a 5 person team, my main responsibility was to implement the ledge climbing mechanic which, along with the grappling hook, is central to the way the player traverses the environment. Throughout the project I also participated in development of the initial concept as well as the overall game design process.
Game design project
A 2.5D platformer built in Unity3D and featuring two separate planes. As part of a 5 man team of programmers and designers, I used C# to implement various aspects of gameplay, mostly focusing on enemies, save functionality and UI. I also participated in the concept development and game design process throughout the project.
Simple 2D Game Engine
Game Engines Project
A simple, but fully functional, 2D game engine that I built in C++ as part of a Game Engines course. It features simple 2D physics and collision detection, an animation system, a tile based world and an event system. The rendering system is built on top of the SDL 1.2 framework, which handles the actual sprite blitting.
Simple 3D Renderer
Foundations of Computer Graphics project
Throughout this project I implemented a simple renderer from the ground up. It is based on a framework that was provided for the course, which facilitates drawing pixels to the screen via glut. On top of this framework, I implemented all the functionality required for a simple renderer: Line and triangle rasterization, viewpoint transformations, Gouraud and Phong shading and bezier surfaces. The entire project is written in C++.