Are there frameworks for reasoning about questions corresponding to: Given my quest and stage design, is it assured that for any mixture of participant decisions there isn’t a manner for the participant to lock themselves out of finishing the sport?
For instance, assume a quest like this:
- The Participant can betray NPC A and obtain merchandise b from NPC B as a reward, or
- The Participant can betray NPC B and obtain merchandise a from NPC A as a reward.
- The Participant can commerce both merchandise a or b for a key. That is the one approach to receive key.
- Solely the key opens a brand new zone. That is the one approach to enter zone.
- The participant can kill NPC A. Upon demise, NPC A doesn’t drop merchandise a.
With this setup, the participant can lock themselves out of finishing the sport in the event that they kill NPC A and betray NPC B. On this case, they’ll neither get merchandise a nor b as a reward, due to this fact by no means receive key, and by no means enter zone.
Now have a look at these two further guidelines:
- If killed, NPC A drops merchandise a.
- The one approach to kill NPC A is thru an merchandise that may solely be obtained from zone.
Including both of those choices / constraints ensures that the participant can by no means lock themselves out of finishing the sport.
In the event you wanted some time to learn by way of these guidelines, then it implies that it’s no less than a bit tough to purpose about them, though that is solely a really small instance. For any lifelike variety of choices, constraints, NPCs, gadgets, and quest branches, likelihood is excessive that we overlook a possible path during which the participant leads to essentially the most irritating state of affairs: being unable to finish the sport, and probably discovering this out solely very late.
How do individuals purpose about such issues? I can think about encoding some helpful info into my quest descriptors, gadgets, and many others., turning all of it into some type of large state machine and computationally validating that there are not any lifeless ends. Or I can flip all of the choices and constraints into Prolog clauses and test for satisfyability. Each appears doable however costly to construct only for one sport.
How do studios do that? Are there current frameworks? Infinite QA and hoping for the perfect? Leaving it to beta testers?