There are many systems out there that are just waiting to be eisified and become an environment for your software agents to play in. Think of anything you would like to connect an agent to so that it gains control over it: bots or non-player characters in a game, entities in a simulator, real robots, web-based systems, mobile apps, etc.
The Environment Interface Standard (EIS) provides a glue code framework that facilitates connecting agents to another system, i.e., the environment. EIS has been created in Java and solves a number of problems that you face when connecting agents to any other system, including most importantly:
connecting agents to entities that are made available by the environment
the exchange of actions that are performed by an agent with the environment
the exchange of perceptual information from the environment to an agent
tracking the state of the environment that agents are connected to (e.g., paused, running)
changing and managing the state of the environment that agents are connected to.
EIS also provides tools for handling technical issues such as exceptions.
Here we provide a step-by-step guide on how to create your own EIS-enabled environment to which agents can be connected.
Note: Throughout this guide we will assume that you use maven and git, although it is not necessary to use these tools and you can choose to use your own preferred tools. In that case, references in the guide to either maven or git need to be substituted with the ones you use. The main effort needed to implement EIS for your environment is writing Java code, which does not rely on these choices.
Implementing an EIS environment consists of the following main steps: