Super Mario 64 Character Controller

Towards the end of our education at The Game Assembly, we have to develop a game-related programming project specifically for our portfolios.

I chose to create a Super Mario 64-like character controller for multiple reasons, the main one being that I wanted to go back to my roots; where it all began. I wanted to try to recreate something that was dear to me, but I’ve also always loved the way Nintendo approaches game design: pick a single mechanic, polish it, and create an enjoyable experience revolving around it. I also wanted to learn more about PhysX, and I had never created a 3D character controller outside of Unity, so I thought this would be a good way to challenge myself and learn something new that I could showcase.

Multi-Purpose Gun

I developed this for our 7th game project at The Game Assembly, where we have to make a first-person perspective game.

I wanted to attempt the Nintendo design model, where one mechanic is used in many ways. So I made a gun that shoots three different kinds of projectiles — each with their own identity and use-case. The first one, Beam, is precise, medium to long-range, and deals continuous damage. The second one, Rocket, is harder to hit, long-range, deals damage in an area upon impact, and can be used to “rocket jump”, propelling the player upwards. The third one, Goo, launches a heavy-feeling blob that bounces on walls and spawns temporary puddles when hitting the floor, slowing enemies within it. All ammo types also utilize PhysX in one way or another (rigidbodies, raycasts).