Visual Novel
Deep dives into every tool on stage
Visual Novel
The Visual Novel system turns an AI chat into a full interactive visual novel experience — backgrounds filling the screen, character sprites with shifting expressions, music setting the mood, branching choices, inventory, objectives, and even minigames. It's an entire game engine layered on top of the conversation.
Think of it like directing a stage play. You build the stage — choose the cast, paint the backdrops, pick the music, outline the story — and then the AI performs live. Every playthrough is improvised. Every decision matters. No two runs through the same VN are exactly alike.
The Visual Novel system is a content type, just like characters, presets, and lorebooks. You create a VN, publish it, and anyone can play it by opening a chat with it. The AI reads your cast, locations, story beats, and objectives, then weaves them into a living, breathing narrative that responds to the player's choices in real time.
How It Works
The core concept: you provide the raw materials — characters, places, music, story waypoints — and the AI improvises a narrative using them. You're the playwright, the AI is the troupe of actors performing your vision on the fly.
You build the VN world
├── Cast (characters + sprite expressions)
├── Locations (backgrounds + ambient audio)
├── Story Beats (narrative waypoints the AI aims for)
├── Objectives (goals the player works toward)
├── Items (gifts, key items, collectibles)
├── Music & Sound Effects
└── Map (navigable locations)
A player opens the VN → chat activates
├── AI sees the full cast, locations, and story beats
├── AI writes dialogue + embeds stage directions
└── The stage renders everything live:
├── Background image fills the screen
├── Character sprites appear with expressions
├── Music and ambient audio play
├── Dialogue appears in a styled text box
├── Choice prompts appear at decision points
└── Inventory, objectives, and map update
The AI doesn't just write text — it also controls the stage. When a character gets angry, the AI changes their expression. When the scene shifts to a moonlit garden, the AI swaps the background and starts the night music. When a critical moment arrives, the AI presents the player with choices. All of this happens seamlessly, woven into the narrative like stage directions in a screenplay.
The Four VN Modes
Every visual novel has a type that shapes how the AI approaches the experience. Choose the one that fits your story best.
| Mode | What It Is | Best For |
|---|---|---|
| Dating Sim | Romance-focused with affinity tracking, relationship stats, and a gift system. The AI monitors how the player's choices affect relationships with each cast member. Characters react to gifts — some love them, some hate them. Multiple romance routes emerge naturally from player choices. | Romance, slice of life, relationship-driven stories |
| Visual Novel | Classic branching narrative with key decision points. The AI guides the story toward your beats while honoring player choices at critical moments. Think of visual novels like Steins;Gate or Doki Doki Literature Club — a strong central narrative with meaningful branches. | Story-driven experiences with a clear narrative arc |
| CYOA | Choice-driven with heavy player agency. The AI presents frequent choices and the narrative is shaped primarily by what the player decides. Less linear than Visual Novel mode — the story sprawls in the direction the player pushes it. | Adventure, sandbox-style stories, exploration-heavy narratives |
| Kinetic | Linear cinematic experience with no choices. The AI tells the story start to finish, using all the visual and audio tools — backgrounds, sprites, music, transitions — but the player is along for the ride. Think of it as an animated short story. | Cinematic showcases, emotional set pieces, story demos |
You pick the mode when creating the VN. The AI adjusts its behavior accordingly — a Dating Sim AI tracks affinity and suggests gift opportunities, while a CYOA AI presents choices more frequently and gives the player more control over the narrative direction.
Creating a Visual Novel
The VN Editor
The editor is organized into five tabs that walk you through building your VN from the ground up.
1. Overview
The front door. Set the basics:
| Field | Purpose |
|---|---|
| Name | The title of your visual novel |
| Tagline | A short hook shown on the Discovery card — your elevator pitch |
| Description | A longer summary of what the VN is about |
| VN Type | Dating Sim, Visual Novel, CYOA, or Kinetic |
| Genre | Genre tags for Discovery browsing |
| Content Rating | All Hours, Late Night, or After Dark |
| Cover Image | The main image shown on the VN's page |
| Banner Image | Wide banner for the VN's detail page |
| Estimated Playtime | How long a typical playthrough takes (in minutes) |
Think of the Overview as your VN's movie poster — it's what convinces someone to click "Play."
2. Cast
Your characters. Every person who appears on screen — protagonists, love interests, NPCs, even a narrator voice — is a cast member.
Each cast member has:
| Field | Purpose |
|---|---|
| Character | Links to an existing RoleCall character card |
| Role | Protagonist, Love Interest, NPC, or Narrator |
| Display Name | Name shown on screen (can differ from the character card) |
| Sprite Set | The visual assets — a collection of expression images |
| Character Details | Personality, appearance, background, motivations, relationships, speech patterns, quirks, and secrets |
| Hidden | Whether the character is hidden until revealed during the story |
The Character Details fields are especially important. They give the AI a dense, structured understanding of who this person is — how they talk, what they want, what they're hiding. These details get compiled into a format the AI can reference during play, like a cheat sheet for each actor.
3. Locations
Every place the story can visit. Locations are the backdrops of your VN — the coffee shop, the haunted mansion, the rooftop at sunset.
Each location has:
| Field | Purpose |
|---|---|
| Name | The location's display name |
| Description | What the place looks like, feels like, smells like — for the AI's reference |
| Default Background | The main background image shown when the scene is set here |
| Background Variants | Alternate versions of the background — night, rainy, sunset, damaged, etc. |
| Ambient Audio | Looping background sound — rain, crowd noise, forest birds, ocean waves |
| Default Music | A music track that plays automatically when the scene shifts here |
| Connected Locations | Which other locations are reachable from this one (for navigation) |
Background variants are powerful. A single "Town Square" location can have a daytime version, a nighttime version, a rainy version, and a festival version. The AI picks the right variant based on the story's current state — if it's raining in the narrative, it uses the rainy background automatically.
Connected locations create a navigable map. If the "Town Square" connects to "Tavern," "Market," and "Castle Gate," the player can move between them. The AI uses this network to make navigation feel natural — characters suggest walking to the tavern, or the story flows from one connected location to the next.
4. Story
The narrative backbone. This tab has two key sections: Story Beats and Objectives.
Story Beats are the heart of how the AI approaches your story. They're explained in detail below.
Objectives are goals the player works toward — also explained below.
Together, beats and objectives give the AI a map of where the story should go and what the player should be striving for, without locking anything into a rigid script.
5. Assets
Your media library. Upload and manage:
| Asset Type | Purpose |
|---|---|
| Background Music (BGM) | Looping music tracks for mood setting |
| Sound Effects (SFX) | Short audio clips — door slams, thunder, laughter |
| Ambient Audio | Environmental loops — rain, wind, city hum |
| Vocal Clips | Character voice clips (optional) |
Each track has a name, a category, volume level, and whether it loops. You can tag tracks with keywords so the AI can find the right music for the right moment — tag a track "romantic" and the AI will reach for it during tender scenes.
Cast Members
A great VN lives or dies on its characters. Here's what makes a cast member work well.
Expressions Are Everything
Expressions are the visual vocabulary of your character. When the AI writes that Elena blushes and looks away, it changes her sprite to the "embarrassed" expression. When Marcus slams his fist on the table, his sprite shifts to "angry."
More expressions means more visual range. A character with only "happy" and "sad" will feel flat. A character with ten or twelve expressions feels alive.
Recommended expression set (minimum 6-8):
| Expression | When It's Used |
|---|---|
| neutral | Default resting state, general conversation |
| happy | Smiling, pleased, amused |
| sad | Disappointed, melancholy, grieving |
| angry | Frustrated, furious, confrontational |
| surprised | Shocked, caught off guard, amazed |
| embarrassed | Flustered, blushing, caught in a lie |
| smug | Confident, teasing, self-satisfied |
| thoughtful | Considering, pondering, serious |
| worried | Anxious, nervous, concerned |
| loving | Warm, affectionate, tender |
You can add as many custom expressions as you want — "crying," "evil_grin," "exhausted," "disgusted," whatever your character needs. The AI sees the full list and picks the best match for each moment.
Outfits
Sprite sets can also include outfit variants. A character might have casual clothes, formal attire, battle gear, and sleepwear. The AI can swap outfits when the story calls for it — a gala scene might trigger the formal outfit, while a sudden fight triggers battle gear.
Character Details
The structured detail fields give the AI a deep understanding of each cast member:
- Personality — Core traits, temperament, how they carry themselves
- Appearance — Physical description beyond what the sprite shows
- Background — History, origins, how they got here
- Motivations — What they want, what drives them
- Relationships — How they relate to other cast members
- Speech Patterns — How they talk — formal, casual, accented, terse, verbose
- Quirks — Distinctive habits, tics, mannerisms
- Secrets — Things they're hiding (the AI knows, but won't reveal them prematurely)
The Secrets field is particularly interesting. You can tell the AI that a character is secretly the villain, or secretly in love with the protagonist, or secretly a spy — and the AI will weave subtle hints and foreshadowing without blurting out the truth. The reveal happens naturally, driven by the story's momentum.
Roles
Each cast member has a role that tells the AI how to treat them:
| Role | Purpose |
|---|---|
| Protagonist | The main character the player identifies with |
| Love Interest | A potential romance partner (especially relevant in Dating Sim mode) |
| NPC | Supporting characters — friends, shopkeepers, mentors, rivals |
| Narrator | A disembodied voice that provides narration without a sprite |
Hidden Characters
Cast members can be marked as hidden — they won't appear on screen until the AI reveals them during the story. This is perfect for surprise entrances, mystery characters, and dramatic reveals. The AI knows the hidden character exists and can foreshadow their arrival, but won't show their sprite until the right moment.
Locations
Locations are the visual foundation of your VN. Every scene happens somewhere, and that somewhere needs a backdrop.
Background Variants
A single location can have multiple background images that the AI swaps between:
Town Square
├── default → Sunny afternoon, market stalls, fountain
├── night → Moonlit cobblestones, lantern glow, empty stalls
├── rainy → Overcast, puddles, merchants under awnings
├── festival → Banners, lights, crowded with people
└── destroyed → Rubble, smoke, broken fountain
Variants can have trigger conditions — logical rules that automatically activate them. You could set the "night" variant to trigger when a flag called is_nighttime is true, or the "destroyed" variant to trigger after the player completes a certain objective. The AI can also switch variants manually when the narrative calls for it.
Ambient Audio
Each location can have its own ambient sound loop — the gentle hum of a coffee shop, the chirping of crickets in a forest clearing, the distant rumble of city traffic. Ambient audio plays automatically when the scene shifts to that location and creates an immersive soundscape underneath the music.
Connected Locations and Navigation
Locations can be connected to each other to form a navigable world:
Castle Gate ←→ Throne Room
↕ ↕
Town Square ←→ Castle Courtyard
↕
Tavern ←→ Back Alley
↕
Market ←→ Harbor
When the player is at a location, they can see and travel to connected locations. The AI uses these connections to make movement feel natural — suggesting the player head to the tavern to meet someone, or having a chase scene flow through connected streets.
If you set up a Map, players can also navigate visually by clicking on locations in a map image (more on that below).
Story Beats
Story beats are the single most important concept in the VN system. They are not scripts. They are not dialogue. They are narrative waypoints — things you want to happen eventually, described in plain language. The AI reads them and weaves toward them naturally, at its own pace, improvising the actual dialogue and events along the way.
Think of story beats like a screenwriter's outline. The outline says "Elena reveals her secret in the garden" — but the actual scene, the dialogue, the emotional buildup, the specific words Elena uses — that's all improvised by the AI in the moment, informed by everything that's happened in the story so far.
What Makes a Good Story Beat
| Field | Purpose |
|---|---|
| Name | A short label — "The Betrayal," "First Kiss," "The Truth Revealed" |
| Description | What should happen. Be evocative but not prescriptive. |
| Priority | Essential (must happen), Important (should happen), or Optional (nice if it happens) |
| Order Hint | Rough sequence — beat 10 happens before beat 20. Leave gaps for flexibility. |
| AI Notes | Private guidance for the AI — tone, pacing, things to emphasize or avoid |
| Suggested Characters | Which cast members should be present for this beat |
| Suggested Location | Where this beat should happen (optional) |
| Mood | The emotional tone — "tense," "romantic," "comedic," "bittersweet" |
Example Story Beats
Beat 1 — "The Arrival"
Description: The player arrives at Thornwick Academy for the first time. They meet their roommate and get a tour of the campus. Establish the atmosphere — old stone buildings, ivy-covered walls, students in robes. Priority: Essential Mood: Curious, slightly intimidating Suggested Characters: Finn (roommate), Dean Ashworth (brief appearance)
Beat 5 — "The Library Incident"
Description: Something strange happens in the restricted section of the library. Books move on their own. A cold wind blows through sealed windows. The player catches a glimpse of something — or someone — that shouldn't be there. Priority: Essential Mood: Unsettling, mysterious AI Notes: Don't reveal what the player saw yet. Leave it ambiguous. Build dread, not answers.
Beat 8 — "Rooftop Confession"
Description: One of the love interests asks the player to meet them on the rooftop at night. An emotionally vulnerable conversation. Could lead to a romantic moment, or a painful truth, depending on the player's choices leading up to this. Priority: Important Mood: Intimate, vulnerable Suggested Location: Academy Rooftop (night variant)
Beats vs. Scripts
The key difference between story beats and traditional VN scripting:
| Traditional VN Script | RoleCall Story Beat |
|---|---|
| "Elena says: 'I need to tell you something about my past.'" | "Elena reveals her secret" |
| Every line of dialogue is pre-written | Only the narrative goal is defined |
| One path through the scene | Infinite variations depending on context |
| Replay is identical each time | Every playthrough improvises the scene differently |
This is the magic of AI-driven visual novels. You outline what happens. The AI figures out how it happens, when it feels natural, and what the characters actually say. The result is a story that feels authored but alive.
Objectives
Objectives are goals the player works toward. They appear in the HUD and give the player a sense of direction and accomplishment.
How Objectives Work
Each objective is tied to a specific cast member and has a natural-language completion condition that the AI evaluates:
| Field | Purpose |
|---|---|
| Name | The objective's display name — "Win Elena's Trust," "Find the Hidden Key" |
| Description | What the player needs to do, in human-readable terms |
| Character | Which cast member this objective revolves around |
| Completion Prompt | A description the AI uses to judge when the objective is complete |
| Priority | Primary (main quest), Secondary (side quest), or Optional |
| Trigger Condition | When the objective becomes visible (can be immediate or conditional) |
| Hidden Until Triggered | Whether the objective stays invisible until its trigger fires |
| Rewards | State changes and items awarded on completion |
Objective Lifecycle
Hidden → Triggered → In Progress → Completed
→ Failed
- Hidden: The objective exists but the player doesn't know about it yet. The AI can foreshadow it.
- Triggered: Something happened that activated the objective — it now appears in the player's HUD.
- In Progress: The player is actively working toward it.
- Completed: The AI determined the completion condition was met. Rewards are granted.
- Failed: The objective can no longer be completed (optional — not all objectives can fail).
The AI evaluates objective progress naturally during the story. You don't need to script exact conditions — the completion prompt is a plain-language description like "The player has convinced Elena to share her secret" or "The player has collected all three map fragments." The AI reads the story so far and judges whether the condition feels met.
Rewards
Completing objectives can trigger:
- State changes — Set flags, increment counters, change relationship values
- Item rewards — Give the player specific items
This ties the narrative to game mechanics — the player feels rewarded for reaching story milestones.
Items and Inventory
Items add a tangible, interactive layer to the narrative. They live in the player's inventory and can be gained, used, gifted, and lost during the story.
Item Categories
| Category | Purpose | Example |
|---|---|---|
| Gift | Something you give to a cast member — affects relationships (especially in Dating Sim mode) | Bouquet of roses, handmade bracelet, rare book |
| Key Item | Important to the plot — can't be discarded or consumed | Mysterious locket, ancient map, access keycard |
| Consumable | Single-use items that trigger state changes when used | Healing potion, disguise kit, truth serum |
| Collectible | Fun to find, optional to the story, rewards completionists | Postcards, rare coins, journal pages |
Gift System (Dating Sim Mode)
In Dating Sim mode, the gift system is central. Each gift item defines relationship effects per character — the same gift might make one character ecstatic and another uncomfortable.
Item: "Bouquet of Red Roses"
Elena: affection +15, trust +5
Marcus: awkwardness +10, affection -5
Sage: affection +8
The AI handles the gifting scene — the player offers the gift, and the AI writes the character's reaction based on the defined effects. A character who hates the gift won't just say "thanks" — they'll react authentically, and the relationship stats shift accordingly.
Item Rarity
Items can have rarity tiers — common, uncommon, rare, and legendary. Rarity is cosmetic by default (affects how the item appears in the inventory UI), but you can use it narratively — the AI might treat a legendary item with more reverence than a common one.
Map and Navigation
The map system gives players a visual way to navigate between locations.
Map Image
Upload a custom map image — a hand-drawn fantasy map, a floor plan, an overworld view, a city diagram. Then place hotspots on the image that correspond to your locations. Players click a hotspot to travel there.
Each hotspot has:
| Field | Purpose |
|---|---|
| Location | Which VN location this hotspot links to |
| Shape | Rectangle, circle, or polygon |
| Coordinates | Position on the map image |
| Label | Optional text label shown on hover |
Grid Fallback
If you don't want to create a custom map image, the system can generate a simple grid layout from your location list. Each location appears as a card in a grid, and the player clicks to navigate. It's less visually immersive than a custom map, but it works out of the box with zero setup.
When the Map Appears
The map can be shown:
- When the AI triggers a navigation moment (the story reaches a point where the player should choose where to go)
- From the pause menu (if enabled)
- As a persistent overlay (if enabled)
Playing a Visual Novel
When a player opens a chat with your VN, here's what they experience.
The Player-Side Interface
Playing a Visual Novel uses a dedicated interface at /play/{characterId}/{chatId} — a completely separate shell from the standard scene chat. The moment you open a VN, the scene environment transforms: the chat input disappears, the standard wing panels are replaced with VN-specific controls, and the stage takes over the screen.
The layout has four visible layers:
┌─────────────────────────────────────────────────────┐
│ │
│ Background Scene Image │
│ (fills the entire screen) │
│ │
│ [Sprite] [Sprite] │
│ Character A Character B │
│ (happy) (neutral) │
│ │
│ │
├─────────────────────────────────────────────────────┤
│ Character Name │
│ "Dialogue text appears here, line by line, │
│ in the styled dialogue box anchored to the │
│ bottom of the screen." │
│ [Continue] │
└─────────────────────────────────────────────────────┘
♫ Scene music track playing
- Background — a full-bleed scene image that sets the location. Swaps with transitions when the scene changes.
- Character sprites — one or more character images positioned across the stage, with expression variants that change mid-dialogue.
- Dialogue box — styled text area at the bottom showing the speaking character's name and their line.
- Music and audio — background track set per scene, with ambient audio layered underneath.
VN mode is turn-based. The AI's response is anchored to the current story position, not to a continuous scroll. You tap Continue (or click anywhere in the dialogue box) to advance.
VN-Specific Wing Panels
The right rail in VN mode contains a set of panels that are specific to the VN interface:
| Panel | What it does |
|---|---|
| Save Slots | Explicit save points — numbered or named. Tap a slot to save your current story position. Tap a saved slot to restore and replay from that point. Separate from autosaves, which happen automatically in the background. |
| Story Director | The VN-aware story director panel. Shows current narrative state, active story beats, and lets you nudge the AI toward specific beats or adjust pacing. |
| Cast | Active speakers — shows which characters are currently on stage, their active expression variant, and their sprite position. Useful for tracking who's present in multi-character scenes. |
| Stage | Sprite swap controls. Each cast member shows their available expression variants. You can manually swap expressions rather than waiting for the AI to call a swap. Useful for testing sprite sets or staging a specific look for a screenshot. |
| Choices | Your choice history — a log of every decision point the AI has presented and what you selected. Useful for retracing narrative paths. |
Save Slots
Save Slots are VN-specific explicit saves. They work alongside the automatic background autosave, which captures your position continuously.
Each slot can be:
- Numbered — Slot 1, Slot 2, Slot 3, etc. Simple and fast.
- Named — Give the slot a meaningful label ("Before the confession," "Garden scene, good ending path") for easy recall.
Restoring a save loads the full narrative state at that point: the background image, active sprites and expressions, the music track, your inventory and objective states, any relationship values, and the conversation history up to that moment. The AI picks up exactly where the scene was.
Use saves liberally. VNs have branching paths, timed choices, and states that can close off options later — save before entering major conversations, before presenting a gift in Dating Sim mode, or any time you want to be able to revisit a moment.
Sprite Swapping
Each cast member ships with one or more sprite variants tied to emotional expressions. The AI calls expression swaps mid-dialogue to match what's happening in the scene — when a character is angry, their sprite shifts to the "angry" variant; when they blush, the "embarrassed" variant appears.
The Stage panel exposes this manually. You can see every available expression variant for every on-stage character and tap any one to swap immediately. This is useful for:
- Browsing a new character's full expression set before playing
- Staging a specific look for a scene screenshot
- Correcting an expression the AI picked if it doesn't match your reading of the scene
- Testing your own VN's sprite set during development
Manual swaps apply immediately and stay active until the next AI-generated swap.
Choice Presentation
When the AI reaches a decision point, the dialogue box hides and a choice overlay takes over the screen:
┌─────────────────────────────────────────────────────┐
│ │
│ Background + Sprites (visible) │
│ │
│ ┌─────────────────────────────────────────────┐ │
│ │ "Meet her on the rooftop at sunset." │ │
│ └─────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────┐ │
│ │ "I'm busy. Maybe another time." │ │
│ └─────────────────────────────────────────────┘ │
│ ┌─────────────────────────────────────────────┐ │
│ │ "What is this about?" │ │
│ └─────────────────────────────────────────────┘ │
│ │
└─────────────────────────────────────────────────────┘
Tap any option to select it. The story continues from your choice. The Choices panel in the right rail records every decision point and what you picked, so you can see the path you've taken.
Choices can be:
- Standard — Pick from a list, story continues.
- Timed — A countdown appears; if you don't pick in time, the scene defaults to a no-response outcome.
- Conditional — Some options only appear if certain flags are set or relationship thresholds are met. You may see the same choice list change across playthroughs as your story state changes.
Music and Audio
Each scene can have a music track. The AI calls a music swap when the scene's emotional tone shifts — a quiet piano track during a tender moment, a tense strings loop during a confrontation. Music fades between tracks smoothly rather than cutting abruptly.
As a player, you have three audio controls:
- Mute — Silences all audio (music + ambient + any voice)
- Volume — A slider for overall playback volume
- Track display — The currently playing track name appears in a small overlay, so you can identify pieces you like
If the VN has TTS voice configured for specific characters, dialogue is read aloud as it appears. Voice is per-character — each cast member can have a distinct TTS voice from the configured provider. A mute voice toggle lets you silence TTS while keeping music and ambient audio.
Differences From Standard Chat
VN mode is built differently from the standard scene shell, and it's worth knowing the differences if you're used to regular chat:
| Standard Chat | Visual Novel |
|---|---|
| Continuous scroll of messages | Turn-by-turn stage display |
| Swipe for alternate AI responses | No swipe — each response anchors to a save slot |
| Continue generates additional text | Continue advances the scene turn |
| Wing panels: Preset, Lorebook, Persona, etc. | Wing panels: Save Slots, Stage, Cast, Choices, Story Director |
| No background or sprite system | Full background + sprite stage |
| Music optional, manual | Music driven by AI scene calls |
The biggest behavioral difference: there is no swipe in VN mode. In standard chat, swiping lets you regenerate the AI's last response to get a different take. In VN mode, every response is a story-state commit that can be saved and reloaded. If you don't like where the story went, restore a save from before the branch point and make a different choice.
When a player opens a chat with your VN, here's what they experience from the creator-documentation perspective.
The Stage
The screen transforms into a visual novel interface:
┌─────────────────────────────────────┐
│ │
│ Background Image │
│ │
│ [Sprite] [Sprite] │
│ Elena Marcus │
│ (smiling) (thoughtful) │
│ │
│ │
├─────────────────────────────────────┤
│ Elena │
│ "I've been meaning to tell you │
│ something. Can we talk later, │
│ just the two of us?" │
│ │
└─────────────────────────────────────┘
♫ Gentle piano BGM playing
- Background: A full-bleed image that sets the scene — a classroom, a moonlit forest, a busy train station
- Sprites: Character images positioned across the stage, with expressions that change during conversation
- Dialogue Box: Styled text area showing who's speaking and what they're saying
- Music & Audio: Background music and ambient sounds creating atmosphere
Choices
When the AI reaches a decision point, it presents choices:
┌─────────────────────────────────────┐
│ │
│ Background + Sprites │
│ │
├─────────────────────────────────────┤
│ What do you do? │
│ │
│ ┌─────────────────────────────┐ │
│ │ "I'd like that. The │ │
│ │ rooftop at sunset?" │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ "I'm busy. Maybe another │ │
│ │ time." │ │
│ └─────────────────────────────┘ │
│ ┌─────────────────────────────┐ │
│ │ "What's this about?" │ │
│ └─────────────────────────────┘ │
│ │
└─────────────────────────────────────┘
Choices can be:
- Timed — A countdown forces a decision (or defaults to no response)
- Conditional — Some options only appear if certain flags or relationship thresholds are met
- Free text — The player types their own response instead of picking from a list
The HUD
Depending on the VN mode and what you've configured, the player may see:
| Element | What It Shows |
|---|---|
| Inventory | Items the player has collected, with descriptions |
| Objectives | Active goals and their progress |
| Relationships | Affinity levels with cast members (Dating Sim mode) |
| Map | Navigable location map |
| Stats | Custom counters and flags relevant to gameplay |
Scene Transitions
When the story moves between locations, the screen transitions smoothly:
| Transition | Effect |
|---|---|
| Fade | Smooth fade to black and back |
| Slide | The new scene slides in from one side |
| Iris | A circular wipe (classic film technique) |
| Dissolve | One image gradually replaces another |
| None | Instant cut — sometimes the most dramatic option |
Stage Directions
Behind every visual change on screen is a stage direction — a structured instruction the AI embeds in its response. You never see these as a player; they're parsed out and executed by the VN engine before the text reaches the screen.
The AI has access to these stage directions:
Scene Control
| Direction | What It Does |
|---|---|
| Set Background | Changes the background image — can target a specific location and variant |
| Navigate To | Moves the story to a different location (triggers background, ambient audio, and music changes) |
| Transition | Plays a visual transition effect between scenes |
| Show Map | Opens the navigation map for the player |
Character Control
| Direction | What It Does |
|---|---|
| Set Expression | Changes a character's facial expression |
| Move Sprite | Repositions a character on the stage (far left, left, center, right, far right, or offscreen) |
| Reveal Character | Makes a hidden cast member visible for the first time |
Audio Control
| Direction | What It Does |
|---|---|
| Set Music | Starts a music track (with optional fade-in) |
| Stop Music | Stops the current music (with optional fade-out) |
| Play SFX | Plays a one-shot sound effect |
Interaction Control
| Direction | What It Does |
|---|---|
| Show Choices | Presents the player with a set of options to choose from |
| Give Item | Adds an item to the player's inventory |
| Remove Item | Takes an item from the player's inventory |
| Gift Item | The player gives an item to a cast member (triggers relationship effects) |
| Set State | Changes game state — sets flags, increments counters, adjusts relationships |
Objective Control
| Direction | What It Does |
|---|---|
| Trigger Objective | Activates a hidden objective — it appears in the HUD |
| Complete Objective | Marks an objective as successfully completed, grants rewards |
| Fail Objective | Marks an objective as failed |
Minigames
| Direction | What It Does |
|---|---|
| Start Minigame | Launches an interactive minigame — quizzes, puzzles, card games, stat checks |
The AI decides when to use each direction based on the story's flow. You don't need to script when backgrounds change or when music starts — the AI reads the emotional context and makes those calls. A tense confrontation triggers dramatic music. A peaceful morning triggers the gentle ambient track. A character storming out moves their sprite offscreen.
UI Themes
The VN player's visual style is fully customizable through UI themes. A theme controls everything from where the dialogue box sits to what fonts are used to how choices are styled.
Preset Themes
| Theme | Style |
|---|---|
| Classic VN | Traditional visual novel layout — full-screen background, sprites centered, dialogue box anchored at the bottom |
| Mobile Messenger | Chat-bubble style — dialogue appears in a phone-like interface, good for modern/casual settings |
| Cinematic | Widescreen letterbox with minimal UI — focuses on the visuals, dialogue is understated |
| Side Portrait | Character portrait on one side, text area on the other — good for dialogue-heavy stories |
| Custom | Full control over layout, colors, fonts, and styling via a grid-based configuration system |
Theme Customization
Each theme lets you adjust:
- Colors — Primary, secondary, accent, text, and background overlay colors
- Typography — Font family, dialogue text size, character name size
- Dialogue Box — Position (bottom, inline, right, top), padding, border radius, backdrop blur
- Choice Buttons — Layout (vertical, horizontal, grid), hover effects (glow, scale, underline)
- Transitions — How dialogue appears, how sprites enter, how backgrounds change
- Custom Assets — Upload your own dialogue frame, choice frame, and name plate images for a fully branded look
Minigames
Minigames are interactive moments that break up the narrative flow — a quiz, a card game, a stat check, a puzzle. They interrupt the story briefly, then feed their results back into the game state.
Available Minigame Types
| Type | What It Is |
|---|---|
| Quiz | Multiple-choice questions with a pass threshold |
| Card Game | A simple card game with configurable rules |
| Puzzle | A puzzle challenge with hints available |
| Rhythm | A rhythm-based challenge at configurable BPM and difficulty |
| Stat Check | Roll-the-dice style check against a player stat — pass or fail based on difficulty |
| Custom | A freeform minigame with a description and custom data — for unique one-off games |
Each minigame defines reward state changes (what happens when the player wins) and failure state changes (what happens when they lose). This means a failed stat check might lower a character's trust, while a won card game might earn a rare item.
Title Screen and Menus
Your VN can have a custom title screen — the first thing a player sees before the story begins.
Title Screen Options
| Field | Purpose |
|---|---|
| Background Image | Full-screen art behind the title |
| Logo Image | Your VN's logo or title art |
| Subtitle Text | A tagline or quote below the title |
| Music Track | Background music for the title screen |
| Button Style | Minimal, bordered, filled, or custom |
| Button Layout | Vertical or horizontal arrangement |
Pause Menu
During play, the pause menu can include:
- Save and Load functionality
- Settings adjustments
- A Gallery (for unlocked CGs and artwork)
- Custom menu items (trigger minigames, toggle flags, open external links)
Emotion System
The emotion system controls how character expressions change during the story. There are several modes:
| Mode | How It Works |
|---|---|
| AI Mandatory | The AI must specify an expression for every line of dialogue. Maximum visual expressiveness. |
| AI Optional | The AI can specify expressions when it wants to, and the current expression holds when it doesn't. |
| Keyword Fallback | The system automatically infers expressions from emotional keywords in the text. If the AI doesn't specify an expression, the engine looks for words like "smiled," "frowned," "blushed" and maps them to sprites. |
| Off | Expressions stay on their default and never change automatically. |
For most VNs, AI Optional is the best balance — the AI changes expressions at dramatic moments and lets them hold during quieter dialogue. AI Mandatory is great for highly expressive, fast-paced stories where you want constant visual feedback.
Integration with Other Systems
The Visual Novel system doesn't exist in isolation — it connects with RoleCall's other major systems to create a richer experience.
With Story Director
When the Story Director (DM) is active during a VN session, it takes on the role of a game master behind the scenes:
- Arc Planning: The DM tracks narrative arcs across the VN's story beats, deciding when to advance toward each waypoint
- Foreshadowing: Seeds planted by the DM manifest as subtle details in the VN — a raven on a windowsill, a character's offhand comment that means more than it seems
- Pacing: The DM monitors the story's rhythm and adjusts — if there's been too much action, it suggests a calm scene; if things have been quiet too long, it nudges toward tension
- Shadow World: NPCs in the VN have lives off-screen. The DM tracks what they're doing when the player isn't looking, so their behavior feels consistent and alive
The DM and VN system complement each other beautifully. The VN provides the visual stage; the DM provides the narrative intelligence.
With Compendium
The Compendium handles context management — what the AI remembers about previous sessions. In a VN context:
- Session Continuity: When a player returns to a VN they paused days ago, the Compendium reconstructs the narrative context so the AI picks up seamlessly
- "Previously On..." Recaps: The Compendium can generate a recap of what happened last session, presented as a visual summary before play resumes
- Long-Term Memory: Key events, relationship milestones, and player choices from early in the story persist and influence later scenes, even across multiple sessions
With Immersion Trackers
The VN's game state syncs with the broader immersion tracker system:
- Relationships tracked in the VN (affinity, trust, romance) can appear in the Relationships tracker panel
- Inventory items show up in the Inventory tracker
- Objectives map to the Quests tracker
- Map locations sync with the Map tracker
This means the sidebar tracker panels — the same ones used in regular chat mode — display your VN's live game state. Everything stays in sync.
Tips for Great Visual Novels
Story Design
- Write evocative story beats, not scripts. The beat "Elena reveals her secret under the cherry blossoms" gives the AI more to work with than "Elena says: I have something to tell you." Paint a mood. The AI will paint the scene.
- Use the priority system wisely. Mark 3-5 beats as Essential — these are your story's spine. Everything else should be Important or Optional. Too many Essential beats make the story feel rushed.
- Leave gaps in your beat ordering. Use order hints like 10, 20, 30 — not 1, 2, 3. This gives the AI room to breathe between major beats and insert organic character moments.
- Set objectives sparingly. 3-5 active objectives at a time is a sweet spot. More than that overwhelms the player and dilutes focus.
Cast and Visuals
- Give characters at least 6-10 expressions. Happy, sad, angry, surprised, embarrassed, smug, thoughtful, worried — the more visual range, the more alive they feel.
- Create background variants for key locations. A "night" variant for every major location goes a long way. "Rainy" variants add atmospheric depth.
- Use multiple locations. Even a short VN benefits from 4-6 distinct locations. Visual variety keeps the experience from feeling static.
- Use connected locations to build a world. Even if the player never uses the map, location connections help the AI make navigation feel natural.
Audio
- Curate a small, high-quality soundtrack. 5-8 well-chosen tracks with distinct moods is better than 30 generic ones. The AI needs to match music to emotion, and fewer tracks with clear identities makes that easier.
- Use ambient audio for every major location. It's subtle, but ambient sound transforms the experience from "reading text" to "being somewhere."
- Tag your music tracks. "Romantic," "tense," "battle," "peaceful" — tags help the AI choose the right music for the moment.
Mode Selection
| If your story is... | Use this mode |
|---|---|
| Romance-focused with multiple love interests | Dating Sim |
| A strong narrative with key decision points | Visual Novel |
| Exploration-heavy with lots of player agency | CYOA |
| A cinematic experience meant to be watched | Kinetic |
General
- Test your VN by playing it. The best way to find issues is to experience the story as a player. Does the pacing feel right? Do the expressions change at the right moments? Does the music match the mood?
- Use the Dating Sim mode's gift system thoughtfully. Give each gift distinct reactions per character. A bouquet of roses should make the romantic character swoon and the brooding character uncomfortable.
- Hidden characters are your secret weapon. A cast member who doesn't appear until act two creates anticipation and surprise. The AI foreshadows their arrival without showing them.
- Use AI Notes on story beats for tone guidance. "Don't rush this scene," "Let the silence speak," "Build tension before the reveal" — these private notes shape how the AI approaches each moment.
Current Status
The Visual Novel creator is currently in beta. You can access it at /create/visual-novel and start building. The player engine, stage rendering, action parsing, and all four VN modes are functional. Expect continued improvements to the editor, theme system, and minigame framework as the feature matures.
Published VNs appear in Discovery alongside characters, presets, and lorebooks — browse, play, fork, and share.