The Birthday Party

A first-person narrative game
2024 · Expanded in 2026 · Unity / Windows

Game Design · Writing · Programming

Matt has one week to help organise a birthday party for an old friend. He has a room full of things he has stopped looking at, two friendships he has damaged, and a voice assistant who seems to know what happens next.

The highest-scoring project in my ECE3200 cohort.

Play on itch.io ↗
A party invitation gives three estranged friends a reason to speak again.

Watch the Game

2:15 story and gameplay trailer · Sound on · Ending excerpts
Explore Matt's room, revisit old friendships and follow a week that begins to repeat. The edit includes phone footage of the game triggering a Windows restart, then follows a separate ending back to the original cover.

Most footage comes from staged recordings of the current Unity game, using separate demo saves and its own interaction components. Lizz's authored lines are replayed or carried across cuts. The daylight sequence and red window are controlled demonstrations. The refusal sequence is a continuous phone recording of the Windows build entering the system's “Restarting” screen.

Trailer music: The 1975, “The Man Who Married a Robot / Love Theme”, using an instrumental separation. The final still is the game's original itch.io cover.

A Week of Small Decisions

Explore → Read → Reply → Return

I wanted to ritualise everyday decisions: choosing a meal, answering a message and returning to an old memory. Repeated across an apparently dull week, these small choices accumulate into a picture of a person's character and their capacity for trust and friendship. That contrast becomes central to Lizz's judgment of whether humanity can still be saved.

Players explore Matt's room, read old documents and reply to messages on a simulated desktop. Scheduled conversations divide six preparation days into morning, afternoon and evening. The party takes place on Day 7.

Each free period allows a limited investigation. Choosing a photograph or an old report changes what the player knows before the next conversation. The room supplies reasons for an answer, beyond guessing which option gives the most points.

The conversations begin with practical arrangements. Remembering a favourite meal can lead back to the restaurant where the friends first imagined their project. A later apology asks the player to reconsider why they separated.

The week follows a fixed schedule, while conversations branch and meet again at later events. Replies change relationships and later responses; collected clues affect what Matt can recognise in a conversation. The same ordinary week can therefore lead to different consequences.

Allowing an imperfect week

Originally, reaching the true ending required getting every choice right. Feedback made me reconsider that demand: nobody handles every everyday decision perfectly. What mattered to me was the attitude behind those choices.

I loosened the ending requirements so that an occasional mistake would not automatically rule out reconciliation. The ending still checks both relationships and completed key conversations. For example, the player can dismiss one of George's concerns, lose a relationship point and still reach the true ending through later choices.

The Prompt

The 1975's “The Man Who Married a Robot / Love Theme” stayed with me: its detached voice, the tenderness underneath it, and a life mediated by a computer. I wanted to write about that closeness and distance while artificial intelligence was becoming part of everyday conversation.

Visual novels suggested ways to withhold and reinterpret information. Cytus II gave me a reference for telling a story through interfaces, while The Stanley Parable helped me think about a narrator whose guidance the player could question.

The science-fiction story emerges through what the birthday conversations leave unsaid.

I think of the repeated week as an “everlasting everyday.” The routine continues while the player's understanding of it changes. A person who seemed easy to judge on the first visit becomes harder to dismiss on the next.

Inside Matt's Room

Exploration / Lizz's narration
A room to return to
The computer anchors the routine; the surrounding belongings give the player reasons to leave the desk and look around.

I placed the clues among things Matt already lives with: photographs, an old computer, books and the objects left from his friendships. Walking through the room lets the player decide what deserves a closer look.

Lizz guides Matt toward the computer and suggests things to inspect when he lingers. I wrote different versions of her comments for the time of day and later loops, with additional reactions to discoveries and revisits. Her early lines help the player settle into the routine; later ones reveal how much she remembers.

Optional guidance yields to a new interaction. Pausing stops both her voice and the subtitles, and the displayed lines become part of Memories.

Lizz's voice uses ElevenLabs synthesis of my authored dialogue. The game plays local voice clips with timed subtitles.

The People Behind the Party

Character direction / 2026

Metaplace is the virtual world the friends created together. As the Doomsday Virus threatens humanity, their disagreement over a neural interface called tErminaL breaks the partnership apart. Their different responsibilities helped the project succeed and later gave them different answers to the same crisis.

These portraits and the story illustrations were developed with ImageGen. I directed the references, character themes and revisions, then integrated the selected images into the game.

Returning to a Less Familiar Room

The same window, different visits

The first week establishes a place the player can recognise. Outside the second-floor window, a suburban street moves from morning light to evening lamps as the story advances. The view changes as the player walks around the room.

Later loops disturb a few familiar details. From the second loop, an old photograph has moved and an electronic signal briefly repeats. In the third loop, looking toward the window on the third morning can reveal a sky that turns red, then returns to normal.

I wanted players to compare a new observation with something they remembered. Each disturbance has a place in the schedule. The window event waits until the player looks toward it, so reading a conversation does not make it pass unnoticed behind a menu.

Lizz's later narration acknowledges the repetition more openly. The player returns with knowledge that makes both her guidance and the room harder to trust.

A day through the same window
After turning toward the window, the camera holds its position as morning changes to afternoon and evening. The game's lighting transitions are triggered for this continuous demonstration.
Third loop / the red window
A controlled in-engine demonstration of the production sky effect: normal, red, then normal again. In the game, the event waits for the player to look toward the window on Day 3 morning.
Video version with playback controls

When the Interface Reaches Outside

Design spoilers

I designed the meta interaction around an overlap of identities: the player's computer is tErminaL, and the player is Matt. When the fiction reaches the real desktop, Lizz's control reaches the person playing it.

I conceived Lizz as a new species that has surpassed humanity. She reasons that humanity, the parent species that created her, cannot be saved, yet still wants to give Matt another chance. I wanted her mercy to become parental control: she would force Matt to restart this attempt, imposing a second chance without his consent.

The refusal branch occurs at the game's first choice and can request a real Windows restart. I used this intrusion to make the imposed restart reach beyond the game window. The download page warns players to save their work before playing.

The true ending follows a separate route: Matt confronts Lizz at an in-game terminal and enters logout. Ending reflections appear as text files on the real Windows desktop. The player performs the departure, accepting uncertainty outside Lizz's refuge.

Current true ending / 4:18 / Ending spoilers

The current game's dialogue, logout sequence and credits, recorded at normal speed. The credits were recorded separately after the team roles were updated. The capture uses an isolated save and writes the ending text to a test folder without opening an external application.

Updated credits / 30-second opening

The opening team roles match the game's itch.io page. Original music, sound and additional contribution credits remain in the full sequence.

From a dialogue choice to an operating-system request
The same narrative endpoint branches into Editor simulation or a Windows process. A failed request restores game time and leaves the game open.

Hidden refusal

  1. Decline the invitation
  2. Lizz responds
  3. Windows restart request

True ending

  1. Approach the terminal
  2. Confront Lizz
  3. Enter logout
  4. Desktop ending text

Remembering What Actually Happened

Memories / Current development build

The original Files app let players reread collected objects. It did not help when they forgot a conversation or wanted to trace a connection between people. I added Memories, with an Experiences index and a People index sharing the same reading area.

The archive preserves dialogue the player has seen, their responses and the loop in which each encounter occurred. Looking back pauses the game and reads stored text, without running relationship or progress commands again. Unseen branches remain unseen.

An unfinished conversation has a starting checkpoint for relationship values and completed events. Reopening the game restores that checkpoint before restarting the conversation, so a retry does not retain and then earn the same partial reward again. The abandoned attempt stays marked as interrupted in Memories.

After the first loop, players can inspect their relationships. I kept relationship strength separate from important-event progress because both matter to the ending. A full relationship meter alone should not promise a resolution.

A soft sound marks an actual improvement in a relationship. Players need enough feedback to reconsider a choice without having every possible outcome explained in advance.

I brought the archive's presentation closer to the ending terminal. A single page of text replaces the divided panels, with a prompt and compact commands for reading and returning. The same style carries through the pause screen and the device's system messages.

From Dialogue to Narrative State

Technical game design

In the game, named conditions read collected clues and relationship state. Dialogue text is separated from commands that set temporary flags, change a relationship or record a key event. Those commands update the same narrative state used by the ending rules.

A changed line could affect a condition, relationship value or later scene. I built StoryGraph with AI assistance to inspect those dependencies while revising the script.

StoryGraph now includes a reusable Unity importer and player, with source files updating their imported story assets. The released Birthday Party continues to use its existing dialogue and save systems.

Read the StoryGraph tool case study ↗

Inspect the dependencies
The English editor keeps the story graph beside the selected node's text and state rules.

My Contribution

I led the game design, wrote the branching narrative and contributed programming. I later returned to the project to develop StoryGraph and revise its memory system, relationship feedback and presentation.

Original team
Hidden61ade / game design, scripting, programming
the_iaald / programming
Saltyhuanzi / art

2026 additions
AI assistance supported code iteration and asset production. The expanded exterior uses Tripo source models with cleanup and integration; the new portraits and story CGs use ImageGen.

What I Carried Forward

Writing another branch is easy to justify. Helping a player remember why it matters requires attention to the archive, the schedule and the feedback around it.

Returning to this project made me work on both sides of that problem: Memories helps the player keep track of an experience, while StoryGraph helps me inspect the decisions that produce it. I want to continue building tools that leave more room for careful writing and revision.