All Projects
gamecompleted

FishFest24.

A 2D infinite survival game created for the FishFest 2024 Game Jam, featuring A* pathfinding-driven enemies that hunt the player across a procedurally varied arena.

Project Details

Status

completed

Type

game

Language

C#

Period

Sept 2024 — Sept 2024

Tech Stack

UnityC#A* Pathfinding

Project Writeup

FishFest24

Overview

FishFest24 was my entry for the FishFest 2024 Game Jam — a week-long jam (albeit I only managed a few spare hours) with a fish-themed brief. The result was a top-down 2D infinite survival game where the player is relentlessly hunted by enemies that use A* pathfinding to navigate around obstacles and close the gap.

The Concept

The core loop is simple: survive as long as possible. Enemies spawn in waves, each wave slightly faster and more numerous than the last. There is no win state — just a high score.

Technical Highlights

The main technical focus was implementing A* pathfinding for the enemies. Since I was so limited on time I found a public library which turned out to be used in many published steam games (not by me) for the enemy pathfinding. Reading the technical documentation to understand how it works was a rewarding challenge. I also don’t use many external packages in Unity so using an external system was a first for me

Player behaviour is a simple floaty controller that I mocked up in about 30 minutes to simulate an underwater low gravity effect.

Challenges

The biggest challenge was implementing the external A* pathfinding library as before I’ve only ever used my own. Reading the documentation and tutorial videos were extremely beneficial for this.

Time pressure was the biggest factor, I only had a few hours to make this project so early on I decided for a super simple game idea and outsourced the technical challenge and focused on setting up animations and making the player feel fishlike.

What I Learned

Implementing an external library as someone who is normally pure or nothing was an enlightening experience. It was as painful as I expected going into it but with the knowledge I learnt from that I am less hesistant in out-sourcing difficult problems for easier solutions.

Being under time pressure is a hugely benefical learning experience. It’s where I find I grow the most when I need to make decisions now and not be given the privilege of being able to sit on it and figure it out later. I was forced to make difficult decisions like cut-out the pickup system which even an hour more time I would’ve been able to implement.