Department of Computer Science

FAQ for XGrabtor

General questions

  1. Does XGrabtor/XRaptor run under Windows?

    Basically, no. There exist Linux emulations under Windows, but I have no idea whether XRaptor works there.


  1. What is the relative position relative to?

    The relative position is taken with respect to the position and orientation (direction) of the current agent. So, if x=20, y=10, this means that the object under consideration is 20 units in front of the agent and 10 units to the left.

    The relative position of an object in general depends on both the position and the orientation of the agent. So, if the agent moves or turns around, it will change in general.

  2. I still don't understand, what is the use of engine?

    Well, the engine does, what an engine should: it moves the agent. There are two engines to the agent, both take values between -1 and 1. If both are 1, the agent moves ahead, if both are -1, the agent moves back, if one is 1 and the other one -1, well then - the agent turns around for a bit.

  3. Where is the food coming from, I did not create any?

    Currently, XGrabtor supports only XRaptor's tournament scenario. In this scenario, you cannot control food creation. Food is constantly being created by the XRaptor simulator.

  4. How fast is the time running? How does it relate to delay nodes?

    Each frame shown on the screen corresponds to ten simulation steps. Each time step is instantaneous event, and all values propagate over all connections instantaneously, with exception of the delay nodes! A value travels from input to output of a delay value in exact the period between the two time steps.

  5. Why do I get different results each time I start the simulation, even if I do not change the code?

    XRaptor uses a random generator to generate different initial states for each simulation. Unfortunately, there is presently no way of restarting a scenario in an exactly reproducible way on the XGrabtor level.

    The only way of exactly reproducing experiments is on the C++ level. You do not need to read on if you do not know C++. To create exactly reproducible scenarios, you would need to develop your agents on C++ level and then use the XRaptor training mode. Should you have sufficient C++ knowledge, and some experience in developing agents using XGrabtor, you could have a look at the code generated by XGrabtor and learn how to write agents directly in C++, e.g. by modifying this code. Using XRaptor's training mode, you can then write a controlled scenario for the study of agents. See the XRaptor manual for details on the training mode.

  6. What are the values for the minimum/maximum energy, the energy use and other parameters of the scenario?

    You can find all parameter values in <prefix>/share/XRaptor/ConstFile, under the prefix directory where XRaptor had been installed in the <prefix> directory. The values should be more or less self-explanatory.


  1. If I want two different teams to compete, do I have to save the projects in two different files?

    The easy answer is: yes. More precisely: to have different teams, you need different project names. The easiest way to achieve this is by using different files.

    If you want different teams with identical behaviour, just save/export/publish the same code into different files with different project names.

  2. How do I publish these teams into the same scenario?

    For a team code that has been saved and exported, use the 'publish' function to publish it into some suitable directory. After publishing into that directory, you can use the 'create tournament' option which opens a menu showing the available teams. You can then use the mouse to select teams to be included in the scenario by SHIFT-clicking on the teams in the menu you wish to select.

Special functions

  1. How does the "step" node work?

    When the input is negative, it outputs 0. Once the input is nonnegative (equal or larger than 0), it outputs 1 (not the input value).

  2. I do not understand: with how much energy should I spit?

    The queen starts with 3,000,000 units and dies at (I believe) 1,000,000 units. An ant starts with 300,000 units and dies at 100,000 units. A piece of food rots away at 30,000 units. Spitting an amount x of food generates food of half the value, i.e. a food piece with x/2 energy units. So, if you spit 60,000, the food will just rot away! So, typically, you would probably regurgitate around 100,000 units of food (give or take) to make sure that the piece of food generated stays around.

XRaptor use

  1. Do we really have to restart XRaptor every time we change the agents?

    Yes. The xraptor executable is compiled, not interpreted, and your agent code is (in the current version) not dynamically loaded. So, each time you change and recompile your agents, you indeed need to close your old XRaptor process and restart it from scratch.

  2. Ok, I started XRaptor. I do not see anything I can understand. Now what?

    As explained in the XRaptor manual, the ant colony scenario is two-dimensional, but XRaptor supports 3D. Therefore, basically, you can imagine the ants to run on a vertical glass pane in front of the XRaptor View window. To see them, you have to move back, best done using the keypad - (minus) key repeatedly. You should then start to see small specks of food and (perhaps, if there are any) larger specks of ants.

  3. I can see all these little dots now. How do I actually run XRaptor?

    You can use the Animate buttons for that. Animate starts a continuous animation, Animate 1 performs a single simulation step, Animate 10 performs 10 simulation steps.


  1. How do I select food, ant and queen parameters?

    In the XRaptor distribution, there is a file ConstFile which contains all parameters (explained in detail in the XRaptor manual). This file is placed in the share/XRaptor directory of your installation path and serves as default. To override the default, copy the ConstFile in your working directory. xraptor, called in that directory, will read the local ConstFile allowing you to override the default.

Home (Daniel Polani)

Last changed at Thu Mar 16 16:59:34 2006 by D. Polani