top of page
Minor Projects: Image
poster%202_edited.png

Berry Glider

Berry Glider is a mobile game built in Unity using C#. This game was produced by a small team of five people. In this game, the player controls a sugar glider in a downward 2D platformer built for a tablet.

Overview

Engine: Unity 2D

Tools and Languages: C#, Perforce/Helix

 

Role: General Programmer

Skills: 2D Mathematics, Gameplay Programming, Sprint Planning, Small Team Development, Mobile Development 

Berry Glider is an unpublished game produced for the Android Tab A. It was a group effort with four other individuals, including one programmer. This project allowed my teammates and me to explore Agile methodologies as well as practice sprint planning and task management. My team designated me as the lead programmer which mostly boiled down to me handling feedback directly and designing the overall architecture of our project. 

Screenshot (92).png

Starship

Starship is an assignment that was done in semester one of my time at Guildhall. It mimics the classic "Asteroids" game. This is a simple implementation of basic rendering, basic physics, and basic AI.

Minor Projects: Image

Overview

Engine: Personal Engine

Tools and Languages: Visual Studios, C++, OpenGL, Perforce/Helix

Skills: 2D Mathematics, Basic AI, gameplay programming

In Starship, the player controls a light blue ship in a classic "Asteroids" - like game. Asteroids and simple enemies spawn outside of the map and drift inwards. The player uses simple physics to move around and shoot at the other entities. As the player defeats entities, they progress through waves. To aid the player, there are three AI, each with different behaviors. Plugging in an extra controller lets a second player join in to play multiplayer.

Minor Projects: Image

Overview

Engine: Personal Engine

Tools and Languages: Visual Studios, C++, OpenGL, DirectX11, Perforce/Helix

Skills: 2D Mathematics, Textures, AI Pathfinding, Simple AI, Gameplay Programming

Libra is a game where the player controls a tank in a 2D uniform

tile-based game. The AI use simple distance-fields to pathfind and the maps are procedurally generated. I explore a primarily sub-classed entity management system and data drive my gameplay using XML. This was my first implementation of textures in my rendering system as well as my first look into raycasting using a step-and-sample method. This game was an interesting foray into more complex 2D graphics as well a study into the downsides of

sub-classed entity management.

Screenshot (94).png

Libra

Libra is a 2D Grid-Based game in which the player controls a tank. It implements simple 2D Graphics using textures and sprites and pathfinding AI that uses distance fields. 

 

Sound Heatmap Population

In Libra, there is a map I created that acts as a sort of maze (Appropriately titled Librynth). In this map, there is a unique entity type that navigates the maze by "sound." For all AI navigation in this game, we simply use

distance-fields and heatmap propagation. For this special type of entity, called Taurus, there is an additional heatmap used to find it's target. This heatmap is stored locally on the map and contains all of the "sound" that is created within the map. Anytime an entity shoots or explodes, it adds to the heatmap at it's location. Taurus will then find the heatmap value that is the largest and navigate there. 

​

In order to make sound propagate around corners and behave the way I wanted, I simply created a distance field from the tile the sound took place. The maximum value of the distance field is based on how "loud" the sound is. Once the distance field is created, I invert it and add the resulting heatmap to the map's local heatmap. This gives a heatmap that accumulates all instances of sound in the maze and makes areas become more "interesting" to Taurus depending on how active the area is. Below is an example of the Taurus code as well as a few helper functions used on the heatmaps. 

Minor Projects: Image

Overview

Engine: Personal Engine

Tools and Languages: Visual Studios, C++, HLSL, DirectX11, Perforce/Helix

Skills: 2D Mathematics, Textures, AI Pathfinding, Simple AI, Gameplay Programming, Rendering Systems

Screenshot (98).png

Doomenstein

Doomenstein is a 2.5D First Person Shooter that is a clone of the original Doom games. It features billboarding view-dependent sprites, monolithic actors, and split screen multiplayer.

bottom of page