FryFall
Fryfall is a 2D platformer where the player is a lobster named James Prawn who uses his mechanical claw to attach/detach from pegs and swing across the kitchen to save his fellow crustacean shrimps from the fry and escape the kitchen. The player can use James Prawn’s mechanical claw to connect to pegs and swing throughout the level while avoiding hazards and try to save as many shrimps as possible from hell’s kitchen. As a side objective players can try to speed run their way through the level without saving the shrimps.
Role
Generalist Programmer
Game Engine
Unity 2019
Platform
Android
Development Time
3 Months, 2019
Team Size
4 People (1 Programmer)
Fryfall Trailer
Screenshots
UI Level Selection Script for Level Designer
A basic script where the level designers can easily reference a scene by name or index of the level and some other utility functions to reset certain specific data and switching between various levels. This also ensured that the game was tested rigorously from the menu screens from early milestones. The same script also handles storing level best times and total shrimps collected per level.
Level Selection Menu
Level Selection Script
High Score System Scripts
The High Score Manager is a Game Object responsible for keeping track of the total shrimps collected on a level and Best Time on that level as high score records separately.
Level Selection Menu
High Score Initialization
Mission Completion HUD
The Mission Completion HUD is placed on the Escape prefab and once the player reaches the escape hatch, the data is checked to see if any update is needed to the "Best Time" high score and the "Most Shrimps" collected on the level high score separately.
As the development progressed I realized how hard it is to make changes to the UI and the HUD components since they involve highly cohesive multiple minor scripts and making changes like scalable UI and HUD or adding in even a new functionality can prove to be very difficult.
Mission Completion HUD
Gameplay Timer Class
Mission Accomplished Script Methods
Multi-Direction Panning Camera Tool
Implemented a panning camera to show the level layout at the start of every level. It comes with a gizmo that helps level designers view the results in editor time as line strip.
Camera Panning at the start of the level.
Camera Panning at the start of the level.
Checkpoint System Tool
Contrived a simple checkpoint system to make the game less punishing for the player with gizmos for better usability for the level designers.
Player Restarting from Checkpoint on death
Checkpoints Manager and Checkpoint
Pull Effect using Point Effectors
The fastest way to rapid development is use the existing tools rather than trying to reinvent the wheel. By exploring engine point effectors, an effector was placed on the "Escape Hatch" prefab to create a pulling effect and enhance the user experience and by giving the feeling as if the James Prawn was escaping the window at the end of the level.
Pull Effect on Level Completion
Point Effector Settings to turn it into a Physics Pull Effect
Post Mortem
What Went Well ?
-
Became proficient with perforce (version control) and was not afraid to take risks with it early on in my attempt to learn it and which helped the team resolve integration issues quickly in late development stage.
-
The commitment to complete the tasks on time to avoid dependency delays for other team members.
-
Collaboratively working in a team.
What Went Wrong ?
-
Expectations surrounding communication were not all met.
-
Initially, I was working more competitively rather than collaboratively but within a couple of weeks I realized that any good development requires more collaboration than competition.
-
Time estimations were off the expected mark and error corrections in those estimations did not help.
What I Learned ?
-
Communication is the key to maintaining a healthy environment at the workplace and people have different levels of professionalism or personalism preferences in communication.
-
Growth in personal work ethic and professionalism involved completing tedious tasks by attacking them with a fun and unconventional approach.
-
Understanding the limitations of personal skill set plays a key role in estimating completion time for any particular task.