Viktor PennskogViktor Pennskog
Forgetmenots still

Forgetmenots

A short story-driven puzzle game with a theatre-stage aesthetic, built in Unity and released on Steam as a 10-week student team project.

Team
10 students
Duration
10 weeks
Scope
Gameplay programming + tools + systems
Status
Course project (released on Steam)
Overview

Forgetmenots is a narrative puzzle game presented like a stage play. Players move through handcrafted scenes where props, lighting, and timing help guide both interaction and pacing.

Role

Gameplay programmer, one of two programmers on the team. I mainly worked on puzzle systems, designer tools, narration and localization, and settings.

Tech
UnityC#SteamLocalizationEditor tooling
Key contributions
  • Built modular puzzle systems and triggers with clear state handling, so level logic stayed reliable and easy to work with.
  • Created custom inspectors and reusable designer-facing tools to make puzzle setup faster and less error-prone.
  • Implemented a narration system with localization support so story content could be updated without scene-specific code changes.
  • Built the settings system for common player options and more consistent UX.
  • Helped with the Steam release process, including builds, packaging, and getting the project shipped.
What I learned
  • This project taught me a lot about working in a cross-discipline team and keeping development moving under a short deadline.
  • I got better at building tools around actual designer needs
  • It was also my first time being part of shipping a game to Steam, which gave me practical experience from development to release.
Detailed notes

A lot of my work on Forgetmenots was centered around designer tools. We wanted designers to be able to create puzzles and build scenes without being blocked by programmer time, so I made a range of smaller systems and scripts with custom inspector options to keep them flexible and easy to use.

I'm still proud of the tools and settings system I built, but the project also taught me an important lesson. Some of the systems became so general that designers were effectively building logic through chains of triggers and conditions, which made parts of the scene structure messy. It showed me that making a system more flexible is not always the right solution. In many cases, a more specific script gives a cleaner result and is easier for the team to work with.