The idea is to support a level of "gameplay" inside conversations, conceived roughly as:
At some stage in the dialogue, the player has to "say the right thing"
Player might be shown three "wrong thing to say" answers alongside one correct one
To make each playthrough of this experience unique, these are not always the same
Base data: pool of incorrect answers, pool of correct answers, dialogue instantiates by selecting 3 from the incorrect pool (at random) and 1 from the correct pool (at random)
@Batbro open question/food for thought: might we want to have multiple unique correct solutions in some cases? rather than our current idea of one correct line of discussion, just reworded a few different ways. could be an interesting way to increase unique paths.
(note to self: this wouldn't change implementation)
Implementation:
[ ] @Batbro - write me up the data for a sample - I'll need an NPC line, then multiple right and wrong things to say in response, then (optional but would be great to have) at least one positive and one negative response from the NPC, depending on whether you said the right thing or not. You can make this as a text file and attach it to this issue. If you want, you can add 'side effects' to any of the options, just add a note like "++ robot trust" or "-- approval from this human" or whatever. Optional.
[x] explore gdscript's randomization methods
[ ] extend dialogue generation system to support "pools" of options
[x] integrate randomization into picking from pools
The idea is to support a level of "gameplay" inside conversations, conceived roughly as:
Implementation: