Hooked
Overview
“Hooked” is the unoffical title of a fishing horror game I worked on with two of my friends as part of a Fishing Horror Game Jam in August 2025.
Genre:
Horror
Engine:
Godot 4
Dev Time:
2 weeks
Team Size:
3
Additional Software:
Trello, Figma
Select an option below to view greater details regarding my process and the work that went into certain aspects of the project.
Helped brainstorm concepts for gameplay and progression.
Created data assets to hold information for each fish/item the player can catch.
Implemented RNG systems to randomly determine what type of fish the player would catch.
Scripted game system to give the player a specific item every (x) amount of fish caught.
Scripted level progression to spawn end game object when requirements are met.
Programmed mechanics for casting out the line and reeling it in.
Project Goals
Have fun and make a simple fishing horror game with two of my friends for a game jam.
Detailed Info
Design
Given the time constraints and size of our team we wanted to focus on making a shorter experience that didn’t require too many unique assets. After discussing with the team the vision we wanted to work towards it was determined that we wanted the player to be able to
1.) Able to walk around the area and explore the environment.
2.) Have the ability to cast anywhere in the water that they wanted, as opposed to specific spots on the water.
3.) Occasionally fish up strange items that shouldn’t be in the water, such as a driver’s license or a car tire. This would eventually progress the game to the end where a specific event would occur; ending the game.
Scripting
Data Assets
One of my main tasks with this project was setting up data assets for each object the player could catch. Each data asset held information for the items: name, size, description, as well as a reference to the 3D model and texture it was associated with.
Fishing Mechanics
Another big task I was largely responsible for was the main fishing mechanic. For this I set up controller inputs for casting out the line and reeling it in, then used the animation editor to create simple casting out and reeling in animations. Next, I added a randomized timer to determine when the player would hook something, followed by RNG to determine what object/fish the player would catch upon reeling it in. This along with it’s info was then displayed in a little box on the player’s screen.
Playtesting
Along the way, I consistently communicated with the team to check on progress and provide updates on my progress. In addition to this I was constantly testing the game to ensure mechanics and systems were functioning, and analyzing how certain design decisions were playing out.