Game Engine Development

Turning my focus to computer science as it applies to games, I set to understand more about the engines behind them and their various components.  In the fall of 2016 I got the chance to work on one of my professor’s (Artem Kovalovs‘) custom came engine (Prime Engine) implementing several features which come standard-issue in more mainstream engines like Unity or Unreal.

Prime Engine - Unofficial LogoComing to Terms

As part of my first several projects, I implemented frustum culling, mass-based OBB physics, and (eventually) vertex shader-driven wind.

As our class progressed we eventually paired up to tackle additional problems. Below are a small set of videos which I created to serve as progress reports.

Projects, Projects, Projects

For the first milestone, my teammate (Joe Wise) and I created a simple nav-mesh system. While he implemented A*, I set to work creating a pipeline which read in the vertices and edges of certain meshes and used that to construct a network of way-points for the player to traverse.

Following this, I started going through the graphics pipeline and looking at how the shader systed was set up. Eventually, I was able to implement a UI system using my own set of screen-space shaders.

For our final demo, we switched to using my physics implementation and input system. I also got to extend the skeleton structure to support more varied characters and implement support for a sky-box (rendered as a DX 12 shader along the far-clipping plane).