Back to Portfolio
Prime Engine screenshot

Prime Engine

Game Engine Development — Individual Project

Role

Solo Developer

Type

Individual Project

Engine

Prime Engine (Custom C++ Engine)

Overview

Prime Engine, a proprietary C++ game engine framework originally developed by a USC professor/Naughty Dog engineer to teach low-level, modern PC and console game development.

My contributions to the engine:
1. Built low level engine features such as bounding volumes (AABB) and physics systems including collision detection & gravity.
2. Authored input handling, character locomotion, and NPC waypoint navigation & animation systems.

Tech Stack

  • C++
  • Maya
  • Lua

Project Details

Bounding Volumes and Culling

Created bounding volumes (Axis Aligned Bounding Box) for objects and performed a culling test with camera view frustum

Physics Systems

1. Add Physics Component (only sphere and box), check collisions, resolve collisions
2. Add Physics Manager
3. In Game Object Manager, deal with static mesh collisions
4. In SoldierNPC.cpp hardcode the sphere physics component (position and size)

Animation Systems

Implemented a system that supports partial body and additive animations.

Charactrer Control and Locomotion

  • Adding main character input system
  • Adding timed soldierNPC waypoint chasing logic
  • Adding camera rotation control
  • Implementing simple physics for both NPC and main character
  • Switching main character to vampire and setting up animation (sample set)
  • Modifying root joint to support more animations (adventure set)
  • Making walking and running switchable
  • Adding a simple jumping animation

Links