# CRaPI Framework #
by Team Yaffa

# Navigation:
  Project page on SF
# Mailinglist
# Links:
  RoboCup simulator
SourceForge.net Logo
# Tiro, your guide to CRaPI:

Thursday, January 9, 2003


Tiro is a RoboCup player that has been developed to allow users to quickly start using the CRaPI framework. We developed it to provide a tutorial on how to use CRaPI.


1. Download the Tiro package from our download section.
2. Unzip the Tiro package.
3. Add Tiro project to existing or empty solution.
4. Build the project.
5. Start the robocup server.
6. Start Tiro.exe with the argument “-c small_team.xml” (make sure the Host-tag in small_team.xml refers to the computer where there server runs).

How to use Tiro


The DecisionMaker is an abstract base class that defines the interface for decision makers. StateAnalyzer is our implementation of a DecisionMaker, which evaluates the current state of the game.


GameState is a class that when chosen by the StateAnalyzer evaluates the set of associated Behaviours. Examples of GameStates are AttackGameState and DefenseGameState, which have different Behaviours associated.


A Behaviour have two functions. The first function is to evaluate how beneficial it is, in the current situation, for itself to be fired. The second function is to produce a list of Commands that is to be sent to the server. Normally this list only contains one Command, but remember that a turn_neck can be launched in the same cycle as another command. For information about how to create Behaviours, see the Behaviour class and its subclasses.


XML is used extensively in Tiro to define parameters such as; team name, server ip, server port and time out. XML is also used to define each Player in the team. For each Player, the XML defines start location, which DecisionMaker to use and which Behaviours to use for each GameState. For more information of how to write the XML-file please see small_team.xml, or run tiro.exe with the “-m” argument to create a default file for one player.