Shattered

Description

Fight your way through an apartment complex and piece together the fragmented memories of a crime you did not commit.

In this game, we needed to incorporate a 3rd party physics engine. We decided to use PhysX for its widespread use and readily available documentation and examples. I put myself on this task because I had never used a 3rd party library like this, and it seemed like an interesting challenge.

I started by reading the documentation and setting up the bare minimum for a physics scene and debugging. I then created a thin wrapper for the PhysX API to easily access and modify the physics scene. With the basics down, I expanded the wrapper with custom collision handling with collision layers. This was very useful when opening up the API for scene queries using raycasts, sweeps and overlaps. I got as far as implementing every kind of joint that PhysX provides and testing articulations for use in ragdolls. Ragdolls were supposed be included in the game, but at the time they were too unpredictable and would cause the physics system to glitch and crash the game. This is fixed in a later version of the R.O.S.E. engine.

In the game, the physics system is most prominent in the doors that you can push open and small items that can be interacted with physically.

Project Details

Main Responsibility: Physics
Engine: R.O.S.E
Genre: Horror
Inspiration: Silent Hill 2