Smash n' Grab (2023)
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!
Project info
Teamsize: 6
Duration: 10 Days
Engine: Unity
Role: Player Movement Programmer / UI programmer and Game Designer
Genre: Shooter / Action
Platform: PC
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.
Player Movement
The player can walk, sprint, jump, wall-run, slide, and dash.
​
The movement system is designed as a state machine. I began by implementing the walking movement for the first-person controller, followed by the sprint feature. Once I achieved the desired fast-paced movement, I moved on to the dash and slide mechanics. The dash was relatively quick to implement, as I aimed for a brief burst of speed.
​
Refining the slide's length and height took more time to ensure it felt smooth. I conducted extensive testing and adjusted parameters in my testing scene until I achieved a satisfying result. Although the code functioned correctly, making the movement feel fluid rather than stiff was a challenge.
​
The final addition was the wall-run mechanic, which proved to be the most complex. Initially, I encountered issues where the player would either overshoot or clip through the wall upon jumping. This was due to how I was managing the force applied to the rigidbody during the jump. As this was my first experience creating a player controller with a rigidbody, it required significant time and research to resolve.
​
After implementing all the mechanics, I incorporated the Dotween asset to add camera tilt during wall-running and adjusted the field of view while dashing.
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.