top of page

Murder Most Fowl

A point and click murder-mystery game where you attempt to solve the murder of a wealthy business man aboard a train!

Engine

Unity, C#

Roles

Project Co-lead

Timeframe

January 2025 - Current

Contributions

This game was much less intense programmatically, as much of the necessary work was UI related as the entire game is point and click. However, I learned quite a lot about UI design and development, an area I had never really touched on before!

​

The main feature that required the most effort was the in-game Clue Board.

Screenshot 2025-07-01 232019.png

The primary game-loop concerned interrogating characters and searching the scene to collect clues that would appear on the clue board in-game. There, you could physically lay out the evidence, as well as take small notes, to keep track of the mystery as it progressed. Players could also select the yarn threads to make "deductions" between 2 clues to gain more evidence to use and present to suspects for further interrogation!

​

Feature-wise, Unity's UI and 2D system was very particular, meaning we had to create workarounds. For example, I created a custom selection system, similar to how I did in Bloodelic, for choosing an clue to show more information on, as seen above.

​

The design went through multiple iterations until finally landing on something that playtested well! The original idea involved file cabinets that evidence would be stored in, but this ended up being confusing and mechanically unintuitive as it hid the new clues by default.

Screenshot 2025-07-01 233150.png

What was most difficult, however, was the save system. The game required two way interaction between Unity and YarnSpinner, the dialogue plug-in we were using. On one end, we'd need Unity scripts to change current game values that would be reflected in dialogue. On the other end, when dialogue events occurred, we needed it to change values to be read by Unity scripts.

​

The middle-man that stored these values that were then read by both Unity and YarnSpinner was our save state. This was the first time I'd properly worked with permanent data storage in games, and it was a fascinating endeavor! Most of the backend for the save system was not written by me, but my good friend and extremely talented coder, Luke Doty. I simply integrated it into the game and expanded upon it to hold all of the necessary information.

We used Scriptable Objects to hold data upon initialization for both Clue objects and Character objects. These values would then be passed into the Save System that would store these values in a dictionary with a unique ID for future lookup. Whenever values would need to be retrieved or modified, they would be pulled from the Save State, giving us a single ground-truth for all relevant parties.

Screenshot 2025-07-01 234733.png

It's relatively simple, but as someone that had only worked on games that never stored information and started brand-new each time from launch, this was incredibly interesting to work on!

NARRATIVE

However, what took up most of my time was the narrative. Oh my god, it's  incredibly difficult to write an interactive mystery. Writing the mystery, looping plot threads together, integrating it with gameplay and evidence players would find, it was so much more than I'd originally anticipated. I would spend days stuck trying to figure out a particular plot point or character beat, and specifically how it would be represented in-game.

​

I ended with 10 pages of just the outline of the narrative. Miro was my best friend as it allowed me to plan the clue-board in advance on what evidence would be there and how they connected together. This was the final result.

Screenshot 2025-07-01 235704.png

This is genuinely one of the hardest things I've ever done in my game development journey, and it was so worth it. Finally having the plot solved and outlined along with its gameplay counterparts was one of the most satisfying experiences I've ever had.

  • LinkedIn
  • GitHub
  • monochrome_largedfg
  • Youtube

©2025 by Jade Spooner. Proudly created with Wix.com

bottom of page