I had a few ideas for some conditional variable changes that could be somewhat useful, I'll list them here (and potential uses for each): First off, it would be great if the metadata for each chapter had a list of all conditional variables in it. This could be done by appending to the list every time a new chapter is added and there's a variable that doesn't already exist. For retroactively adding this meta data, the story tree could be traversed in breadth first search to just get all the branching variables relatively quickly. In the event that a new branch is made earlier on in the story, the data structure for this could be a linked list of inheritance, allowing for new variables to be quickly propagated downstream without having to worry about going through the entire story. This could be super useful for seeing all conditional variables on the sidebar, so when authors have complex stories they don't need to necessarily keep track of the variables on their own. It could also allow for dropdown selection of variables in conditions for viewing a chapter, so there's not the issue of selecting a variable that doesn't exist by accident. Enumerator variable type - variables that would be assigned to a custom type defined on the story level, such that the custom type only allows for certain values, and then the conditional variable could be assigned to one of those enumerated values. Ideally with at least a few spots open for enumerated types. This could allow for branching chapters to come back to the main thread without having to define variables in multiple places, like whether or not a path results in someone having a particular opinion of you and having to set it to false everywhere except for the one time that it's true. When it comes time to assign the variable in the editor, it would be a dropdown. Using the variable in a logical check in text or in branching would require comparing it to the literal string value of the enumerated value, however. This conditional variable could have an additional field that indicates how it would be shown to the reader in the side bar, meaning that internally it could have a value of "closed" or "open", but to the reader it would say something like "The door is closed". (This may be useful for even the current variable types and allowing for them to be presented in a more detailed manner.) A real example would be in Party of Helpless Hotties, when you decide who to save first in a particular event (don't want to spoil it). Currently, it more than likely uses nine booleans - one for each character, depending on who you saved first, second, and third (as the scenarios differ depending on the order, and you get different dialog later on depending on the result). Instead, this could be made into three variables, with one for each position of who did you save first, second, and third This could also allow for more retroactive changes to scenarios - if instead of a boolean for each of the side characters involved in scenarios, it was an enumerator that could take the name of any of the characters, then it could later be changed to involve completely different characters without having to worry about readers having to go back and reset a slew of complex variables if they want to see a different scene. String variable type - this is already available in customization, but it would be nice to have in branching stories in the event that there is a choice on a name and you don't want to spoil the presence of a character in the customization options. (This may even lend itself to allowing for text input at the end of a chapter to allow for simple things like this - not text-adventure style, but just allowing for more immersive customization.) Allowing for in-story changes of string variables based on input or a choice could also help resolve the issue of customization details not being retained across game sessions. Even when I start a game and go back to the latest chapter, I have to re-enter my customization values. Array variables may allow for inventory management, and it could allow for the score sidebar to show things in a list of items you have in your inventory. That's all the suggestions I have. If anyone working with CHYOA is interested in these changes, I'd be more than happy to assist with any implementation.
That is already possible. If you only have 3 persons and 3 positions, you could actually use only 1 variable. The number of orders with 3 persons and 3 positions is 6. So you can assign each number one order of persons. (With 4 persons and 4 positions, there would be 24 different possibilities, so it would be quite complicated.) But it is also possible to use just 3 variables, one for each person. The number you store would be the position of the person. (This also works with a lot of persons/variables, though the usage might need a lot of chapters and if-statements.) The only difference would be that it won't be shown in the Score tab. On the other hand, you probably don't want such unimportant variables displayed as it would clutter up the sidebar.