Prime Engine
Software Engineer
Created Gameplay Systems in a low-level C++ Engine made by Artem Kovalovs
Overview
Time Period: January - May 2024
Skills: C++, Lua, Python, Maya, Visual Studio
- Architected Physics System to Prime Engine, allowing for game objects to be given a collider in the shape of a box or a sphere with adjustable sizes. When objects moved and collided with each other, the Physics System would then resolve all collisions, changing the movement path that objects would take in the current frame. This also runs on it’s own thread to make the physics calculations more performant.
- Extended the scripting system with trigger boxes that have a Lua script attached to them which can run custom functions. These Lua scripts are only edited in Maya, allowing designers to be able to write custom behaviors for specific game objects. The Lua functions then get ran in C++ in the engine.
- Programmed interaction system, in which certain objects can be marked as interactable and can be picked up by the player by pressing the button. While the object is picked up, it will follow the camera and push away other intractable objects that get in its way.
- Added debug text to show the status of the trigger box, different collider box colors to show whether an object is able to be picked up or not, and the ability to restart a level by resetting all the game objects.
Here’s a video showcasing the interaction and the trigger box that triggers the vampire to play an animation.
Here’s a video showcasing the trigger box that makes the vampire double their walking speed.
Here’s a video showcasing the interaction system as well as the ability to push other objects away.