P2: Murder at The Old Villa — Case 07

Case 07: Murder at The Old Villa

Artist Statement:

*Case 07* starts from one premise: in this world, a person’s last minutes of memory can be recovered and treated as evidence. The game asks whether that makes it reliable. A storm strands six people in a villa; one of them is dead by morning, and the player spends the game moving between the other five, collecting the moments where what they say stops matching what the room shows.

The crime itself is deliberately plain — a locked door, a curtain cord, a glass of milk. The design attention lies elsewhere, in how people speak when they’re afraid. Amy is exposed not by a fingerprint but by a sentence no one asked her for: she denies touching the milk before the milk has been raised as a question. Her testimony isn’t missing anything; it contains one line too many, and that’s where it fails. The player doesn’t chase or fight anyone — they read, compare, and notice. A newspaper can’t be read in a dark room; the game sets out both facts and lets the player feel the contradiction before it’s explained.

Built flat before it was built gated, on purpose — we wanted the raw content to stand on its own before layering pacing on top of it.

Formal Elements:

  • Player — a single investigator, exploring a villa interior (2D/3D depending on build), no combat, no fail state during exploration. The only real “loss” condition is submitting a wrong verdict on the Case Board, and even that costs nothing to retry.
  • Objectives — identify who drugged the milk (Amy) and who strangled Felix (Coco), each backed by evidence rather than a guess — implemented today as three concurrent counters (evidence found / suspects talked to / memories viewed) gating a three-question accusation screen, not yet a single unified “build your case” objective.
  • Procedures — read the five suspects’ testimony (fixed two-line exchange on web; a real two-choice question hub per suspect in the Unity build, `DialogueManager.cs`), inspect Felix’s body, walk through six evidence markers, replay each character’s memory, then open the Case Board and name the drugger, the killer, and the locking method.
  • Rules — evidence and dialogue are symmetric and order-independent: six suspects/victim, six clues, all leaf nodes, feeding one threshold gate (found ≥ 5, talked ≥ 5, memories = 6) that unlocks the verdict screen. We value giving the player freedom to wander over a scripted rail, but we’re weighing that against playtester feedback that “no path” reads as “I don’t know what I’m supposed to be doing” rather than as freedom.
  • Resources — six testimonies, six evidence cards (milk cup, clock, breaker log, flat newspaper, curtain cord, automatic lock), six memory replays, and the Case Board itself, which doubles as our contradiction log: its evidence grid surfaces each found clue’s detail text — “the clock stopped once, Coco’s memory jumps from 22:14 to 22:22” — directly alongside the accusation dropdowns, so the player is reviewing the contradictions at the moment they accuse, even though nothing in the UI is labeled “contradiction” and no separate log screen exists.
  • Conflict — entirely social/epistemic, not physical: what each suspect claims versus what the evidence shows. Amy denies touching the milk; the milk cup contradicts her. Coco claims she never left the living room; the clock and breaker log contradict her. This is the game’s whole dramatic engine, which is why sequencing those reveals — not just placing them — is the highest-value next design move.
  • Boundaries — one villa, one night; no time pressure, no stealth/detection, no branching dialogue beyond a fixed exchange per suspect (two lines on web, two player-chosen questions in Unity). The death is described in evidence/memory text, never shown graphically.
  • Type of fun (Hunicke/LeBlanc taxonomy) — Discovery (piecing together six accounts into one timeline) fused with Narrative (the contradiction reveal is the story, not a wrapper around a separate puzzle mechanic).
  • Worldbuilding / genre lineage — mechanically closest to a walking simulator: movement is transport between interactables, not a source of meaning on its own, and there’s no traversal challenge. We’re explicit that this is a description of current mechanics, not design intent — the intended fun is deduction, not environmental wandering, so “walking simulator” is a honest label for the shipped movement layer, not a claimed genre identity for the whole game.
  • Narrative design type (Jenkins’ environmental storytelling framework) — the game is built almost entirely on embedded narrative: a fixed backstory (what actually happened that night) that the player uncovers through evidence and testimony, never rewritten by player action. This maps directly onto what “Resources” and “Conflict” describe above in plainer language.
    • Enacted/embodied narrative — largely absent today. Movement through the villa doesn’t itself carry story meaning (see “Worldbuilding,” above); the two doors/darkness/stairs mechanics that do exist are spatial gates, not storytelling ones (see `DESIGN_current-interaction-loop.md`’s affordance trace).
    • Emergent narrative — absent by design, not by omission: this is a fixed-solution mystery with one correct verdict, so nothing is meant to be player-generated or systemic.
  • Bilingual play — genuinely shipped, not aspirational: the web build has a player-facing 中文 / ENGLISH toggle (`app/game-client.tsx:695`), persisted via `localStorage`, and every room label, suspect profile, clue name, and UI string is fully translated in both directions. Live at the deployed build. This is a real value, not a translation layer bolted on after the fact — content was authored bilingually from the start.
  • Aesthetic/tone — quiet, domestic, slightly eerie rather than grisly. The memory-replay sequences (4 steps each, fixed first-person POV at a specific timestamp) are the emotional core, told in short, sensory, present-tense fragments (“the print doubles and every sound recedes”) rather than exposition, because we want the player piecing together feeling alongside fact.

Game System:

One loop — explore, interact, counter increments — repeated twelve times with no dependency between any task. Six evidence pickups and six talk-then-memory pairs feed a single flat threshold; nothing in the structure varies based on what the player has already learned.

Every interactable sorted by affordance rather than room. Only the floor-switch button does real narrative gating today; doors and darkness gate sight, not access. Every clue and every suspect is drawn the same size on purpose — nothing mechanically distinguishes a load-bearing clue from a flavor one.

The game’s actual conflict is epistemic, not physical: what each suspect claims versus what the evidence shows: each suspect’s statement wired to the clue that disproves it. All five red edges are available live simultaneously from the first minute — the reveal has no pacing yet.

The six independently-viewable memory replays, plotted at their true in-story timestamps (21:45–22:25). A real chronological sequence exists underneath them — including the drugging and the strangling — but the game never plays them in this order, so the player must reconstruct it themselves.

Today’s evidence/dialogue set modeled as a graph: 12 nodes, zero edges, every item reachable at t = 0. Beside it, the proposed Tier 0/1/2 redesign as an actual directed acyclic graph, where later clues require earlier dialogue — turning “add gating” into an edge-adding problem on content that’s already written, not a rewrite.

Taken together: Figure 1 shows the loop is structurally flat. Figure 2 shows why — almost nothing in the world does gating work. Figure 3 shows the content already has real dramatic tension (the contradictions) that the structure doesn’t yet exploit. Figure 4 shows a true chronological story exists underneath the six memories, currently scrambled by free order. Figure 5/6 makes the fix legible as a graph problem: add edges, don’t add content — the twelve nodes are already written.

Playtesting History:

We finished at around 14 playtests overall. Documented below are a summary of [🌟] what happened/changed, [❤️] what people enjoyed, [🤔] what people didn’t like/were confused about, along with detailed imagery throughout of what our then prototype looked and played like. 

Playtests 1-2 (7.28.2026, 7.30.2026 – time till solve: ~20 min):

[🌟]This was our very first few runthroughs of the game, we introduced concepts of “memory degradation” (limited time to read memories), a casebook to hold clues, and “spatial” exploration through the use of a 2D website format. Players had the ability to explore individual rooms by clicking on the associated tile, within which revealed character testimonies and physical evidence. Finally, there were also little lights indicating which tiles to go next on the map (red, yellow, green lights on corners of tiles). We used this because certain character testimonies unlocked new physical evidence, so the lights can guide the players back to previously explored rooms. [❤️] For our first test player, they enjoyed the availability of the notebook to hold all the clues they’ve picked up from playing. The subtle commentary about each clue (tone, language) was also appreciated and helped her in reaching her final accusations. They liked how there was an obviously innocent character to help anchor the game. For our second test player, they enjoyed the storyline and offered ways to improve the gameplay. [🤔] Both test players said they skimmed through some of the clues because there was too much text to process. Also the timer wasn’t effective in simulating “memory degradation,” in fact, at this point in the design it was hard to connect how this accessing “memory” concept fit into the narrative of the game. We originally intended it to be this futuristic dystopian where detectives could directly access (in first person PoV) other people’s memories. Although that part of the game had to be verbally dictated to the player before starting, and didn’t really seem to strike an impression to help further the plot of the game, only adding to the confusion. Furthermore, our test player 2 explained that they found it difficult to derive the relationships between characters from physical or character testimonies, wanting a more clear motive for murder. As well as the fact that the possibility of having more than one killer was not clear enough in the “accuse” panel, and that there was a crucial discrepancy in our timeline (very helpful catch!). Finally, both players enjoyed mysteries overall and would recommend to other players, which was helpful to know that they were from our target audience. 

website to explore the space in block-tile form. Notebook, map, and one-time-use “accuse” options available to users.
narrating “memory core” concept to the player before they begin, though we minimally reference this during the game, which may have done more confusion than not.

Playtest 3  (8.4.2026 – time till solve: 20 min):

[🌟] For this version, to first address the previous feedback, we added more interactions for the user. To do this, we created dialogue trees (we followed the example in class where we told a story through sticky notes and created new branches in the narrative for every decision) for the play tester themselves to “communicate” with the characters as a real detective. This took away some of the concerns of the mystery becoming a more walking simulator than detective game. We did this on paper, where at every point, the playtester may question the characters from a predetermined set of options. These options unlock after certain criterion, as well as physical evidence that unlocks throughout as previously done. However, this approach temporarily required heavy moderating from our side to keep track of which decision unlocks what (e.g. offering the player their available dialogue options since they can’t see the full stack yet). [❤️] We were very glad with the results, as we could visibly watch the playtester get more and more invested as time went on. They remembered which characters were which (names, relationships, occupations, everything), and went back and forth on questioning different people and examining various pieces of evidence just like we hoped. They said that they enjoyed the process of getting to know the story and characters, and had fun despite not correctly accusing all the guilty parties. It was also fun to know that they’re not the usual target audience (enjoyed first person shooter games), but still could have a lot of fun and would recommend the game to others. [🤔] One thing that was kind of difficult was that there was still no spatial map of the house. Understanding the story purely from listening to the moderator’s dialogue was not exactly the easiest. They had to picture and piece together the structure of the house and the characters and their relationships from imagination, which increased the difficulty of the game. However! They did say that the difficulty of the game was good, kept them engaged throughout, and gave them a fun challenge. We narrated the concept of “memory cores” here as well, but they explicitly confirmed that it did not add to the narrative as much. 

physical dialogue options the moderator could offer to the play tester, certain ones (orange dotted) only unlocked after their criterion were met.
Playtester examining the evidence along with the character dialogue trees side by side.

Playtest 4 (8.6.2026 – time till solve: did not solve, stopped after 15 min)

[🌟] This playtest was a big leap for us as we switched from our HTML format to Unity. We had been prepping the environment for a while, with a large spooky mansion and characters within the mansion. However, due to time constraints, we weren’t able to fit some of the evidence into the house, and certain things that helped progress the narrative from previous playtests had to be cut because it was difficult to do conditional dialogue trees and evidence (ie our “unlocking” mechanism). We pushed this iteration forward because we hoped that having a spatial map (addresses all previous playtests) would be hugely beneficial and can help shift away from the dependency on a moderator. [❤️] The playtester did not enjoy the experience, detailed as follows. [🤔] There was a rather long list of things that the play tester did not really enjoy, but hiccups were expected because we were moving forward with our rather crude, first iteration, of our Unity prototype. However, many points they mentioned in this playtest would become crucial to how we moved forward from here. First of all, the house felt way too big and there were too many distractors. This was likely due to the lack of guiding, for eg guiding lights we no longer had from previous playtests (easier to do on HTML than on Unity which none of us had experience with). They did not feel guided to focus on next steps, and were confused throughout. In fact, they felt thrown into the game with no understanding of what to do (besides from someone has been killed, figure out who), and would frequently focus on details that they later learned were not useful for the case (eg the way the door opened, how some rooms had decor that wasn’t related, etc). For a player who clicked through the space at a rather fast pace, they felt like many of the clues were not evident enough throughout the house. This reminded us about how in spatial exploration games, the narrative must be injected throughout the space and in many varying formats all pointing to the same conclusion, to precaution against the player missing a useful clue to the size of the exploration space. They didn’t like how the characters were just standing in various rooms, and that it took away from the immersion feeling that we hoped having 3D space would achieve. Finally, the text felt too abrupt, there were limited animations, and it felt like they were hit with a text wall and “a reading test.” The player stopped attempting to figure out the mystery from frustration at around 15 minutes 😅 

playtester going through Unity mansion.
Play tester 5 (8.7.2026, time till solve: ~25 min) also tested this version, grouped in through this photo. They also noted how the family relationships were hard to follow, and would like the use for an auto-summarizing notebook as well as casebooks and progress bars.

Playtest 6-9 (8.11.2026, time till solve: ~20 min):

[🌟] After reviewing the feedback from sessions 5 and 6 (see above), we decided to shift back to a website format. This time, we wanted to merge the spatiality aspect of using Unity with the flexibility of an HTML website. This allowed us to approach players with a much more intentional spatial map (no hollow space, left out evidence, etc), and integrated clues and conditionals for our dialogue trees. This begins the basis of our final iteration. We were able to fit in multiple play tests during this class session and flushed out this version through their feedback. [❤️] The visuals of the room were well received, players seemed less confused than when we were using Unity which was great. Everyone also felt engaged enough to keep playing and solved the mystery at around the average time before we switched to Unity. They analyzed evidence, revisited memories, and located suspicious objects at around the times we expected. Most players in this session enjoy mystery games, fitting our target audience. [🤔] The most common feedback we received was that the backstory, plot etc needed polishing, and motives/relationships needed to be more intentional and grounded. They wanted more agency in the game and actionability. It was also visually confusing between the various characters, which could use more distinction. The control UI for this version also had some issues that needed resolving, but that’s more mechanical. Some players wanted more hints/guidance when playing the game and wanted more immersion in the UI space (e.g. actually be able to walk down the stairs rather than click a button to “walk”). Play testers also suggested the use of decorative items and irrelevant information to increase difficulty, as well as redundant information to help enforce information. Background music would also add to the atmosphere. 

play tester examining the relationship family tree we provided for more context.
play tester interacting with characters.

Playtest 10-13 (8.13.2026, time till solved: ~35 minutes):

[🌟] Some of these play tests (play testers 10 and 11) have videos linked below. For this version, we smoothed out the language of the dialogues, added the relationship maps before the players entered, recruited play testers who enjoyed mystery games explicitly, and offered our game to play testers in English and Mandarin Chinese. We further distinguished the characters by adding specific clothing choices and aesthetics, as well as adding guiding lights on evidence to help users realize that those were pieces of the puzzle to collect. The casebook was easily accessible and helped collect clues, it also indicated which questions to answer in order to solve the case (this helped the players realize they’re looking for multiple people). The UI issues previously brought up were fixed, and background music was added. [❤️] This was one of our most popular iterations yet. From the language accessibility to the atmosphere of the game, it was well received across the board. For play testers 10 and 11 ( they played individually but side by side), they enjoyed the narrative and storyline, as well as the guidance towards the evidence. One of them really liked walking through the walls, another thought it took away from the immersion. But both seemed to like how the characters were now well distinguishable and the house and atmosphere design. Play tester 12 played in Mandarin and really enjoyed the twist of certain characters after assuming they would be suspicious. They liked how Amy was eluded from any of the evidence, and only after thinking for a while realized that it couldn’t have been anyone but her. They also enjoyed how there were obviously suspicious characters (kind of like play tester 1 who enjoyed the use of obviously innocent characters) and used it as their starting point. Player 12 also liked the simplicity of the aesthetic, and thought that we can use that to help further the plot as well. Player number 13 was our most critical review during this round, and their feedback is summarized next. All players are avid enjoyers of mystery games/tv shows/movies, and are our target audience. [🤔] In totality, one thing we didn’t patch well is the backstory introduction. For many, the solving of the case was fun enough as is, but to us, it was still rather sad that we weren’t able to emotionally engage the players. This is something we’d love to further explore in the future. We believe that only by emotionally investing into these characters would players be willing to spend more time solving the mystery, and we can thus increase the difficulty of the case as a result. But for now, that appears to be one of the key points we would address with future work. The idea of using a pen and paper to write down case notes has also been contested throughout the play tests, with some loving it and some hating it (many indifferent). The idea of having a more flexible caseboard/case file that simulates one a real detective would have would be great. Two of the four play testers suggested to improve mobility by adding new PoV options (ie not locked to one perspective) and the ability to use a mouse to move around rather than keys. Finally, some evidence could be more load-bearing (eg curtain rod, newspaper) and one player suggested the use of environmental storytelling to do so. For eg, to inform the player to look into how it’s suspicious to read newspapers in the dark, we can start them in the room with no lights on, and by actively requiring them to see how dark the room is without light, they themselves can deduce this discrepancy. We were able to implement this change but were not able to get a new play test of it sadly. All in all, we learned so much throughout this process, and were really glad that people enjoyed the game and spent more time invested in it than any other iteration round for our final play tests! Thank you so much to the teaching staff and all our play testers for making this process so fun and informative!!

play testers 10 and 11 interacting with characters.

 

Game:

Watch last gameplay! 

Play our game here!

Github Repository.

Backup Repository.

Team members:

Daniel, Alex, Xi, and Michelle

About the author

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.