P2: The Empathy Machine – Rachel

1. Play first

Play The Fox: rachelzhao.itch.io/the-fox

I recommend playing before reading. The rest of this post explains how the game was made, and it spoils every ending.

  • The playtime is 25–35 minutes for one ending. There are 4 endings.
  • The game is best with headphones, on a laptop or desktop browser. Click Begin on the title page to turn sound on, or choose Begin in silence.
  • Play by clicking the golden words to read on. Some choices ask you to press and hold.

Content warnings:

The game includes death of a loved one, and grief. A character chooses his own death by snakebite (from the original book; this is not graphic). An animal hunts and kills a chicken. There will be gunshots, with a loud sound and a brief screen shake and white flash. It involves a slowly drifting background and some trembling text (all of these turn off if your system is set to reduce motion).

2. Branching Choice Map

The branching choice map is generated with Mermaid. Red dashed boxes are choices locked by the mother’s law. The gold box is the core moral fork. Blue boxes are press-and-hold interactions. The link to the HD version is https://drive.google.com/file/d/1cuYIPlwNpDgRawcddwK-bv2WWejEqxz3/view?usp=sharing

The story uses a branch-and-bottleneck structure. The acts always come back together at key scenes (the four days, the snake, the last four o’clock), so the story stays a complete arc. In between, the player’s choices change what happens, what is said, and which ending is reachable.

3. Overview

Premise

The Fox is a choice-based interactive fiction adapted from The Little Prince by Antoine de Saint-Exupéry. You play the fox. A golden-haired boy appears in your desert, crying. You teach him what it means to be tamed, you let him tame you over four days at exactly four o’clock, and then you have to decide whether to tell him the truth that will send him home.

How the idea came to me

Ever since I heard that Krystal was adapted from a novel, I kept asking myself which novel moves me most and is also one that most people have already read. My first idea was Gone with the Wind. After brainstorming it again and again, I realized people have very different feelings about Scarlett, and empathy is hard to build for a character the audience already argues about.

Then I thought of the 3D Little Prince world developed by Sac (@Saccc_c) , which went viral and started conversations all over the world . Everyone feels for the little prince and for his rose. Almost no one writes about the fox: the one who slowly takes off its armor, who loves the prince and still has to let him go, and who honestly tells him that his rose is unique, knowing that the truth will take him away. That is the character this game is about.

Intent: who I want players to empathize

I want players to feel empathy for the fox, and through the fox, for anyone who has loved someone they could not keep. In the book, the fox gets two pages and one famous line. In this game, the fox has a history (a mother killed by hunters), a rule that kept it alive, and a choice: to keep someone by lying to them, or to let them go by telling the truth. The tone I aimed for is tender, quiet, peaceful and bittersweet, the tone of the book itself: “You will cry.” “Yes.” “Then it has done you no good at all.” “It has done me good, because of the color of the wheat.” The message is the fox’s own lesson, turned back on the fox: being tamed means accepting that you will be hurt, and love is worth it anyway. 

Target audience

In my original premise, the player is a wild desert fox who possesses deep alertness and survival wisdom and secretly longs to break its isolation. The player’s long-term goal is to decide whether to accept being tamed, and to give a new purpose to life after the prince departs. The final game keeps that goal, and the audience below is who I designed it for.

Primary audience is teenagers and adults who have read, or at least know of, The Little Prince, and who enjoy short, peaceful, emotional, reflective stories more than challenge. The game is also for readers of interactive fiction and narrative games; players who like collecting multiple endings; anyone who has had to say goodbye to someone they loved; literature students interested in retelling a classic from a side character’s view, and even intermediate-level English learners.

4. History Versions of Game

Timeline at a glance

Date Milestone Feedback that shaped it
Oct 19 Tiny Playable Prototype (V0) In-class playtest with Olu (5A)
Oct 20 Playtest Prototype Out-of-class playtest with Yuan Tian, who also took this class last year
Oct 20–25 Structural rewrite, readability, choices, full arc, audio and visuals (V1–V5) Self-playtests; in-class playtest with Yuina (5B)
Oct 25 Refined Prototype published on itch.io Out-of-class playtest with Cheng Lang (V5–V6)
Oct 26–29 Publishing fixes and revision based on TA’s feedback(V7–V8) Aden (6A), Michael (6B), and Lucas (TA)

Version 0 – Tiny Playable Prototype (Oct 19)

My original design tracked the fox’s emotions with three visible numbers: bond, wildness and vulnerability (Figure 1), plus a knows_secret flag. The four endings were chosen by the accumulated values. The player’s agency was mostly about managing physical distance and choosing between “cold warnings” and “sharing vulnerabilities.”

In-class playtest with Olu (5A).

Olu is a master students from the MS Learning, design and technology program at GSE. He worked as a software engineer before coming to Stanford, but he has not read the little prince.

Four observations:

1. Some passages had only one link, which made Olu feel like a passive reader. The Change I made is that every passage now has at least two distinct choices, even when both lead to the same scene.

2. “Can I choose not to be tamed? Can I attack or kill the Little Prince instead?” Olu wants to test the limits of a system. I decided not to allow harming the prince, because it conflicts with the core goal of vulnerability and trust. However, I later made a change (V1)  by adding a way to refuse taming. A guarded fox can walk away in Act I or stay underground in Act II, which leads to the Wild ending. Refusing is part of the fox’s character; cruelty is definitely not.

3. Variables went above 100 (Figure 1), so Olu couldn’t tell how close he was to an ending. The Change is that I clamped all three values between 0 and 100. (In V9 the numbers were removed from the screen entirely.)

Figure 1: Screenshot showing variables going above 100

4. The Restart button was pushed off-screen by my sidebar CSS. Thus, I reduced the sidebar’s margins and padding.

Out-of-class playtest with Yuan Tian(Oct 20).

Yuan Tian is a master student. Her program is Asian Studies, and she has great expertise in coding, data, NLP, and game design. She got an A in CS377G last years.

She strongly connected with the fox’s senses (sniffing the air, tail tension, body heat), and the tension between survival and vulnerability made her hesitate before choices. She also found three problems:

  • There is an infinite loop, which is comforting the prince about his rose on Day 3 sent players into a passage shared with Act I, whose exit returned them to Day 1.
  • Meta-labels such as [[Enter Act III: Shadows of Departure]] felt like system instructions and pulled her out of the story at its peaks.
  • Act III felt repetitive (sheep, muzzles, well water again) and jumped abruptly from the sheep to the wheat.

Changes include that I mapped every entry and exit on the Twine canvas to remove circular paths, replaced every meta-label with a sensory action (for example, “Freeze, your eyes locked on the glowing yellow shape halting in the sand”), and rewrote the linking paragraphs.

Problems I still found when auditing it afterwards:

  • Act III borrowed scenes from the pilot in the book (the singing well, drawing the sheep), so the fox “remembered” things it had never done.
  • The timeline jumped between night and dawn.
  • Because of the stat math, two of the four endings could never be reached.

Version 1 – Structural rewrite: giving the fox a wound

Structural rewrite: giving the fox a wound

Feedback (source) What I changed
“Act III felt repetitive, circling back to old topics (sheep, muzzles, well water),” and jumping from the sheep to the wheat was “jarring” (Yuan) Rebuilt Act III around one new event: the rose garden and the choice to tell the truth or lie.
“The scenes sometimes don’t connect, especially after entering Act III.” “The overall plot still isn’t working.” (Yuan) Planted the well, the snake’s wall and the wheat in the first passage, so later scenes pay off something the player has already seen.
“Can I choose not to be tamed?” (Olu) Added the Wild ending: a guarded fox can walk away in Act I or stay underground in Act II.
The point of the game is empathy, but the fox had no reason to fear ties (Yuan) Gave the fox a wound: its mother’s law, and how she died breaking it. Rebuilt Act II as four days of four-o’clock rites with real stakes (hunters on Day 2, the well on Day 3).

 

Version 2  – Readability (Oct 21)

For the in-class playtester, Yuina is a CS master student, who has a lot of experience in coding. She is also a fan of cozy and peaceful games. She has read the little prince before.

Feedback (source) What I changed
Players “might skip the paragraph before making the choice” (Yuina) Every passage now opens in parts. You click a golden word to reveal the next part, and choices appear only after the whole passage is shown. (see Figure 2)
Some passages have far too much text on one page. (my own playthrough) Cut the text by about a third.
The descriptive language sometimes feels mechanical. (Yuina) Rewrote the prose in short, image-driven sentences, restoring the rhythm of my original draft.
“Why is there so often only one option? One option is fine sometimes, but it’s too frequent.” (Yuina) Every passage got at least two options.
“Why are there always strange, huge blank lines?” first between paragraphs, then between choices (my own playthrough) Fixed both layout bugs in the page code.

Figure 2: A Golden Word

 

Version 3 – Choices with tension, and echoes (Oct 22)

Feedback (source) What I changed
Looking at “Give him your secret” vs. “Give it slowly, word by word”: “These two choices aren’t any different. A lot of the choices aren’t well written or tense enough.” (Yuina) Rewrote 26 choices so that each pair sets two opposing impulses against each other (fear vs. love, holding on vs. letting go). See Figure 3 and 4.
Two options that lead to the same place feel pointless (my own playthrough) Added callbacks, so the text later remembers which one you picked (the hum, the scarf, asking him to stay).

Figure 3 : Choices Before

Figure 4 : Choices After

 

Version 4 –  A complete arc: Acts III–V and four endings (Oct 23)

This step was driven by my project plan rather than by new feedback. The plan called for four acts and four endings decided by the player’s journey. I wrote the rose garden, the snake, the farewell and the aftermath. I also added a final scene in which a thirsty man who fell from the sky with a broken machine (the book’s pilot) arrives, so that in the Guardian ending two strangers discover they both loved the same boy.

Feedback (source) What I changed
What worked best was the fox’s senses: sniffing the air, tail tension, body heat (my own playthrough) Extended the senses beyond text: code-drawn scenes (Figure 5), wind and crickets, music for each act, and sound tied to keywords.
The text and the picture are sometimes out of sync. (my own playthrough) Checked every passage against its scene and fixed about 20 mismatches. Scenes now change mid-passage when the story moves.
Why does the screen sometimes flicker like crazy? (my own playthrough) Measured the cause (brightness dipped about 10 levels during every crossfade) and fixed it (now under 1).
There’s a strange ‘happy’ passage that readers may not understand.  (my own playthrough) Rewrote the passage so it is clear that the fox’s body still gets ready at three o’clock after he is gone. Added missing transitions (for example, why the fox is back in its burrow on Day 4).

Figure 5: Scenes generated by ChatGPT

 

Version 5 – Cheng Lang’s out-of-class playtest (Oct 25)

The link to the playtest video: https://drive.google.com/file/d/14HV9xDu4_GfGkt-FU55JCKgnWRr_zklx/view?usp=sharing

Cheng Lang is a first-year education data science student. He loves playing games, but he’s not very into cozy stories.

The recording shows Lang playing through the game. While watching it, I noted what he said while playing and how his face reacted. His words are translated from my notes.

  • 05:58 Laughs.
  • 08:00 His mouth drops open into an “O.”
  • 08:17 Laughs.
  • 10:44 Laughs.
  • 14:27 Before choosing: “I think if I pick the first option, it’ll die. Ah, whatever. If it dies, it dies.”
  • 16:01 “So melodramatic! Might as well see it through. Let them be together.”
  • 18:33 “Am I going to die?”
  • 20:05 “Wow.” He has found something hidden.
  • 21:16 He commented, “Let’s see if there’s anything beautiful left in this world” when the human appears at the end.

These moments show that Lang was inside the story, not just clicking through it. He laughed at the lighter moments and gasped at a turn. Before a hard choice he expected it to cost the fox its life, and he chose anyway (14:27). By 18:33 he was asking “Am I going to die?”, speaking as the fox rather than about it. At 16:01 he decided to bring the two characters together. He discovered a hidden interaction on his own (20:05), and near the end he went looking for something beautiful (21:16). This is the empathy the game is built for: the player starts to care what happens to the fox, and to the people it loves.

Feedback from Cheng Lang What I changed
Visuals monotonous; the prince and fox models are rough Redrew both characters (spiky gold hair, two-layer scarf, ear twitch, swaying tail, breathing) and added mesas, clouds, birds, a Milky Way and swaying grass.
Only realized later that it is The Little Prince The title page now states the source and “You are the fox,” with the prince’s planet B-612 in the sky.
Tell players which ending they got and how many there are An ending card shows “Ending 2 of 4,” endings found, hints for missing ones, and Play again. (See Figure 7) Progress is saved in the browser.
The snake disappears and reappears; it feels disconnected The snake is foreshadowed in the opening, on the first afternoon, and on Day 3.
The snake looks ugly Redesigned the snake: tapered body, banding, a raised head with an eye, a forked tongue, and slithering.
The variables on the left are not obvious Replaced bare words with labelled meters and change arrows (later removed in V9, see below).
“Like a warning” and “like a confession” are too similar; “Let the fear catch up” is abrupt; does “Walk home carrying the forty-four sunsets” mean anything? Rewrote these as clearly opposed actions. For example, “Hesitate. You remember what happened to your mother,” and “Say nothing. Pride keeps your mouth shut” vs. “Tell him you’re sorry.”

Figure 6: Exemplar Changes  Inspired by Lang Cheng

Figure 7: Ending Card

 

Version 6 – The interaction pass (Oct 26)

Feedback (source) What I changed
Add more interactions like the screen shaking after gunfire; it is very immersive (Cheng Lang) Added interactions such as cursor peek (see Figure 8), real waiting with a clock (see Figure 9), press-and-hold (see Figure 10), heartbeat text (see Figure 9), the snake eclipse, the wheat ripple, the typed secret, the blackout, clickable stars, a “Kept close” inventory, and the empty fourth four-o’clock dot.
The plot feels flat; add choices where you pay a price for your decision, as rare events (Cheng Lang) Partly addressed here through the hold interactions, which make a choice cost effort. Fully addressed in V9 through law-locked choices and cost-stating labels.

Figure 8: cursor peek

Figure 9: real waiting with a clock & heartbeat text

Figure 10: Press-and-Hold

 

Version 7 – Publishing and continuity fixes (Oct 27–28)

Playtest video with Michael: https://stanford.zoom.us/rec/share/uGI6sCbGwfwJyd_PVumd25SRJFFT3xKe9H-LFoYfkX88Qk9q5tiqMUarAek8jcyx.m6gF9nNp5iB-qK_Passoword: TZ66x*=n) Michael talked about the game with and without its pictures, sound and interactions: “That’s a good point. Without it, it definitely felt like a children’s book in a good way, you know? So… not that it didn’t feel like a children’s book with it, it was just… added some, like, sort of game part of it that…”[22:10] The story on its own already reads like a children’s book, which is the tone I wanted to keep from The Little Prince. The audio-visual and interaction layer did not break that tone. It added a “game part” on top of it. His comment confirmed a rule I then kept for the V9 revision: every effect has to serve the book’s tone and a moment in the story, and none is added only as spectacle.

 

Version 8 – TA (Lucas) revision: the current version

Key quotes from Lucas include:

“The visuals are nice!” “I really liked the holding of the button to ‘press close’ to the little prince while he was sleeping. That felt good.” “The story is nice and feels complete!” “A lot of the writing is very cryptic… Every line should do meaningful work!”

Feedback Change
The law doesn’t actually bind us; restrict the player physically Law-locked choices that pull away and show the mother’s voice, gradually unlocked by trust (see Figure 11). A law-obeying path always exists. Ian Bogost defines procedural rhetoric as arguments made “not through the construction of words or images, but through the authorship of rules of behavior” (Bogost 125). For eight versions, my mother’s law was only words. In V9 it became a rule of behavior: the game will not let you do what the fox is afraid to do.
Confusing wording: “I didn’t know when to be ready… Ready for what?”((see Figure 12) Rewritten and tied back to the first-day rule (see Figure 13).
The “Your Guard / Your tie” numbers break immersion Meters are removed. The boy’s dialogue now reflects your bond. The sidebar keeps only the day, the distance, and things you have kept (see Figure 14).
The writing is cryptic; every line should do meaningful work A line-by-line audit cut the text from 6000+ to around 5000 words in plainer language.
Choices should feel more consequential I added gold borders (see Figure 11) on major forks, and labels that state the cost.

Figure 11: The Locked Choice

Figure 12: Wording BeforeFigure 13: Wording After

Figure 14: Change Towards Sidebar

 

5. Why I believe the game is better now

Measure Earlier Now
Endings reachable 2 of 4 (V0) 4 of 4 (checked by exhaustive path analysis)
Loops and dead ends an infinite loop from Day 3 to Day 1 (V0) none (every path checked automatically)
Meta-labels like “Enter Act III” several (V0) none; every choice is a character action
Passages with only one option many (V1) none; locked choices always have a law-obeying alternative
Words in the story 6,416 (V8) 4,964 (−23%), plus golden-word pacing
Can players skip to the choices? yes no; choices appear after the passage
Scene-change flicker (brightness dip) about 10 levels under 1
The mother’s law flavor text a rule that physically blocks choices, loosening 93% → 54% across the four days
Bond shown as a number the boy’s words

The qualitative evidence matches. Early feedback was about clarity and continuity (the snake, the source, the variables, skipped text). The latest feedback praises the visuals and the press-close interaction, says the story feels complete, notes that the game keeps its children’s-book feeling while adding a game layer (Michael), and asks for refinements of feel (binding the law, plainer prose) rather than fixes to the structure.

 

6. Reflection

This time I took a two-page side character and gave it a wound, a rule, a choice and four endings. Then I rebuilt the game nine times around what playtesters actually did, not what I hoped they would do.

I learned that:

  • Players read with their hands. The moments people remembered were not my best sentences. They were holding a button, waiting for a clock, and a choice that refused to be clicked. A mechanic that is the emotion (the law, the waiting, the hold) does more than any description of it.
  • Visible numbers make feelings into scores. The bond worked better once it lived in the boy’s voice.
  • Faithful is not the same as clear. Being true to the book’s style made parts of the game cryptic for readers who hadn’t read it. Clarity came from cutting, not adding.
  • Continuity is empathy. When a snake appears out of nowhere, or a scene shows the wrong time of day, the player stops feeling and starts noticing the seams.

Next time:

  • I will record every playtest and take, organize notes from the start, with timestamps noted as I watch.
  • Keep a word budget for each passage from day one.

Reference:

Bogost, Ian. “The Rhetoric of Video Games.” The Ecology of Games, edited by Katie Salen, MIT Press, 2008, pp. 117–140.

About the author

Leave a Reply

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