(SCROLL DOWN TO SEE MORE INFORMATION ABOUT THE PROJECT)

Biet vay

Stepping into the what-ifs.

Role

Solo development

Genre

Narrative

Experimental

Puzzle

Tools used

Unity

Blender

FMOD

Yarn Spinner

Duration

3 Months

About

Regrets in life. It is a fantasy that you can attempt to fix what “could have been” by rearranging your words to form different sentences in various situations of life. 

…and in Vietnam, we say “Biet vay,…” before every action we wish we could undo.

Core gameplay loop

Loop overview

Players assemble sentences to interpret a character’s regret. Including or omitting the phrase “Biet Vay” determines whether the player can enter a fantasy scenario, where dialogue choices alter the outcome. Each loop concludes with observing the result and moving to the next character.

Gameplay loop illustrating player flow and decision points

Key systems

Sentence Construction System

The player constructs a sentence as their dialogue choice. Instead of selecting an option, meaning is shaped by how words are arranged, mirroring the way people think before speaking.

Words that reflects character's emotion

Certain words carry emotional weight and are harder to interact with. This reflects hesitation or difficulty in expressing certain feelings.

Micro-interactions

Small interactions let the player progress through the game while supporting the mood of the scene.

Reflection Space

After completing the vignettes, players can view and share their own “Biết Vậy” as a form of reflection. This space reinforces the theme of letting go rather than altering outcomes.

Process & prototyping

Initial Concept

At first, Biet Vay was planned as a 2D game focused only on removing the phrase “Biết Vậy.” The idea was to let the player see regret without trying to change it.

Exploring the Fantasy

As the project developed, I started asking what would happen if the player could step into that regret. Instead of only observing, the player could enter the fantasy and experience what it feels like to try to change the past.

Building Meaning Through Words

I tested a system that combines 2D word ordering with 3D space. Sentence construction became more than a dialogue mechanic: arranging words allowed players to express intent through interaction, rather than selecting pre-written options.

Design Direction

Switching between 2D and 3D, and building sentences word by word, encouraged players to slow down and read carefully. Making a sentence became part of the decision itself, helping connect interaction to themes of regret, hesitation, and acceptance.

Technical implementation 

Narrative tooling

I built the narrative system on top of Yarn Spinner and extended it in C# to support custom word-ordering interactions. Instead of treating dialogue as static text, narrative scripts define interactive word blocks and control how sentences are constructed during play.

Word Generation

Dialogue is hand-authored using a structured format where sentence fragments are explicitly defined by the writer. Word breaks are marked directly in the script, allowing each dialogue option to be presented as an interactive, rearrangeable sentence during play. 

Tag-Based Modifiers

Some words are marked to behave differently during interaction. These markers allow certain words to feel harder to drag, or to act as special words like “Biết Vậy” that can change other words in the sentence. This makes emotional weight readable through interaction without adding new systems.

While time-consuming at first, this system allowed me to focus more on narrative design without introducing additional technical complexity. It made it easier to iterate on dialogue, emotional beats, and structure while keeping the underlying system stable and reusable.

For a more detailed breakdown of the technical implementation and iteration process, see the Process Retrospective.

Additional reads

Process Retrospective

A behind-the-scenes breakdown of my design and development process, covering technical decisions, narrative iteration, and problem-solving across audio, visuals, and systems. This document reflects on what worked, what failed, and how the project evolved through playtesting.

PROCESS RETROSPECTIVE 1
PROCESS RETROSPECTIVE 2
Playtest reports

A collection of playtest reports documenting player behavior, usability issues, and narrative clarity across multiple builds. These notes informed key design changes and helped refine pacing, interaction, and player understanding.

PLAYTEST REPORT 1
PLAYTEST REPORT 2
Pre-production & Design Documentation

Early planning documents outlining the project’s vision, scope, and design direction.

Pitch deck
Design pillars & Production plan

Post-motem

This project was the biggest risk I have taken so far, as it focused on narrative writing, which is not my strongest skill. Writing my own story for the first time was difficult and often frustrating, but it made the process more engaging and meaningful. It also showed me how visible a lack of literary understanding becomes when building narrative systems. Despite these challenges, I am proud of the technical foundation of the project. While the system is not overly complex, it is clear, maintainable, and easy to revisit and extend without breaking the overall structure. If I were to make this project again, I would still choose to write the story myself, as it highlighted an area where I want to continue growing as a designer.