## 5. Options

RealTimeBattle is configurable with a bunch of options, collected in different groups. The philosophy is to give you full freedom to set up the game in the way you like. This does mean, however, that some settings of the options may give bad combination, which can cause troubles for the program.

## 5.1 Environmental options

Gravitational Constant:

  The acceleration due to gravitation. It is about 9.8 on the earth. An increase will increase the friction, thereby slow down the robots.

Air resistance:

  As it sounds. Increases with speed.

Roll friction:

  The friction in the direction of the robot if not braking.

Slide friction:

  The friction orthogonal to the robot direction. Also the maximum friction if braking.

Send robot coordinates:

  Determines how coordinates are send to the robots. The following options are available:

  - 0 - don't send any coordinates (default)
  - 1 - send the coordinates relative the starting position
  - 2 - send absolute coordinates

## 5.2 Robot options

Robot max acceleration:

  Robots are not allowed to accelerate faster than this and ...

Robot min acceleration:

  ... slower than this.

Robot radius:

  Determines the size of the robot.

Robot mass:

  Large robot mass will increase the impact of collisions.

Robot bounce coefficient:

  Affects how well the robots will bounce. If zero the robots will cling together when colliding, if the value is one they will act like perfect billiard balls.

Robot hardness coefficient:

  Determines how seriously damaged the robots will be when colliding. The lower the value, the softer the material.

Robot protection coefficient:

  Influences how well protected the robot is. This factor is to be multiplied with the damaging energy to get how much to reduce the robot's energy.

Robot frontszie:

  The front of the robot is a section with different materials, usually harder and more protective, so robots can injure each other by ramming.

Robot front bounce coefficient:

  See previous four items.

Robot front hardness coefficient:

  See previous five items.

Robot front protection coefficient:

  See previous six items.

Robot start energy:

  The amount of energy the robots will have at the beginning of each game.

Robot max energy:

  By eating a cookie, the robot can increase its energy; not more than this, though.

Robot max rotate speed:

  How fast the robot itself may rotate. Unit: radians/s .

Robot cannon max rotate speed:

  Maximum cannon rotate speed. Note that the cannon and the radar move relative to the robot, so the actual rotation speed may be higher.

Robot radar max rotate speed:

  Maximum radar rotate speed. See note above.

Robot energy levels:

  The robot will only know its energy approximately. This will decide how many discretation levels will be used.

## 5.3 Shot options

Shot radius:

  Size of shots. Should be less than robot radius.

Shot speed:

  Shots are moving with this speed in the direction of the cannon plus the velocity of the robot.

Shooting penalty:

  When shooting the robot itself gets damaged. This is the factor, by which the shot energy is multiplied, to get the damaging energy. If the number of robots is large, this number is reduced, so that you never lose in average by shooting (if you hit).

Shot min energy:

  The lowest shot energy allowed. A robot trying to shoot with less energy will fail to shoot.

Shot max potential energy:

  The robots have a shot energy, which increases with time, but will never exceed this value.

Shot potential energy increase speed:

  Determines how fast the robots shot energy noted above, will increase. Unit: energy/s .

## 5.4 Extras options

Cookie max energy:

  The cookie energy is a random number between cookie max energy and cookie min energy.

Cookie min energy:

  See above.

Cookie frequency:

  The number of cookie per second that will appear in average.

Cookie radius:

  Size of cookie.

Mine max energy:

  The mine energy is a random number between mine max energy and mine min energy.

Mine min energy:

  See above.

Mine frequency:

  The number of mine per second that will appear in average.

Mine radius:

  Size of mine.

Cookie colour:

  Cookie colour in hexadecimal red-green-blue form.

Mine colour:

  As above.

## 5.5 Time options

Timeout:

  This is the longest time a game will take. When the time is up all remaining robots are killed, without getting any more points.

Max timestep:

  If the computer is temporarily slowed down, the time between updates can be to long. Setting this option will make the program artificially slow down the clock in those cases and therefore violate the realtimeness.

Time scale:

  Increasing time scale to more than one means that the game clock will go faster than an ordinary clock. Changing this value can be usefull if you either want to give the robots more time or if you have a fast computer you may want to speed the game up.

Update interval:

  This option determines the time between robot updates, i.e., how often the robot states are changed. It is not influenced by the 'Time Scale' and cannot be altered when the program is running. The accuracy is 1/100 s (depending of the precision of the system that RealTimeBattle is running on).

Robot startup time:

  Determines the time between the robot processes are executed and the sequence begins. If robots are black and have no name, you may need to increase the startup time from the default of one second. This can happen if, for example, the robots are many, large or you are running on a slow or remote computer.

Start CPU time:

  In competition-mode a robot's CPU usage is limited. At the beginning of a sequence a robot will get this amount of CPU time to spend.

Extra CPU time:

  When the start CPU time is spent, the robot will get this amount of extra CPU time.

Extra CPU period:

  The extra CPU time must last an entire CPU period, otherwise the robot will die in the current game.

CPU warning percentage:

  When the robot has used up this amount of its CPU time it will receive a warning message.

Process check interval:

  In competition-mode this will decide how often the program will check for CPU usage.

Logging frequency:

  To reduce the size of log files you can increase this option. With this option, robot position info are only logged every n:th update interval.

## 5.6 Window sizes

Here you can set the initial sizes for some windows, namely the arena window, the message window, the score window and the statistics window. You can also set the position for the first three and the control window.

## 5.7 Miscellaneous options

Arena scale:

  Overall scale of the arena. A value of 2 gives double sidelength, i.e., a four times larger area.

Fast forward factor:

  Determines, when replaying, the speed when the fast forward button or the rewind button is pressed.

Max robots allowed simultaneously:

  Allows the user to change the maximum amount of robots allowed in a sequence. If there are too many, the system might complain (how many depends on the system).

Background colour:

  Background colour and ...

Foreground colour:

  ... foreground colour for the arena.

Colour for RTB messages:

  Colour for the text when RTB sends messages.

Robot search path:

  This is a colon-separated list of directories which will be searched for robots when a new tournament is started. The subdirectory `Robots` in the rtb install directory (default: `/usr/local/games/RealTimeBattle`) is always searched.

Arena search path:

  Same as above, but for arena files instead of robots. Here the subdirectory is `Arenas`.