
Out. That Is All That Matters
You play a rat that has never won a fight. Outside, there is hunger, a cat, a trap, and another rat who splits a chicken bone with you. Then the lab: five episodes of experiments, an escape possible from the third one, and a deadline nobody tells you about. It reads like a novel and plays like a countdown.
Four visible gauges: food, stress, health, status. They move with every scene, and the game honestly shows what each choice cost you. The fifth gauge appears nowhere. Only the ending tells you what it was measuring.
A solo project end to end: writing (17,000 words, in French then translated to English), choice structure, game systems, interface, art direction, sound, accessibility, web release and Android build. Made with Twine, and many late nights.
Parasym is parasite + labyrinth. The word is stamped on the lab crates, printed on the protocols, present from the very first room. Why the game carries that name, you understand in episode four, not before. It is my favorite moment in the whole game.
The menu: new game, chapters, saves
Meal time: your first choice
The die: the target is announced before the roll
The chicken bone, split in the middleA Phone Note and a Folded Sheet
On September 15th, 2025, I opened the notes app on my phone and typed two words: Short project. Below them, everything is already there, written fast and badly: the Paris rat, the lab, the false choices, three possible endings, the partner left behind. The note has a star, because I knew I would come back to it.
A little later, a sheet folded in four: the first branching tree, in pencil. Meal time at the top, three branches going down, plus and minus signs in the margins, and rats drawn all around. That sheet is the skeleton of the game. The first Twine prototype had 6 passages, then the project slept for months. When I reopened it, I did not stop: today it has 96.


This sheet was not drawn at home. It comes from a workshop called Invent your video game at Gobelins, during the open house days, with a mentor guiding the session. That is where Parasym went from a phone note to an actual branching tree: the pencil, the three branches, the plus and minus signs in the margins, all date from that session.
True Choices, False Choices, and an Honest Die
On the night of the theft, you have three targets and you will only do one. The other two will never exist in your run. No scene replays, no menu lets you peek at what you missed. It is a writing rule I set for myself: a choice you can undo is not a choice.
Some choices change nothing, and that is intentional. The game toys with you for a while, then tells you to your face, in one precise scene of episode four. That reveal is the whole reason for the title, so I will not write more about it here.
When luck gets involved, a real six-sided die rolls on screen, in 3D. The target is announced before the roll, and the threshold depends on your health: a healthy rat needs a 4, an exhausted one needs a 6. The health gauge is not decoration, you can read it on the die.
All through the game, an invisible gauge keeps track of who you are becoming: what you do with the small white rat, what you answer to the one who offered you a bone. It is never displayed. The color of your ending reveals it, and that is often when players understand who they have been.



The Whole Game Fits in One File
Parasym is written in Twine, in the Harlowe format, compiled from the command line. The result is a single 1.2 MB HTML file that contains everything: both languages, the backdrops, the sounds, the saves, the die. It runs in a browser, offline, and the very same file is packaged for Android.
The die is a real 3D cube built in pure CSS: six faces, pips placed by hand, an animation that always lands on the right number. The rattle of the roll is synthesized with Web Audio, no sound file involved.
Every passage carries its French and its English version. The FR / EN button toggles a single CSS class: nothing reloads, the game state does not move by a pixel. It is the dumbest possible solution, which is exactly why it is solid.
The backdrops are paintings by Spiral Atlas (CC BY license, credited in game), which I reworked and darkened one by one to match the night of the game. On phones, the backdrop moves behind the text as a full page background.
Every ending shows the percentage of players who reached it, worldwide. Behind it, a small database and a server function with anti spam guards. Seeing which ending dominates makes you want to replay differently, immediately.
Every text / background contrast is computed and fixed to pass WCAG level AA, including visited links and the small warning texts. A game that is entirely made of reading has no excuse on that front.
Three save slots plus an automatic one, and a chapter menu to restart from any point already reached. A run lasts an hour: nobody should lose it to a closed tab.
The Folded Sheet Became This


Here is the same story seen from the inside. In Twine, every rectangle is a passage: the text of the scene, plus the Harlowe macros that move the gauges or roll the die. The arrows are the links. The library counter shows 101 passages: 96 of story, the rest runs the menu, the interface and the sounds. And since the map became unreadable as it grew, I wrote a small script that tidies it: the story now reads top to bottom, like a spine.
Same structure, redrawn in code for this page: the acts, the scenes that matter, the choices, and the moments where the die decides. Deliberately incomplete: 96 passages do not fit on a screen, and part of the pleasure is finding out where the paths lead. Compare it with the pencil sheet above: the skeleton has not changed, it just grew flesh.
- PROLOGUE : THE SEWERS
- You wake up at the bottom of the pack. The pack eats first.
- Slip in front of another ratdie roll
- Pretend to be sick
- Wait your turn, as always
- Three wounds, three memories: the cat, the trap, the hunger. Each one had its choice.
- The exclusion. The pack turns its back.
- Beg
- Hate them
- Say nothing
- You wake up at the bottom of the pack. The pack eats first.
- OUTSIDE
- A rat shares a chicken bone with you. Split in the middle.
- Stay with him
- Leave alone. You need no one
- one cold night later, he finds you again
- THE THEFT. One target. The other two are gone for good.
- The restaurantdie roll
- The bakery
- The housesdie roll
- The nights. Small choices, one after another. Something invisible grows, or breaks.
- The capture. No goodbye.
- A rat shares a chicken bone with you. Split in the middle.
- THE LAB : 5 EPISODES
- Episode 1. The maze, the other rats. A small white rat trembles in the next cage.
- Protect him
- Bite first
- Episode 2. Deprivation. An old voice talks through the vent.
- Episode 3. A first way out.
- Try to escapedie roll
- high roll : outside
- low roll : the experiments continue
- Not yet. Wait for a better moment
- Try to escapedie roll
- Episode 4. The last window.
- The final escapedie roll
- high roll : outside
- one short : so close to the sky
- low roll : episode 5
- Stay docile
- The final escapedie roll
- Episode 5. The protocols call it terminal.
- Episode 1. The maze, the other rats. A small white rat trembles in the next cage.
- 8 ENDINGS
- Three fates: die in the lab, die close to freedom, or make it out. Then your bonds, and a gauge you never saw, decide which of the 8 endings is yours.
The ending names are not written here: you discover them by playing. In game, every ending shows the worldwide percentage of players who reached it.
A rat. Paris. A maze.
A run lasts one hour. The game is free, in your browser, no account, no download.
PLAY IN YOUR BROWSER
STORY 02ESCALIER E

ESCALIER E
One night in a university that's closing down.
A group of students who found each other at the July resit exams, a basement clubroom, years of habits. Then the university closes, and there's one last night. I won't say more here: this is a story best read knowing as little as possible.
It's my second game after Parasym, and it's nine times its size. Nine months of writing, sixteen chapters, a full English translation, and a set of tools built along the way to keep 85,000 words verifiable.

SIXTEEN CHAPTERS, NO FAKE CHOICES
The game reads in two parts. The first covers three years of ordinary university life, one day at a time: exams, meals, a clubroom you open up, group chats. The second happens in a single night, from 8:11 pm to 7:05 am, inside a building the player already knows by heart after five chapters spent there.
Five characters with their habits, their debts and their silences. Each one gets scenes of their own, where you see what they do with their evenings when the group isn't around.
Every branch leads somewhere. No looping menus, no replayable scenes: what you don't pick is gone, like in a real evening.
Each ending has its immediate epilogue, then a What remains page that follows the consequences years later. An ending states what it fixes, for whom, and what it doesn't fix.
Prose, link labels, banners, interface: everything exists in French and English, and you can switch at any point without losing your run.



AFTER PARASYM, WRITING LONG
Parasym is over in an hour, and that suits it. Finishing it, I wanted the opposite: a game where you know the people before anything happens to them. Everything else follows from that, including the five chapters where almost nothing happens.
Two lines, written before the first scene: twice the length of Parasym, and no fake choices. The game ended up nine times the size, and the second constraint cost far more than the first.
The university, the town and the campus are invented. An invented place lets you write precise timetables, room numbers and regulation clauses without anyone having to recognise themselves.
Characters, timeline, chapter breakdown and the list of endings were settled in a reference document before any writing. It worked as a guardrail every time the story tried to wander off.
Every title that announced the subject was dropped one by one. Escalier E stayed because it prepares the player for nothing, which is exactly what the first chapter needs.
GAUGES THAT DESCRIBE, NOT GRADE
The game tracks what you do with each person, but it doesn't grade you. At the end of a chapter you see five bars. At the end of the run you get a description, not a score.
At the end of each chapter, one bar per character, one colour each. A heart only shows if a romance really exists, and the bars are normalised: not everyone gets the same number of chances to earn points.
Keep or tell, protect or know, together or alone, yield or hold. At the end, a card gives you a four-letter code and one of sixteen profiles, along with the acts that determined it.
Romance is optional and the characters have their own orientations, which don't bend to suit the player. Saying no costs nothing: the refusal scene is as long and as written as the other one.
From the first chapter, the game remembers what you share and what you keep to yourself. The mechanic runs through the whole story and comes back on the last night, unannounced.
Depending on the run, there aren't the same number of you in the room. No text hard-codes a number: the game counts who is actually there, and the scenes are written around the empty seat.

WRITING UNDER CONSTRAINT
You can't proofread 85,000 words by eye. I set myself measurable style rules, and scripts that check them for me on every pass.
A script compares the prose against a baseline text: sentence length and variance, rule-of-three patterns, trailing clauses. When an axis drifts past the baseline, I rewrite the scene.
A narrator commenting on his own scene, durations nobody is actually timing, stock images: a list of banned tics, built up reading after reading, and checked by script.
Word-for-word English sounds translated. Every English line of dialogue got quotation marks and contractions, 1,500 lines reworked one by one.
Visited links don't change colour and text selection is neutralised: nothing on screen should reveal explored branches or underline an important word.
FOUR TIMES I STARTED OVER
The game was played start to finish several times, by me and by my first reader. Four remarks each cost a rewrite, and they are what made the game what it is.
The game summarised how the group met, then jumped straight to the final year.
Four chapters were written to play those years instead of narrating them: the summer, the new term, a field trip, the master's applications. The game went from twelve to sixteen chapters, and the last night finally had something to lose.
All thirteen endings stopped right when the story started to cost something.
Each one now has two scenes: the immediate epilogue, then a page reaching 2029 or 2038. My first move was to make the texts longer, which missed the point. What was missing was scenes, not words.
First full read-through by someone else: the plot hadn't landed at all.
Everything was written in hints and no fact was ever stated out loud. I added a mandatory scene where a character tells the whole thing in order, start to finish. A fact that is never said doesn't exist for the player, however present it is in the text.
Refusing what you're offered was settled in one paragraph, and everyone went home.
The remark was right. Five passages were written instead, with no threat and no raised voice, and the scene became one of the tensest in the game.
A GAME THAT CHECKS ITSELF
Past a certain size, a branching story breaks silently: a link pointing nowhere, an ending that became unreachable, a counter climbing on every back-and-forth. None of that raises an error. It needed tooling.
The homemade build chain refuses to compile if a link points nowhere or if a known engine syntax trap is present. A mistake can't ship.
Orphaned passages, dead ends, text left in the wrong language, endings that became unreachable, leaking counters: five scripts run after every change.
A script plays all thirteen endings start to finish in a real browser, in French then in English, and reports back: engine errors, missing backdrops, untranslated text.
Affinity thresholds don't come from a spreadsheet. Fifteen full runs were played and measured, and the weights come from the real averages. One point more on a character, and their scene shows up three times less often.
A BACKDROP THAT DOESN'T CHEAT
The backdrops are artist-made assets found on itch.io. I checked where every pack came from and dropped the AI-generated ones, even free, even pretty. The pack I kept guarantees handmade work, commercial licence included.
The backdrop is a fixed full-screen layer behind the text, with a veil aligned to the reading column. A strip at the top of the page vanishes as soon as you scroll: tried, rejected.
The continuous layers, breath, neon hum, pen clicks, are synthesised in Web Audio. Only rare events, a door, keys, paper, use real CC0 samples.
Contrast above 4.5:1 verified by calculation, a 68-character column, reduced motion respected, and a three-step READING button whose last step switches to sans serif and clears the backdrop.
BLACKHOLE INSIDE THE GAME
The group chats aren't screenshots of a real phone: they're rendered as screens from Blackhole, the social network I designed as another project. The network's stations, signals and vocabulary exist inside the fiction, and two projects in this portfolio answer each other.
Rule I set myself: no advertising. The network is almost never named, it's just there, like a real phone in a real pocket. How each character uses it says more about them than about the app.











SIXTEEN CHAPTERS, TWO PARTS, THIRTEEN ENDINGS
The real structure of the game, giving nothing of the plot away. Scenes are summarised, the choices are the ones you actually read on screen, and anything marked remembered comes back later in the run.
- PART 1 : THE YEARS BEFORE
- Resit session, July 2023. Eleven of you in a lecture hall built for sixty.
- Go to the back
- Sit at the front, might as well
- Six questions, and nobody has all of them. What moves along the back row decides the rest.
- Pass your answer alongREMEMBERED
- Keep your paper to yourselfREMEMBERED
- the game remembers which one, and uses it all the way to the last scene
- Results, a week later. Eleven numbers on a board, five people to meet.
- Summer, the new term, the basement clubroom. Three years of habits, played one day at a time.
- Front the money you're asked forREMEMBERED
- Say nothing and let it go
- One scene per person: what they do when nobody is watching.
- five hobbies, five confidences, each behind an affinity threshold
- Resit session, July 2023. Eleven of you in a lecture hall built for sixty.
- PART 2 : THE NIGHT
- 8:11 pm. The university is closing, and one building you know by heart is left.
- The basement corridor: forty metres in the dark where you count the doors.
- Go up
- Go down
- Whatever the group ends up finding, someone has to decide what to do with it.
- Tell everyoneREMEMBERED
- Keep itREMEMBERED
- the same mechanic as chapter one, three years later
- 5:17 am. Someone tells the whole thing, in order, and the group listens.
- The last choice isn't yours alone: four routes, four real scenes where nobody agrees.
- each route keeps one unconditional exit: none of them dries up
- 7:05 am. The building reopens, or it doesn't.
The names of the thirteen endings are not written here: you find them by playing. Each one has two scenes, the immediate epilogue and a What remains page that runs to 2029 or 2038.
Both stories are free, no account, no ads. In the browser right now, or inside Entresol on Google Play.



