← All projects

Case file 001 · Game development

FINN

3D Cozy Fishing Adventure

A cozy fishing game heading to Steam. I lead programming across gameplay and internal tools, with a focus on tactile fishing and systems the rest of the team can author without touching C#.

✦ In development Lead programmer Unity · C#
FINN game scene showing a wooden dock beside the water
the dock — where the fishing loop begins
Scroll to open the file ↓
My roleLead Programmer
FocusGameplay & Tools
PlatformSteam
StatusIn Development

01 · The brief

Make cozy systems feel good—and easy to build with.

FINN needs more than a working fishing mechanic. The moment-to-moment interaction has to feel tactile, while fish, fishing spots, conversations, and NPC routes all need to grow as production continues.

My responsibility is split between the player-facing experience and the workflows behind it. I build the gameplay foundations, then expose the right controls so teammates can create content independently.

The system is only finished when the team can use it without waiting for a programmer.

02 · My contribution

The parts I own.

Modular fishing

Structured fish and fishing spots as configurable content so the roster and locations can expand without new code for every variation.

Branching dialogue

Built a ScriptableObject dialogue workflow with flag-based branches, allowing writers to assemble conversation trees directly in the Inspector.

NPC path authoring

Created a custom path tool so teammates can lay out patrol routes quickly instead of hand-wiring movement setup.

03 · The work

Decisions behind the build.

Content over conditionals

Fish, spots, and dialogue are modeled as authored data. This keeps the runtime reusable and moves everyday iteration into tools that designers already understand.

Flags as a shared language

Dialogue branches evaluate explicit story flags, giving writing and programming one small, predictable contract for narrative state.

Fast feedback

Team-facing controls prioritize quick setup and clear Inspector feedback, reducing the hidden configuration that usually makes custom Unity systems difficult to hand off.

04 · In the game

World snapshots.

05 · Stack & outcome

Built for continued production.

The result is a growing set of gameplay systems that remain editable by the people producing the content. Fishing, dialogue, and NPC movement share the same goal: make iteration faster without hiding important behavior.

UnityC#URPScriptableObjectsCinemachineTextMeshPro
Steam page coming soonDiscuss the work →