Contents▾
How to play
Play from ExplorePlaying a chatPlaying storiesHow Ink worksSet up your personaPlay with diceHow to create
A worked exampleCreating a characterCreating a scenarioInline images: illustrations in the chatMoving the story with phasesEmotion parameters for personalityFeed world facts on demandBuilding a TRPGMake images and videoPublish your workGetting better
Writing so the AI understandsWriting so the AI understands
Advance conditions, image display conditions, and prompts to the AI all share one trick: write them to match "what the AI is looking at right now." Write on the assumption of information the AI cannot see, and one of these happens — it does not advance, does not appear, or drifts. Here are the stumbles that came up most in real chats, next to how to fix them.
The judging AI only sees "this turn's exchange"
With a phase's "Advance when an event happens", the AI that decides whether the event has happened essentially sees only the most recent exchange. It judges "was the condition met" from that. It is not remembering the whole conversation and evaluating it as a whole. So the basic rule is one condition = one event, written in a form that appears directly in the dialogue.
The biggest pitfall is a compound condition of the form "do A and do B." This is not met until both A and B land in the same turn. In real chats A and B usually happen on separate turns, so the condition stays unmet and advancement is delayed by several turns (we have measured a 4-turn delay).
| ✗ Delays | ✓ Advances right away |
|---|---|
| "the protagonist gives their name and shakes hands" | "the protagonist stated their name" (make the handshake a separate condition or a separate phase) |
| "trusts the other and confides a secret" | "the protagonist confided a secret" (measure trust with an emotion axis) |
| "quietly draws close and takes their hand" | "the protagonist took the other’s hand" |
To advance on several events, split the conditions and list them (if you write several events, the story moves on as soon as any one of them happens). Use a compound only when you deliberately want "advance only when both land together."
Set "Stay at least N exchanges in this phase" in the phase editor, and the story will not move on until that many exchanges have passed, even if the conditions are met. For a phase you want players to savor, setting its length by the number of exchanges saves you from complicating the condition text.
The "form" of a condition sets the timing of display and advancement
For both inline image display conditions and advance conditions, the form of the condition sentence is a declaration of "when do I want this to hold." The principle is the same for a person's action or for a scene/environment.
- Moment form "when ... happened" = just that once. For the signature shot at the moment of ignition, or a one-time turning point. e.g. "when the door opened", "when they steeled themselves."
- Ongoing form "while ... is happening" = keeps holding while the state continues. For a picture you want kept as a fixture of the scene, or for "as long as this situation continues" judgments. e.g. "while they are by the campfire", "while the two are walking side by side."
A common failure is writing an image you want shown often in the "when ... happened" form. Then it only matches on the turn it starts and disappears from the next turn on, cutting off. If you want it "while the scene continues," use the ongoing form. The ongoing form naturally stops holding once the state ends in the text ("the fire went out", "they stopped walking"), so nothing is left dangling.
When a scene advances in stages (approaching → touching → embracing), line up each stage in ongoing form to fill the gaps ("while approaching", "while touching", "while embracing"). Drop a stage and the picture disappears just during that stretch.
Reducing "turns that match nothing" (coverage)
Line up only cards conditioned on specific scenes, and on the many turns that are not that scene nothing matches and almost no images appear. To prevent this, mix in general emotion/expression cards.
- Scene cards (a specific action or setting): they become the signature shot for the crucial scene.
- General cards (expressions like smiling, blushing, surprised, tearful): match the character's expression in any scene, providing a baseline lift.
If you want illustrations often, general cards are all but required. Adding general cards multiplies the share of turns with a picture several-fold.
What you write where, and who sees it
To avoid the "writing on the assumption of information the AI cannot see" failure, the fastest route is to know who each field is handed to.
| Where you write it | Seen by the character (the AI writing the text)? | Notes |
|---|---|---|
| Character setup, world, you and the character | Seen every turn | Always handed over as the premise. |
| Narration and style rules | Seen every turn | When they clash with a phase's direction, these take priority. |
| Setting (the base for the chat) | Seen only in free talk | Not handed to chats that "Advance through phases". |
| Phase name, Goal of this scene, Tone of voice | Seen throughout the phase | The goal is handed over as "the direction the character wants to head". It is not an obligation; the other person's moves come first. |
| Role in the story, How far they may go | Seen throughout the phase | The role is handed over as the frame of "what happens in this phase", and the limit as a line to keep throughout the phase. When events happen follows the flow of the conversation. |
| Stance on entering this phase, Internal state | Seen only for the first 2 exchanges after entering the phase | Handed over as the phase's starting point. After that, the stance moves with what happens in the conversation. |
| Note when entering the phase | Seen once, right after entering | Suited to a short note that the scene has changed. |
| Starting feelings (the values) | Seen every turn | The values at that moment are handed over. |
| What moves the emotions | Not seen | Read only by the analyzer that moves the values. |
| Facts revealed in this phase | Seen after it is reached | The share for unreached phases is not handed over (spoiler guard). |
| The scenario's "Hidden facts kept from the character" | Not seen | Material for filling in the status sheet at the start of the chat. Turn on "Let the character drive the story" and it also becomes material for the GM to plan the next move, reaching the character as hints. |
| When to move on (events, etc.) | Not seen | A yardstick for whether to advance. Never shows up in lines. |
| Image display conditions | Seen | Handed over together with the image names, as material for choosing which picture to insert into the text. Images out of range are not handed over, name and all. |
The table shows how fields are handed over in a scenario chat. Phase fields are handed only to chats that "Advance through phases", not to free talk chats.
In short, put setups you do not want the character to know into the scenario's "Hidden facts kept from the character", and write facts you do not want revealed early only into later phases' "Facts revealed". "When to move on" is not handed to the character, and display conditions are handed over only as material for choosing pictures, so a line you meant "as dialogue" in either will not be spoken.
Advance vs. performance vs. record
Even within "handling state," there are three separate tools. Pick the one that fits your aim and you avoid forced writing.
- Move the story forward → the phase's When to move on. "When ◯◯ happens, go next."
- Shift the lean of the performance → emotion axes. Degrees like trust and shame change the color of a reaction in the same scene.
- Remember objects and situation → the status sheet. Set its items in "Info format" in the "Flow" step, and it keeps a "record of facts" — belongings, place, time of day — and updates it during the chat.
Voice lives in three places (tone shifts)
A character who is usually terse and strong-willed falls apart in a specific scene like a different person. When you aim for that kind of "register switch", what works best in the character's fields is real example lines. The AI imitates an actual line written in the target voice far more than an instruction like "speak in a shaken tone".
Voices have three homes, split by their nature.

- The base voice (how this character usually talks) — the always-on foundation. → Write it in the "Base dialogue examples" of the character editor. Pairs of a user line + the character's reply (up to 3). In first-person chats they are passed as-is as a model conversation; with the third-person narrator and in stories, they go into the character profile as examples of how the character talks. Sentence endings, first-person pronouns and energy are most reliably fixed here.
- Emotional switches (anger, embarrassment, tears, ...) — reversible switches that go back and forth any number of times within a conversation. → Write them in the "Voice variants" of the character editor. Each is a set of state name + trigger + example lines, and it applies regardless of phases, in any scene that matches the trigger — free talk, scenarios and stories alike.
- Situational shifts (the stage of the story advances and the whole air changes) — driven by progression and basically one-way. → In the phase's "Tone of voice", write only what changes ("drops the polite register", "sentences get shorter", "a casual ending creeps in", and so on). Write it as a spec rather than finished lines, and the character can build words that fit the scene on their own. In the Flow step's phases for scenarios, under the chapter editor's phases for stories. The current stage's share reaches the AI throughout the phase.
Wherever you write them, the same tips apply.
- Write examples in that state's voice only (Base dialogue examples, Voice variants). Examples work strongly, so keeping them to that state's voice alone brings out exactly what you aim for.
- Write what is allowed in the positive form. Not "does not ◯◯ yet" but "keeps it to ◯◯." Stating what is permitted, and how far, prevents both breaking too early and sliding back.
- Keep the inner core unchanged. Note that even when the spoken voice collapses, the inner first-person pronoun and values stay as they were, and you can show the change while it is still the same character.