
Puddle & Mud
- Genre: Action/Adventure, Co-Op, Exploration
- Engine: Unity
- Development Time: 11/5 – 9/6 (4 weeks)
- Team size: 4
A fun and cozy co-op action/adventure game, where you explore a whimsical world, interact/fight with npcs and complete quests on a journey to visit your grandpas resting place.

In this project I was one of two ‘primary’ programmers. My teammate mostly worked on the player and camera-work, while I focused on building the bigger systems within the game, mainly the…
- Quest system
- NPC system
- Basic Enemy AI
- UI for these systems (Implemented in UI-Toolkit)



Other than that I was of course a part of all the internal discussions in relation to all things game design, as its really important for me to be on the same page as everyone else throughout development. I was also there during the playtests of our game on the tweens-segment (primary target audience), where I had the role of being a observational note-taker.
– Quest System
A system that handles and manages quests for the player. These quests each have their own “trigger” for when to activate, making them enter the quest-log, which then keeps track of progress based on its data/completes quests. It also sends out signals for when certain things happen in-game (events), making the UI display the relevant pop-ups and so forth. Used a mixture of Unity events, scriptable objects, runtime quest instances and managers



– NPC System
A system that handles all NPC interaction/data and dialogue. The NPC system is closely aligned with the Quest system, as each NPC is assigned a quest (should they have one). The progress of that quest also determines what the NPC says, because they all have scriptable Dialogue objects, that make out a list of “options” in certain scenarios. Its structure is the same as the quest system, with the use of Unity events, scriptable objects, runtime npc instances and managers


Doing this project, I learned a lot of new things. In terms of programming this includes:
- Using scriptable objects for a more flexible design
- Separating passive data from runtime
- Implementing Unity events to more easily trigger multiple methods at once
In relation to improvements, I want to make my systems/mechanics even more accesible to designers and others on my team by having more things in the inspector to adjust and tune with ease.
