Free Form Design

Free Form Design builds a custom game as a directed flow of Stages. Each Stage can present Pages, wait for completion, write Variable outputs, and route to the next Stage.

Layout And Game Flow

Layout shows the Stage graph. The toolbar provides undo, redo, canvas zoom, fit, and Add Stage. Selecting a Stage opens the movable and resizable Stage settings inspector.

Stage nodes are marked as entry, process, or terminal according to their place in the flow. Presentation-only lifecycle Stages such as Instructions, Results, and Moderator are also shown in Game presentation.

Stage Settings

The inspector contains:

The inspector can be moved and resized so it does not cover the part of the graph being edited.

Routes

Each route names a next Stage and supplies either a boolean condition or a numeric weight.

A Stage with no route is terminal. Route expressions may use automatic_response() when timeout or automatic completion should behave differently from an explicit participant response.

Variable Outputs

Variable outputs run after the Stage completes and before the next Stage begins. Each row selects a Variable, supplies an output formula, and may mark the update as immediate.

Use the move controls when output order matters. Keep intermediate calculations explicit enough that their timing remains understandable in Data model and Run Logs.

Pages

Pages provide the visible Stage content. They use the shared Page editor and Audience rules described in Designing Games.

A Stage without an eligible Page can still perform process work. For a participant with no Active, Observe, or Glance Page, the Stage has no visible authored Page.

Gameplay

Gameplay exposes the same Stage configuration in collapsible Stage panels. Use Layout when graph context matters and Gameplay when reviewing detailed Stage settings sequentially. Both edit the same canonical definition.

Pre-Run Check

Confirm that:

For field-by-field behavior, including route selection and Immediate output timing, see Free Form Settings Reference.