Candy Logo Copyright © 2025-2026 Candy Arts

Dialogue Structure
A Dialogue is divided into Conversations, each divided into Blocks, each containing Lines. Each Line is a configured Command, which instructs the Engine to do one thing: make an Actor speak, play media, modify a variable... Rules Organization How a Dialogue is divided is free: a game's entire dialogue fits in a single Block, as well as in a different Conversation for every exchange. A game can also contain several Dialogues, which adds a level of organization. Naming Dialogues, Conversations and Blocks are named freely. The only rule is that two Conversations can't share a name, nor can two Blocks inside the same Conversation. Progression When your game runs a Dialogue, it names the Conversation, Block and Line the Engine starts at. The Lines of a Block run in order, one at a time. After the last Line of a Block, the Dialogue ends: it doesn't continue to the next Block. Navigation A Dialogue isn't confined to a single Block: a Transition Command moves the Dialogue to another Line, Block or Conversation. For example, a long Block is divided into smaller ones, and a Transition Command at the end of each Block moves the Dialogue to the next. Branching A Transition Command inside a Condition Command branches the Dialogue. Condition Commands are the equivalent of GDScript's if/elif/else conditions and for/while loops. At any point of a Block, the Dialogue can therefore move to a different Block when a condition is fulfilled. Player Choices A Dialogue can also present Choices to the player. A Choice triggers a Transition Command to another Conversation, Block or Line, where further Commands produce the effects of that Choice.