top of page

Shaman

Shaman is a 3D title that I worked on during my junior year. It was built in our custom 3D engine. This project was completed in 8 months and there were 9 active members in the team for the first half and 10 in the second. The span of the project encompassed both the creation of the 3D engine as well as the game.

Shaman: Bio

How I Contributed

3D Physics Engine

For the engine I worked on the physics engine. I created the core physics system as that ran all the physics frame by frame including the rigid bodies for game objects. I programmed several collision checks for various shapes (Point, Ray, Plane, Boxes, Spheres). I worked on collision responses for dynamic sphere vs sphere collisions as well as dynamic sphere vs static boxes. The system allowed for different variables to be edited through both the editor and scripts. There were functions which allowed for users to control aspects of the rigid body and colliders through scripts. I also did a little bit of minor optimization but it only involved removing certain objects from having to check with one another and it wasn't any sort of partition.

Math Library

I worked on certain functions in the math library mostly related to object rotations. These were used throughout various features in our engine as well as the scripts throughout the game.

Particle System

The rendering and generating of the particles were done by our team's graphics lead. I contributed to this system by programming the particle behaviors. Our game only had one artists and as a result we had to use other methods to elevate the game's aesthetic and design and the particles were a large part of that. I added features such as colors, velocity, acceleration, various spawning patterns, movement behavior and interpolations.

Gameplay

I programmed a few of the behaviors in the game. I worked on the locomotion of the player. The Mana system(Three floating rocks above the player's head) for the player was also something I programmed. I created one of the player's ability which was the falling rock. I programmed the behavior for the small jumping enemy as well as the final boss (Diabolus).

Dialogue System

We didn't have any voice actors for this game so we had to rely on subtitles to convey our dialogue and drive the story. I created a system where designers could input all the dialogue for the game through a text file and access them easily through scripts. The system would be able to divide up the dialogue and output it to the player allowing for the player to control when to continue the dialogue.

Shaman: List
Shaman: Pro Gallery
bottom of page