I claim today that what breaks the feeling of linearity, of only “branching” content in our narratives, what makes the games feel non-linear, is that a player’s action that can be used in a similar context to provide a different result. We generally call this a mechanic: mechanics can be repeated over and over to get the same result, but give different benefits depending on the context (typically the location, aka jumping puzzles, but could be time, player resources, anything). Any time you can apply a mechanic and get a meaningful result, you are no longer in linear, non-interactive feeling, boring space. That this usually leads to procedural/systematic solutions is probably an unnecessary leap, albeit a useful one.
This formulation requires that mechanics be bound by at least semi-consistent rules (which create resulting dynamics, nach). The player can reason about these rules to predict results and make informed choices. Otherwise, there would be randomness, chaos!, and it would feel non-linear, but not complex either. Ah, the vagracy of complexity theory. But yes, expectation says that if I can do something twice, I usually can do it in any context where it makes sense.
It is the intermixing of these rules throughout the different game contexts that prevents the “feeling” of branching. The inventory items of old adventure games don’t break branching, and thus by this definition are not mechanics, because they are (usually) pure one-use lock and key. However, repeat dialogue systems in the Sims are mechanics because they can lead to different (story) outcomes. And the coins in Super Mario Bros. are not mechanics because they do not provide any (meaningful) result, except that 100 gives you an extra life, saving them.
Why define mechanics like this?
Because it defines a story concept and a story problem with a system design solution. A well-studied, implementable design solution. How do you prevent branching? You create a generally applicable mechanic that the context creates different meanings for. Mix and repeat until ready to serve.
(Edit: Consider KOTOR. 1 mechanic (good/evil), but still felt very branching, moreso because that mechanic was rarely meaningfully in play. Compare to two other existance proofs. I’ll let you guess the ones I’m thinking of. P—————— and U———.
What is significant is the number of mechanics typically needed in these sorts of branching dialogue trees. Or rather, the number of significant choices (made significant by however many mechanics necessary). Network/Choice Theory would predict 2-3, which is the typical number for such games. But I have a hard time visualizing so few being meaningful enough. Maybe it is because the mechanics themselves aren’t powerful enough to make the decisions significant, not that the options are too few.)