Is it possible for a game to have a purely general dialog system?

<aside> đź’ˇ

CompuQuest experimented in this direction but my memory isn’t clear on how that played out.

</aside>

Composition

What would a general dialog system even look like?

First, each possible dialog node would need to exist independently of other dialog nodes.

When a player talked to an AI user:

  1. The global list of nodes would need to be filtered to create a subset of viable nodes for that conversation,
  2. And then the nodes would by dynamically connected to create a graph.

Or maybe back up one more, maybe the graph itself would be virtual.

Every step of dialog would be dynamically generated based on current state.

Dynamic navigation

If navigation was dynamic, what would determine which options appeared first and which options were behind other options?

Local context

Even if it was determined entirely by state, should there still be some local state?

For example, human communication is dependent on context, where the interpretation of one sentence is heavily dependent on the sentences which came before it.

To some degree, certain dialog options may be needed to establish the context for later dialog options.

That would be performing a similar function as pronouns in grammar. Following sentences would use pronouns, and previous sentences would define the pronouns

That is also similar to a function with parameters. The pronouns are parameters, and previous sentences would be setting the arguments.

Random options

Disco Elysium has a system or random options, where rolls are made against the player character’s attributes to determine whether a certain observation is made, which can lead to additional dialog options.