AgentAlpha Architecture
The first revision of the AgentAlpha architecture (temporary name, given the current state of the engine) has five major parts:
AgentCore
- Handles administrivia (reading in XML files, setting up logging)
- Manages data coming in from the game world (what agent has access to what data? granularity of data?)
- Manages actions going out from the agent
- Manages multiple agent threads (most likely, one instance of AgentAlpha per team)
GameController
- Connects to the game server and services (such as SSPS)
- Receives percepts from game and services
- Sends actions to game
- Spawned by AgentCore
AgentController
- One per agent
- Builds individual agent configurations
- Prioritizes agent behaviors
- Manages system resources
- Spawned by AgentCore
AgentThread
- Runs individual behavior objects
- Number of threads dependent on system resources
- Spawned by AgentController
BehaviorObjects
- Implements individual primitive behaviors
- Each object provides generator function
- Any-time: calling generator function next() method returns progressively better answers
- Objects instantiated by AgentController, managed by AgentThread
Graphical representation of the architecture at the thread level (objects not represented here):
Categories: Agent Core
