Keyboard shortcuts

Press ← or → to navigate between chapters

Press S or / to search in the book

Press ? to show this help

Press Esc to hide this help

Choice and character layout

Lives in: game.json → layout

Project defaults for choice menus, name entry, and where characters stand. A story moment can override these for one scene; this file sets the usual look.

Choice menus

"layout": {
  "choices": {
    "show_numbers": true,
    "shuffle": false,
    "gap": 10,
    "style": "choice_button"
  }
}
KeyEffect
show_numbersPrefix choices with 1., 2., …
shuffleMix the order (still stable for a given play)
gapSpace between stacked choices
styleButton look pack under themes/

container and item hold where the menu sits and per-button defaults — shapes shared with other UI: Shared shapes. Visual packs: Choice and input looks. Writing the options themselves stays in the script — Choices and memory.

Name entry

"layout": {
  "text_input": {
    "style": "input_default",
    "confirm": { "label": "OK" }
  }
}

Defaults for [input …] moments. Field placement and chrome use the same container shapes as choices.

Character places

"layout": {
  "characters": {
    "mode": "adaptive",
    "adaptive": {
      "slot_count": 3,
      "slot_width": 400,
      "slot_height": 720
    }
  }
}
ModeMeaning
adaptiveEven row of places (left / center / right by default)
explicitYou name each place with your own positions

Script stage directions like [hana left] use those place names. Full explanation: Planes and slots · Places on stage.

Usually you need

WantWrite
Numbered choices"choices": { "show_numbers": true }
Wider choice buttons"choices": { "item": { "layout": { "width": 480 } } }
Three standing places"characters": { "mode": "adaptive", "adaptive": { "slot_count": 3 } }

Full key list: game.json map.

Next

When a line of script is not enough: When the script is not enough. Or jump to The stage for pictures and music in scenes.