sholloway / agents-playground

MIT License
4 stars 0 forks source link

Multiple Agents Scheduled Simulation #38

Closed sholloway closed 1 year ago

sholloway commented 2 years ago

Update the existing scheduled simulation to work with multiple agents.

Agent Scenarios

Tasks

sholloway commented 2 years ago

Trying to implement this has led to the place of not knowing how to reconcile scheduled based updates vs a traditional update loop. I've started diving deep into trying to identify the appropriate way to organize the agents.

Should the Scheduler be more sophisticated? Look at Naughty Dog's [Job Scheduler Design] Christian Gyrling

Additional Concurrency Options (Fibers)

sholloway commented 2 years ago

Digging into this has left me with a strong feeling of not being organized. I need to spend more time in diagramming mode before writing any code. Concepts that I need to Flush Out

sholloway commented 2 years ago

Dale Weiler's write up on implementing a M:N fiber solution is insightful.

In the Python space combining an event loop (e.g. pyuv) with a fiber library like Greenlets or python-fibers may be good enough for my needs.

TODO

sholloway commented 1 year ago

Parsers and Generators

Regarding the emergent narrative aspect of this, I wonder if there is a need/opportunity to explore using grammar for crafting the generation of agent behavior, history, or dialogue.

EBNF may be good for defining generation rules.

Some Python tools.

Consider string grammars vs graph grammars.

Graph rewriting

Social Network

Th generation of "stories" can be informed by an agent's social network. Each agent could potentially maintain a list of their relationships. Who they know and what the relationship type is. A relationship between two agents could be multifaceted. Work, friends, lovers, etc.

Being able to traverse and visualize both an agent's network and the network as a whole could be useful.