Solo Procedural Generation Project | Unity
September 2019 - April 2020
Project Incrementum is an independent exploration into infinite procedural generation of terrain and flocking animals in Unity. It features a sandbox environment that demonstrates different terrain generation and and population algorithms with customizable sliders for algorithm values. Some features include:
- Perlin noise and diamond-square generated terrain capable of making mountains, plains, island chains and more.
- Blending between customizable height defined biomes built using Unity Shader Graph.
- Prop population by biome adjustable to create densely packed or loosely spread objects across the world.
- Herding animals capable of traveling as groups, avoiding obstacles, eating food, and being adorable
- A play mode that dynamically generates chunks of terrain to create an infinite landscape for a free moving camera.
Technical Director | C++ Engine / Unity
September 2018 - April 2019
Hallowed Under is a 3D stealth game where the player must use bait and careful planning to avoid giant owls and navigate through various levels.
As the technical director, I led a team of 6 coders in building a custom C++ engine to be used by a team of 20. My contributions to this engine included:
- Core functionality running an ECS engine including initialization, logging, system execution order, and more.
- Slotmap driven system for constant time insertion, access, and deletion of objects and components.
- Modular 3D data driven editor with both dockable windows and background systems using ImGUI.
Midway through the project we pivoted to using Unity in order to prioritize bringing the artists, musicians, and designers vision to life. In this new workflow I served as a gameplay and AI programmer who built:
- A behavior tree system for Unity that allowed quick iteration of enemy AI by designers.
- An easy to edit pathing system to define enemy patrol paths over a Unity navmesh.
- A stealth system with enemy cone vision, terrain cover, and enemy bait.
- Featured at PAX West 2018 -
Technical Director | C++ Engine
September 2017 - April 2018
Daybreak is a 2D top-down action adventure game in which the player must collect light to fend off hostile swarms of dead stars and restore day in a world plagued by endless night.
As the technical director and co-producer, I led a team of six coders in building a custom C++ engine to be used by a team of 11. My contributions included:
- Building a modular Entity-Component-System (ECS) framework for a custom C++ engine.
- Creating engine systems, including full 2D physics, rapid-json serialization, and boid flocking AI.
- Incorporating in-engine tools, including system performance analytics.
- Coordinating with artists, designers, and musicians to create usable engine and editor features.
- Producing of all technical reports, guides and documentation for game production.
Technical Director | C++ Engine
December 2016 - April 2017
Forgotten is a 2D puzzle platformer about manipulating the direction of gravity to navigate through levels and discover your past.
As the technical director, I led a team of 5 coders in building a custom C engine and game. My contributions included:
- Creating core engine functionality including gamestates, level loading, and sprite animation.
- Implementing gameplay mechanics including player controller, shooting, and gravity flipping.
- Building a 2D physics engine to support a 2D platformer with gravity flipping.
- Integration of Tiled as a level editor and exporter.
- Creation and testing of 10+ platforming levels.
Lead Programmer | C++ Text Game
September 2016 - December 2016
Treacherous Travels is a fantasy text adventure about discovering and navigating a world filled with riddles and comedy.
As the lead programmer, I lead a team of 3 in creating a completely console run game in C. My contributions included:
- Building a text parser to process and interpret user given commands.
- Multiple engine systems including room management and navigation, inventory, and actions.
- Custom text file reader to create formatted and colored text.