## 5. Optionen

RealTimeBattle kann durch eine ganze Reihe von Optionen konfiguriert werden, die in verschiedenen Gruppen zusammengefasst sind. Die Philosophie dahinter ist, dir größtmögliche Freiheit zu geben, das Spiel so zu gestalten wie du es willst. Das heisst aber auch, dass bestimmte Kombinationen der Optionen zu schlechten Ergebnissen führen können, und dem Programm Schwierigkeiten machen könnten.

## 5.1 Umwelt-Optionen

Gravitational Constant:

  Die Beschleunigung, die von der Gravitation herrührt. Auf der Erde ist diese Konstante ungefähr 9.81. Eine Erhöhung wird zu einer erhöhten Reibung führen und die Roboter langsamer machen.

AirResistance:

  Richtig geraten. Der Luftwiderstand nimmt mit der Geschwindigkeit zu.

RollFriction:

  Die Reibung in Richtung des Roboters, wenn er nicht bremst (Rollreibung).

SlideFriction:

  Die Reibung orthogonal zur Richtung des Roboters. Ist gleichzeitig die maximale Reibung, wenn der Roboter bremst (Gleitreibung).

Send robot coordinates:

  Legt fest wie Koordinaten zu den Robotern gesendet werde. Folgende Optionen sind verfügbar:

  - 0 - kein Koordinaten senden (standart)
  - 1 - sendet die Koordinaten relativ zur Startposition
  - 2 - sendet absolute Koordinaten

## 5.2 Roboter Optionen

Robot max acceleration:

  Roboter dürfen nicht mehr beschleunigen, als dieser Wert angibt, und...

Robot min acceleration:

  ...nicht weniger als dieser Wert.

Robot radius:

  Gibt die Größe des Roboters an.

Robot mass:

  Robotergewicht. Ein grosses Robotergewicht erhöht die Auswirkungen eines Zusammenpralls.

Robot bounce coefficient:

  Gibt an wie gut der Roboter abprallen kann. Wenn dieser Wert 0 ist, werden die Roboter 'aufeinanderklatschen' wenn sie kollidieren, wenn der Wert 1, ist werden sie sich wie perfekte Billiardbälle verhalten.

Robot hardness coefficient:

  Gibt an wieviel Schaden die Roboter erleiden, wenn sie kollidieren. Je kleiner der Wert, desto weicher das Material.

Robot protection coefficient:

  Bestimmt, wie gut der Roboter geschützt ist. Dieser Faktor wird mit der Energie des Schadens multipliziert, und man erhält den Wert, um den man die Roboterenergie verringern muss.

Robot frontsize:

  Die Vorderseite des Roboters ist ein Gebiet aus verschiedenen Materialien, normalerweise härter und schützender, sodass Roboter sich gegenseitig Schaden können indem sie sich rammen.

Robot front bounce coefficient:

  Siehe vorherige 4 Erklärungen.

Robot front hardness coefficient:

  Siehe vorherige 5 Erklärungen.

Robot front protection coefficient:

  Siehe vorherige 6 Erklärungen.

Robot start energy:

  Die Menge an Energie, die der Roboter am Anfang jeden Spieles haben wird.

Robot max energy:

  Durch aufnehmen eines Kekses kann der Roboter seine Energie erhöhen, allerdings nicht mehr als auf diesen Wert.

Robot max rotate speed:

  Wie schnell der Roboter rotieren darf. Einheit: 'radians'/s.

Robot cannon max rotate speed:

  Maximale Geschwindigkeit, mit der die Kanone rotieren darf. Allerdings rotieren die Kanone und der Radar relativ zum Roboter, sodass die eigentliche Rotationsgeschwindigkeit höher sein kann.

Robot radar max rotate speed:

  Maximale Radar-Rotationsigeschwindigkeit. Siehe auch obige Bemerkung.

Robot energy levels:

  Der Roboter wird seine Energie nur ungefähr wissen. Diese Option entscheidet wieviele unterschiedliche Energie-Stufen es im Spiel gibt.

## 5.3 Schuß-Optionen

Shot radius:

  Größe der Schüsse. Sollte kleiner sein als der Roboter Radius.

Shot speed:

  Schüsse bewegen sich mit dieser Geschwindigkeit in die Richtung der Kanone plus der Geschwindigkeit des Roboters.

Shooting penalty:

  Wenn der Roboter schiesst, nimmt er dabei selber Schaden. Dies ist der Faktor, mit dem die Schuß-Energie multipliziert wird, um die Energie zu bekommen, die dem Roboter abgezogen wird. Wenn die Anzahl der Roboter gross ist, wird diese Zahl verkleinert, sodass man nie unverhältnismäßig viel Energie verliert.

Shot min energy:

  Die kleinste erlaubte Schuß-Energie. Ein Roboter, der versucht mit weniger Energie zu schiessen wird gar nicht schiessen.

Shot max potential energy:

  Die Roboter haben eine Schuss-Energie, die mit der Zeit zunimmt, diesen Wert aber nicht überschreitet.

Shot potential energy increase speed:

  Gibt an, wie schnell die Schuss-Energie des Roboters (siehe oben) zunimmt. Einheit: Energie/Sekunde.

## 5.4 Extra-Optionen

Cookie max energy:

  Die Energie, die man von einem Keks bekommt ist ein zufälliger Wert zwischen `Cookie max energy` und `Cookie min energy` .

Cookie min energy:

  Siehe oben.

Cookie frequency:

  Die Zahl der Kekse pro Sekunde, die durchschnittlich auftauchen werden.

Cookie radius:

  Größe der Kekse.

Mine max energy:

  Die Minen-Energie ist ein Zufallswert zwischen `Mine max energy` und `Mine min energy`

Mine min energy:

  Siehe oben.

Mine frequency:

  Die Anzahl der Minen pro Sekunde, die durschnittlich auf dem Spielfeld erscheinen werden.

Mine radius:

  Größe der Minen.

Cookie colour:

  Farbe der Kekse in hexadezimaler Schreibweise, angegeben in rot-gruen-blau Werten.

Mine colour:

  siehe oben.

## 5.5 Zeit Optionen

Timeout:

  Dies ist die maximale Dauer eines Spiels. Wenn die Zeit abgelaufen ist, werden alle verbleibenden Roboter gekillt, ohne noch irgendwelche Punkte zu bekommen.

Max timestep:

  Wenn der Computer zeitweise sehr langsam wird, kann die Zeit zwischen updates ziemlich lang werden. Indem man diese Option setzt, kann sich das Programm in solchen Fällen künstlich verlangsamen und damit die "realtimeness" verletzen.

Time scale:

  Setzt man Timescale grösser als 1, heisst das, dass die Spiel-Uhr schneller als eine "richtige" Uhr gehen wird. Diesen Wert zu verändern kann nützlich sein wenn man entweder den Robotern mehr Zeit geben will, oder wenn man (k)einen schnellen Computer hat und man das Spiel beschleunigen will.

Update interval:

  Diese Option gibt die Zeit zwischen Roboter-updates an, d.h. wie oft der Roboter-Zustand verändert wird. Sie wird nicht von der "Time Scale"-Option beinflusst, und kann nicht verändert werden, wenn das Programm läuft. Die Genauigkeit ist 1/100 s(je nach Genauigkeit des Systems auf dem RealTimeBattle läuft).

Robot startup time:

  Legt die Zeit zwischen dem ausführen der Roboter und dem Anfang der Sequenz fest. Wenn Roboter schwarz sind und keine Namen haben, solltest du die RobotStartupTime etwas erhöhen(voreingestellt ist 1 Sekunde). Dies kann z.B. passieren wenn es viele Roboter gibt, die Roboter ziemlich groß sind, man auf einem langsamen Rechner arbeitet.

Start CPU time:

  Im Competition-Modus ist die CPU-Zeit eines Roboters begrenzt. Am Anfang einer Sequenz bekommt ein Roboter diese Menge an CPU-Zeit, die er verbrauchen darf.

Extra CPU time:

  Wenn die anfängliche CPU-Zeit verbraucht ist, bekommt der Roboter die Menge an Extra-CPU-Zeit.

Extra CPU period:

  Die Extra CPU-Zeit muss eine ganze CPU-Periode reichen, sonst stirbt der Roboter im aktuellen Spiel.

CPU warning percentage:

  Wenn der Roboter diesen Betrag an CPU-Zeit aufgebraucht hat, bekommt er eine Warnung zugeschickt.

Process check interval:

  Im Competition-Modus entscheidet dieser Wert, wie oft das Programm den CPU-Verbrauch überprüfen wird.

Logging frequency:

  Um die Größe der log files zu reduzieren kannst du diesen Wert vergrössern. Mit dieser Option werden robot position info nur jedes 'n'te Update-Interval aktualisiert.

## 5.6 Fenstergrößen

Hier kann man die Größe für verschiedene Fenster setzen, nämlich das Arena-Fenster, das Message-Fenster, das Score-Fenster und das Statistik-Fenster. Man kann auch die Position für die ersten drei und das Kontroll-Fenster angeben.

## 5.7 Verschiedene Optionen

Arena scale:

  "Overall Scale" der Arena. Ein Wert von 2 ergibt eine doppelte Seitenlänge, d.h. eine viermal so große Arena.

Fast forward factor:

  Legt die Geschwindigkeit fest mit der das Spiel mittels fast forward oder rewind abläuft(siehe auch Replay).

Max. Anzahl von Robotern, die gleichzeitig erlaubt sind:

  Erlaubt dem User die maximal erlaubte Anzahl an Robotern in einer Sequenz zu verändern. Wenn es zu viele sind, kann sich das Betriebssystem beschweren (bei wievielen dies passiert ist systemabhängig).

Background colour:

  Hintergrundfarbe und...

Foreground colour:

  ...Vordergrundfarbe der Arena.

Farbe der RTB-Nachrichten:

  Farbe des Textes der RTB-Nachrichten.

Robot search path:

  Dies ist eine durch Doppelpunkte getrennte Liste von Verzeichnissen die nach Robotern durchsucht werden, wenn ein neues Turnier anfängt. Das Verzeichnis `Robots` im Installationsverzeichnis (Standard-Wert: `/usr/local/games/RealTimeBattle`) wird immer durchsucht.

Arena search path:

  Ähnlich wie oben, allerdings für Arena-Dateien, nicht für Roboter. Das Verzeichnis `Arenas` im Installationsverzeichnis (Standard-Wert: `/usr/local/games/RealTimeBattle`) wird immer durchsucht.