Personal Projects
Projects I created in my spare time, some details about how they work, and my inspirations.
*All projects on this page were made only for Windows PC.
Movement FPS
I’ve revisited the idea of a ‘movement FPS’ several times since I began learning game development in Unity.
My first ever character controllerSome very old versions:
Water shader + rigidbody buoyancy side projectI attempted to recreate the slide-jumping from Warframe, rocket jumping from Team Fortress 2, and the grappling hook from Titanfall 2 all in one character controller with first and third person view.
As you pass through the colored rings, the game records the player’s current lap time as well as their best lap time in the current play session.
The player model and clothing were modeled in Blender by me, most animations are from Mixamo. All environment assets were either free or made by me as well.
The grappling hook rope can collide with objects, can reel in/out, and the player can hold spacebar to strafe in the air.
Sliding is done by crouching while sprinting. While sliding, the player gets an initial speed boost and will continue sliding if going downhill.
As a Blender exercise (and because I love character creators) I created a range of cosmetic items and a simple menu to equip/recolor them.
To keep things consistent between perspectives, this involved making separate sets of cosmetics for the first person and third person player model, as well as the arms used in the player’s viewmodel.
While in first person, the player’s shadow is cast using the third person model (as the first person model has no head or arms), resulting in shadows that appear accurate while in first person.
Katamari clone
A recreation of the mechanics of Katamari Damacy in Unity engine.
This was a weekend project using Unity’s built-in rigidbody physics and a character controller that simply applies a torque on the ball to roll it in the direction of player input.
Because Katamari Damacy’s game mechanics are proprietary and patented by Bandai-Namco, this game is not available to download, and was made only for learning purposes.
When a collision is detected with an object, the closest vertex on the ball to the point of collision is found, the vertex is moved to the center of the object we collided with, and the ball’s mesh is recalculated with the moved vertex. After this, we destroy the object’s colliders and parent it to the ball.