Tank wars with robocode
Many AI researchers find out that games are excellent test-beds for
their theories. The advantage of games is that there exists an
environment and a concrete interface to interact with it. For example,
there are applications of SOAR architecture to control a bot inside a
quakeTM game to play against other bots or humans. In the
quakeTM game, the bot can hear the steps of other players and
see them. This way, constructing a bot in quakeTM becomes a
simplified version of constructing a robot in a real environment.
Following this research trend, this example shows how to acquire
elements from a game to express them in the methodology language. The
chosen game for this example is RobocodeTM. Robocode is a
Java game distributed by IBM whose purpose is to teach Java programming
in an environment that motivates learning. The game is about
tank-shaped robots fighting among themselves. Each robot can actuate
with predefined primitives (like ahead, turn left, turn right) and
perceive the environment with radar, position sensors and some events.
Each robot tries to survive the battle with different strategies (some
of them are commented in Robocode tutorial pages). Java programmers
have to figure out, without any human intervention, which sequence of
actions will improve the chances that a robot survives.
In this case study, we apply INGENIAS to model how a team of agents
fight against another team of enemy agents. The case study includes
organization of the team of agents, interaction among the members of
the organization, and certain capabilities of planning.
This section shows current state of robocode development. It includes
elaboration and inception results, according to the Unified Process.
- Inception
- HTML documentation.
Generated from an INGENIAS specification.
- Source code of Initial prototipe.
Build with conventional engineering methods. To execute the prototipe,
you must download the robocode platform from http://robocode.alphaworks.ibm.com/home/home.html.
Once downloaded, follow robocode instructions to load class files of
the prototype. The only functional robot is ingenias.robo.TeamLeaderExp. This
robot only tests of how BDI ideas could fit into a robocode tank
architecture.
- INGENIAS files.
Contains the description of the system in the inception stage. To
review these files, you have to download INGENIAS IDE from http://ingenias.sourceforge.net.After
downloading it, execute the tool and open the files from the menu
in File -> Load
- Elaboration