Smash n' Grab (2023)

Role:
Game Programmer

Teamsize:
6

Duration:
10 Days

Engine:
Unity

Genre:
Shooter/Action

Platform:
PC
About
The objective is clear.
​
Infiltrate the museum, make your way to the prized diamond at the back of the building, and secure it. However, be prepared, as the museum guards will swiftly pursue you once the diamond is taken.
​
Act quickly and efficiently!

Introduction
This project was a game jam I participated in with some friends, developed using Unity.
I was responsible for implementing the player movement mechanics and the damage system for the diamond case.
Movement
The player can walk, sprint, jump, wall-run, slide, and dash.
The movement system is built as a state machine. I first implemented walking and sprinting, ensuring a fast-paced feel before adding dashing and sliding. The dash was a quick burst of speed, while fine-tuning the slide’s length and height took extensive testing to make it feel smooth.
Wall-running was the most complex mechanic, as I initially struggled with overshooting and clipping through walls. Managing rigidbody forces required significant research and adjustments to get it right.
Once all mechanics were in place, I used Dotween to add camera tilt during wall-runs and adjusted the field of view while dashing, enhancing the overall feel of movement.
What I learned
This was my first project where I developed a player controller using rigidbodies. Although I had limited experience with rigidbodies, I was eager to learn how to utilize them to apply various forces and achieve different effects. This motivation also led me to use rigidbodies for the diamond case, allowing me to apply force to the fragments when the player breaks the case. I enjoyed the process, and after considerable trial and error, I now feel confident in my understanding of how to work with rigidbodies in future projects.
​
While the game itself may not function as intended, I am proud of my contributions and grateful for the insights I gained in creating an FPS controller during this experience.
.png)

