How to create several routes
A chapter is like a tree. The starting trunk can lead to different branches (as well called node), each of them representing a different path that the player can take. Each of these branches can as well leads to different branches. In game, the game ends when the player finish a branch that has no more child.
A change of branch is either a choice given to the player (menu statement in Ren'Py) or an automatic routing depending on previous decision (if statement in Ren'Py).
If the branch is a choice, you should add a text by clicking on the button "Enter a choice". In game, this will be the text displayed in the choice menu. If the player click on this text, this path will be taken. If the branch is an automatic routing, there is no need to enter this text.
In the story editor, the id of a branch is displayed in a blue box on the top right part of the element.
To add a new branch, click on the cog button that is located on the top right of the element and click on "Add child". The new branch is added at the bottom of its parent.
By clicking on the "Move" button, you can drag and drop a branch in order to change its position or even its parent.
A branch has several other properties, that can be modified by clicking on the little wheel on the top right corner of the branch and then clicking on "Edit" :
- children: a list of branches id, separated by coma
- conditions: a list of conditions that has to be fulfilled in order to reach this branch.
- consequences: a list of consequences applied if this branch is taken
- classification: the branch type
Classification
The classification indicates what action should be made after the branch has been played.
- Choice (for choice only): if the branch has children, the choices will be displayed if all the conditions are fulfilled.
- Automatic rooting (for automatic rooting only): if the branch has children, the first branch of which the condition are fulfilled is taken. The last branch should not have any condition, so it will automaticaly be taken if no others are.
- Call: display the content of another branch and its children before displaying the content of this branch. If selected, you have to enter the id of the other branch in the new text input.
- Quizz: start a quizz.
- Infinite loop (for choice only): if the branch has children, the choices will be displayed if all the conditions are fulfilled. When the player click on a choice, the branch and its children are displayed until there is no more child. Then, instead of finishing the game, the choices are displayed again. The list of choice can be different if new conditions are fulfilled. Very useful for conversational games in which the player can interrogate a non playable character.
- Degressive loop (for choice only): same thing than an infinite loop, except that a choice that have already been chosen will not be displayed again.
- Go to upper loop (for choice only): if the player click on this choice, he/she will come back to an upper loop. Useful to change subject in a conversational game (Ex: "Let's talk about something else.")
- Loop end (for choice only): this choice stops the loop.
- Jump to chapter: if the player click on this choice, the branch and its children are displayed until there is no more child. Then, the story jump to the selected chapter. If selected, you have to enter the id of the chapter in the new text input.