It would be interesting to scale the complexity gradually while developing the framework. Each time, it can be increased by an atomic amount, which could consist of:
Increasing complexity of behaviors
Increasing the number of behaviors
Increasing the structure or hierarchy of behaviors
Introducing new heuristics (memory (temporal), neighbours (spatial)
An initial version of such a complexity ramp could look like:
Integrating behaviors into behaviors and agents
Integrating behavior into an agent.
Integrating one behavior into one agent.
Integrating two behaviors into one agent
Integrating n behaviors into one agent
Integrating behavior into multiple agents
Integrating one-to-n
n-to-n
Hierarchical behavior: Integrating behavior into behavior
one-to-n
n-to-n
States
Internal states
Make decisions based on internal agent states
Modify internal agent states
Other agent's states
Use other agent's states
Modify other agent's states
Model states
Use model states
Modify model states
Selection
Select other agents
Select other agents based on type
Select other agents based on properties
Selection of model states
Spatial
Select model states based on exact location
Select model states based on proximity (closeness)
It would be interesting to scale the complexity gradually while developing the framework. Each time, it can be increased by an atomic amount, which could consist of:
An initial version of such a complexity ramp could look like: