Cookie Crumble - Screenshot / Key art

Fishing / Harpooning Prototype

Engine: Unreal Engine
Year: 2025
Solo project

Short Description

In this harpooning prototype, the player catches fish to sell them and earn better upgrades. Fish that are harder to catch bring in more money when sold. The more upgrades the player has, the farther they can swim out to sea and catch more exotic fish. With fish traps and, later on, planned anglers or fishing rods, fish can be caught passively while the player actively harpoons fish.

Background

The idea behind this project was to familiarize myself with Unreal Engine's water/buoyancy system. I have wanted to create a project set in the ocean for a long time, and this prototype was the first step in that direction. I also had to create my own AI movement logic, because the standard Unreal Engine AI pathfinding logic only works when the AI is on the ground.

Gameplay

  • The player starts at a pier with a spear and a rowboat. At the end of the pier are shops where the player can buy new upgrades and sell fish.
  • The player jumps into the water and catches their first fish. The first catch of each fish species unlocks new upgrades for the player to buy (e.g.: flounder caught: rowboat speed upgrade level 1 unlocked).
  • Once the player has saved up enough money, a harpoon can be purchased. With the harpoon, fish that previously escaped when the player got too close can be caught. The harpoon can receive many upgrades through catching new fish (power, firing speed, reeling speed, reload speed, etc.).
  • With enough money, the player can buy a new boat and explore new areas.
Screenshot: Gameplay Übersicht
Screenshot: Level layout (overview)
Screenshot: Gameplay Übersicht
Screenshot: Level layout (overview)

Features

Boats

Pickup: Mouse

Rowboat

The player's standard boat. It can only move within the tutorial area (in other areas, the waves are too strong for the rowboat).

Pickup: Cheese

Small Fishing Boat

The player's first "proper" boat for leaving the tutorial area and exploring new regions.

Planned: Fishing rods for passive fishing will be attachable to this boat.

Fishing Tools

Pickup: Mouse

Spear

The player's starting/standard fishing tool. It has very short range, enough only to catch flounder, sea urchins, and crabs.

Pickup: Cheese

Harpoon

Allows the player to catch more exotic fish.

The harpoon is the player's main tool! All new fish (after the tutorial) must first be caught with the harpoon.
Pickup: Cheese

Fish Trap

A trap that catches fish passively. Initially only crabs and flounder, it can receive upgrades to catch better fish.

The player only unlocks upgrades for the fish trap to catch better fish after first catching the respective fish with the harpoon!

Upgrade Shop

Pickup: Mouse

Shop

Here the player can buy new upgrades and sell their fish.

Technical Details

  • Engine: Unreal Engine (Blueprints / Visual Scripting)
  • Source control: GitHub.
  • Solo project

Challenge → Solution

  • Challenge: Ships did not float stably on the water.
  • → Solution: I revised the buoyancy settings. A sensible distribution of buoyancy points and tuning the forces involved is essential for the object to behave as intended.
  • Challenge: Nav-mesh pathfinding is insufficient for movement in all directions without contact with the nav mesh.
  • → Solution: I created my own AI pathfinding system. Each fish is assigned a specific area (e.g. the tutorial area is split into: tutorial-top and tutorial-bottom). To move, the fish picks a random point in this area and fires a line trace toward it. If the line trace hits something, the fish moves to the impact point. If the line trace hits nothing, the fish moves to the end of the trace. This allowed me to create movement for the fish in all directions while also ensuring they stay within their assigned area.

Learnings

  • Masks allow me to hide the water within certain collision zones. This made it possible to remove the water from inside the ships and make them look more realistic.
  • Understood the basics of the water plugin.
  • Created my own easily extensible AI pathfinding system.

← Back to Projects