One popular event of software development competitions is games where only the rules are provided, participants have to develop artificial intelligence that needs to solve different problems or fight against each others. These games are also can be used for teaching and self improvement. The results achieved by the developer demonstrates his or her knowledge and interest in the profession, which can be useful for example in job search. While preparing the agents, we can get acquainted with many new technologies and algorithms, and we will get an insight into the world of artificial intelligence development.
The goal of my essay is to create a framework which handles these kind of games uniformly. This is beneficial to game developers, as they can get the functionality they need in general and make it easier to reach the users. Additionally, it is useful for players too, as games that use the system make things work uniformly, so they need to learn them only once. It also provides components needed for the development of agents, such as the display responsible for visualization, and runs the game logic.
As a first step I examined the existing similar solutions. After this I selected the required system components. The next step was the detailed design of the architecture and then the design of the individual components. Then I implemented the system and an example game. Finally I made various tests to confirm correct operation.