Something that’s a massive pain in Episode coding is that you can gain but you can’t lose .
If you, like me, want to make a story that you can repeat and make different choices, but you use gains to keep track of these choices, it’s really irritating.
I’ve been using this solution, which I’m going to call gaining inhibitors. It’s a bit clunky, and I think the best approach is probably just using goto instead of gain to avoid the problem completely, but maybe there are situations where that isn’t ideal. In that situation, you could use this instead!
label colour_choice
#this bit will allow you to move on once you’ve tried all the colours
if (red_finished and blue_finished and green_finished){
goto end
}else{
}
NARRATOR
Pick a colour!
choice “Red”{
if (red_finished){
You have already done this path!
goto colour_choice
}else{
gain red
}
}“Blue”{
if (blue_finished){
You have already done this path!
goto colour_choice
}else{
gain blue
}
}“Green”{
if (green_finished){
You have already done this path!
goto colour_choice
}else{
gain green
}
}
#this part directs you to the paths, by first checking for a colour and then checking if the colour is active or if you’ve done it already
if (red){
if (red and red_finished){
}else{
goto red
}
}elif (blue){
if (blue and blue_finished){
}else{
goto blue
}
}elif (green){
if (green and green_finished){
}else{
goto green
}
}
label red
NARRATOR
The red path goes here
gain red_finished
goto colour_choice
label blue
NARRATOR
The blue path goes here
gain blue_finished
goto colour_choice
label green
NARRATOR
The green path goes here
gain green_finished
goto colour_choice
label end
NARRATOR
This is the end of the story! You can only get here after making all 3 colour choices.
The inhibitors are the red_finished, blue_finished and green_finished tags, which are used to override the origianal red, blue and green tags. Even though just totally separating the paths with one “goto” and no convergence is much cleaner, this could maybe help if you’re coming up close to the character limit and need to streamline by adding convergence.
To be honest, I like sealing off previously chosen choices anyway, so even if I did just use a goto I would still add a gain at the end of each path which blocks you from replaying it.
Hope this helps someone!