Choice hierarchy, values, and labels
Choice hierarchy
To better organize your model and simplify its logic, it’s possible to nest choices. A choice that contains other choices is called an abstract choice; otherwise, it’s referred to as a leaf choice. To change a choice type to abstract, simply click on the plus icon on the right side of the node, or use the drag-and-drop functionality.
Using abstract choices is a handy way to simplify constraints. In the following example we create a constraint that encourages Edmund to use ranged weapons.
Values
Every leaf choice has its own value, which is used during the generation process. When the value field is empty, the value defaults to the choice name. Remember that choice names have some limitations — for example, it’s not possible to have multiple choices with the same name. With values, however, this limitation doesn’t exist. Since abstract choices act as containers and aren’t directly used in the generation process, it’s not possible to assign values to them.
Labels
Every element of the model can optionally contain one or more labels. They can be used to add additional information or to provide an alternative way of grouping elements. To add a label in the GUI, click on the Extend icon and type your text labels. Note that labels are separated by commas..
Labels can also be suggested by AI. In this case, click on the ‘labels’ input and wait a few seconds.
Since labels are used for grouping elements, they can be used during the generation process. In the following example, we don’t use choices labelled as ‘heavy’.
Of course we can label parameters in the same way as choices. Here, we forced our heroes to fight without using weapons.
Labels can be used in constraints as well. In this example, we force strong heroes to use heavy weapons.

