Prime Engine
Game Engine Development — Individual Project
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