I’ve worked with two different publishing companies on CYOA games, so I got a lot of feedback from editors. Generally, it went like this:
“Me: So, I want to do [fancy thing with loops and variables]…”
“Them: Hmmm, it seems complicated, and it doesn’t add anything to the player experience. What if you took it out?”
“Me: Okay.”
“Them: Now, the game is much better!”
If you look at the very best Twine games, like Birdland, My Father’s Long Long Legs, Howling Dogs, Bogeyman, etc. they tend to have very few ‘big branches’. Almost all the branching is done locally, with a few variables stored for later purposes.
Other games, like Lux, Urs, and the Axolotl Project build a Twine map where nodes correspond to physical locations, and most of the game’s ‘memory’ is just variables that determine if you can progress from one room to another. There is, again, no big overall branching.
The only game I’ve seen where extreme branching actually works is Animalia. It was very hard for the author to do, but you can read about their planning process in this post: https://intfiction.org/t/animalia-second-edition-absurdly-late-post-mortem/14025/1