I agree with Hyperion that actual NNs are probably too computationally expensive for a game like this with potentially many actors.
That said, being able to do something like genetic variation is one of the reasons I created the "
How Long Should NPCs Live?" poll. How do advantageous behaviors spread? If NPCs live forever unless killed by another character, then behaviors can't really be propagated; they have to be passed on in real time by some deliberate mechanism. If NPCs "breed" reasonably quickly, however, then you have a chance to pass on behaviors, either as whole things or perhaps with some kind of crossover functionality operating on individual components of behaviors.
Regarding superstitious behaviors specifically, here's another explanation of what I mean by that. This is just how I imagine it might work; it's by no means anything I think Josh might include in Limit Theory.
"Behaviors" are patterns of actions that an NPC can express. Which behavior an NPC picks to express is determined by a function. That function constitutes a "belief" about the world.
Beliefs are statements about what the NPC considers to be true about the world -- in other words, beliefs are models of reality describing dynamics. A model converts inputs (observed phenomena) into outputs (consequences) according to rules intended to mimic real-world processes. So the "goodness" of a model (which is to say, a belief about the world) depends on at least three things:
- How closely does the functional structure of this model match real-world processes?
- How accurate is the filtering of the model? Does it only and fully consider inputs that are relevant and meaningful?
- How closely do the inputs to the model match real-world phenomena?
In terms of the behavior of NPCs in a game, this means that to be effective in the world, they need to have models about the world that do (at least) three things:
- The model's processing function is good.
- The model's processing function operates on just the important inputs.
- The NPC can accurately observe inputs from the world.
Finally, after all this, we can define "superstition": a superstition is an NPC's internal model (belief) about world dynamics that is substantially different from the physical truth about those dynamics. And practically speaking, superstitions exist either as functions hard-coded by the developer, or they arise when an NPC generates an internal model of the world based on multiple experiences.
Let's take a game example: an NPC pilot is fired on by another character.
The target NPC may now make a choice among numerous behaviors. How he makes that choice is where belief, and superstition, come into play.
Suppose the NPC is being fired on by multiple sources. The NPC will probably "want" to make a choice among numerous possible behavioral options (in order to satisfy a survival motivation, even one that's just hard-coded).
The simplest version of a belief here is just an if-statement: if fired on, run. A more complex choice might be to assess the threat quickly using the most immediate data. That's a belief about the world: given certain inputs, apply a particular model.
In this case of simple survival, the belief is probably an OK one. "Fight or flight" is a relatively simple decision function operating on a small number of accurately-observable inputs. What about more complex situations?
Suppose an NPC visits a space station three times, and immediately after leaving the station discovers a high-value ore source. Observational input 1 is "I have visited station X"; observational input 2 is "I found a high-value ore location"; and "input 2 follows input 1 closely in time" is a reasoned input. An NPC that is capable of generating new models about reality -- that is, new
beliefs about how particular inputs interact to produce particular outputs -- might generate an internal model that says, "going to Station X causes good ore finds to happen."
That would be a a superstitious belief. And acting on that belief is what we'd call superstitious behavior.
The thing to see here is that, really,
any internally-generated belief about the world is capable of being a superstition! What makes a theoretical model not-superstitious is that its inputs are real and accurate (not imagined or distorted observations); its inputs are relevant and meaningful to a choice that needs to be made; and the function for operating on those inputs is a "reasonably" close match for the actual processes operating in that world. (Note that a model could still be good in theory even if its inputs are bogus; I include input quality here as a component of NPC beliefs because observational accuracy strongly affects NPC decision-making efficacy.)
Deciding whether a model's functions are a "reasonably" close match for real-world processes is a subjective assessment. (What's close enough?) That means there's a gray area between superstition and truth. Even if there's a gray area, though, there are still endpoints. One endpoint we call "effective" if its outcomes reliably improve the character's state when tested; the other is "superstitious."
All the above is in support of the one idea I'm trying to express in this thread, which is that I wonder about the extent to which NPCs in LT will be able to reason about their world.
If NPCs are capable of generating models for action based on observation of object properties in space and time, then I'm arguing that those models are equivalent to "beliefs," and that it's possible for some of these beliefs to be of sufficiently low quality as to appear to produce superstitious behaviors.
And the larger question from that is, would a game that tolerated some amount of superstitious behavior in its NPCs feel like fun for some players? Or would it just feel "broken" to nearly all players?