- Have many agents interacting in interesting ways, with individual
utility functions.
- Allow live display and control over utility functions.
- Represent Considerations and Actions
- add these to the model
- show them to the user
- Represent Considerations and Actions
- Give agents things/places/events to seek out
- Allow agents to move
- Allow agents to derive utility from...
- ...social interaction
- ...reducing entropy
- by fighting fires
- by cleaning up trash
- ...eating
- ...moving about
- ...resting
- Give agents things/places/events to avoid
- Allow agents to...
- ...take damage
- From fire
- From attacks
- From hunger
- ...recognize unpleasant areas
- ...take damage
- Allow agents to...
- Give agents reasons to cooperate
- feeding the hungry
- giving carried food to the hungry
- feeding the hungry
- Give agents a 'frustration' feeling
- Give agents a way to break out of unproductive patterns
- Define "unproductivity" for actions
- e.g., not getting closer to food to eat
- Define "unproductivity" for actions
- Give agents a way to break out of unproductive patterns
- Group those agents into factions
- Allow agents to navigate complex environments
- with a navmesh?
- or a dynamic navmesh?
- with a navmesh?
- Allow live display and control over the space
- Render the space
- Render agents
- Render a circle
- Render a simple, oriented shape
- Render an emoji to indicate the agent's state
- Show a short trail of where they've been
- Render objects in the world
- Fire
- Render a filled red circle that fades out at the edge
- Show a fire icon at the centre
- Food
- Food Store
- Trash
- Rest areas
- Fire
- Allow moving agents via click-drag
- Allow adding / removing objects in the space
- Show interesting stats / graphs over time
- Record time-series of the stats
- Identify the stats of interest
- Draw a graph
- Record time-series of the stats
- Have dynamic obstacles in the space
- add pathfinding
- Allow live display and control over utility functions.