Tough Catch Logo

Tough Catch

In Fall 2024, I was the teamlead and head programmer for Tough Catch, a fishing game where you play as a cyborg and have to use your robot parts and fishing rod to go through several different fishing minigames to try and catch the big boss of the lake. I handled the art and music direction and help give the game a consistent visual and audio style. I also handled a few minigames and the UI for certain portions of the game.

Role Team Lead & Gameplay/UI Programmer
Team Size 25 Developers
Duration 3 Months
Engine/Tools Unity / C#

Scriptable Object Event System

For Tough Catch, I wanted to test out implementing an event system using ScriptableObjects to communicate events across different areas of the game. Each minigame has a scriptable object event variable that they subscribe to to listen for when to start and they broadcast an event through a scriptable object to let other scripts know they've ended. I also use this system for taking damage, letting other scripts know the fish you caught, and other aspects of the game as well.


Tuggle Phase Minigames

The minigames for this portion of the game all come at you at the same time, with a maximum at two happening at any particular moment so I wanted to have a state machine that juggles between the minigames in this phase and present them to the player, waiting until it finishes to shuffle a new one. Each minigame derives from a base class so if a minigame is designed and has the components necessary for it to start, run, and end, it can be added to this phase, or any phase in the game, and will play as normal. This way it's modular and was easy to add more minigames when ideas came up for new ones.


Star System

To add a bit of replayability to the game, I added a star system that rewards the player with stars depending on how they play the game. They are awarded for different aspects of the game like catching the boss of the lake, completing the game on hard mode, and so on. I created an overall manager singleton for stars that is called on when a condition to earn one is completed. Then the results screen reads the data from this manager to display the correct amount of stars


Main Menu UI

Really wanting moving UI for the main menu, I used Cinemachine to have the camera move to different parts of the environment for different menus/submenus and used the animator to animate the different UGUI elements on screen to add more game feel.

Back to Games