Welcome to the RealTimeBattle homepage

RealTimeBattle is a programming game, in which robots controlled by programs are fighting each other. The goal is to destroy the enemies, using the radar to examine the environment and the cannon to shoot.

Here is a list of features of RealTimeBattle:

RealTimeBattle 1.0.8 released

The RealTimeBattle Team Framework Group proudly announces RealTimeBattle 1.0.8.

There is a long distance between the last version and the current one, because we have integrated improvements from different developer teams around the globe who have only little time to work on RealTimeBattle.

RealTimeBattle Download Site

So what's new on the 1.0.8 version? We will list the ten most important points here:

1. Beginning separation of GUI and Core

Now, the first steps are made to separate the GUI components from the simulation core. If you compile RealTimeBattle with the --enable-network option, you can connect to the RealTimeBattle core via TCP/IP on a port specified as command line parameter. You will be able to start and watch tournaments from remote. With this approach, new external clients and visualization plugins can be developed without changing the core. The protocol corresponds to the protocol used for logging tournaments. At the moment, there is only one client available, that is still in development. There are progresses in external clients that also support sound and comments about the running games. Thanks to Mr. Friendly (Volker Ströbel) for his efforts to get things done.

Download Experimental GUI client for ReallTimeBattle

2. More sample robots, improved sample robots

With version 1.0.7 we started to distribute a variety of different robots in different programming languages in the Extended Edition. We have recognized, that almost every person interested in RealTimeBattle downloaded this version, so we will only release an Extended Version for 1.0.8.
The sample robots have been improved and new robots were introduced: The RealTimeBattle Team Framework now supports two more strategies (Cobra and Columbus) and Raziel (a python bot) joined the other robots. Thanks to Sebastian Rolof, Tino Truppel and Torsten Sachse.

3. Code Cleanup

All custom collection classes in the code were replaced by STL containers. RealTimeBattle will now stand a Denial of Service Attack by an evil robot and is no longer vulnerable to several buffer overflow possibilities. Thanks to Georg Zetzsche for helping me with this issue. RealTimeBattle will not crash any longer if a wrong tournament file or arena file is supplied. Thanks to Christian Heinemann for his work.

4. Bug Fixing

Features that were broken in 1.0.6 and 1.0.7 like the replaying and recording of log files or the compilation without GUI now work again. For further details about the fixed bugs, see our bugtracker.

5. Supported platforms

RealTimeBattle 1.0.8 was successfully compiled and tested under

Thanks to Simen Røkaas for his distribution to the Windows port.

View Simen's Tutorial on how RealTimeBattle can be run under Windows

It would be cool, if some volunteer would manage to create some binary packages (e. g. RPM, MSI) for RealTimeBattle 1.0.8. At the moment, the only distribution we know, that already ships with RealTimeBattle is Debian.

RealTimeBattle Debian package

6. Team Support

RealTimeBattle now supports teams without changing the protocol. The RobotInfo message now distinguishes friends and enemies. All team members get the same colour. To assign to a team, you have to specify the team name with your name. "Name foo Team: bar" lets your robot "foo" join the Team "bar".

7. Updated Documentation

The English and German documentation will tell you everything about the new features like team support and GUI/Core separation. Furthermore, outdated links and email addresses were updated. Documentation for other languages still do not reflect the latest changes. We need volunteers to update them.

English RealTimeBattle Documentation (v1.0.8)
German RealTimeBattle Documentation (v1.0.8)
French RealTimeBattle Documentation (v1.0.5 rev 1)
Spanish RealTimeBattle Documentation (v1.0.8)
Japanese RealTimeBattle Documentation (v1.0.0 rev 1)

8. Introduction of the RealTimeBattle Security Infrastructure

While we are planning the next World Champion Ship (probably held in Potsdam on the RoboClash 2006), we have developed a method to guarantee, that robots must behave according the rules. Deletion of files, spying out other binaries, establishing network connections, sending signals to non team mates, creating files in other directories than the team directory, interacting with other processes not part of the team, misuse of resources like memory, CPU and disk space and other evil actions will be automatically prevented by the applied mechanism. The solution works with a portable system call interposition tool named systrace (www.systrace.org). The RealTimeBattle security infrastructure mainly consists of a shell script (create_guardedrobot.sh) that automatically creates wrapper scripts and system call policies for the competing robots. The RealTimeBattle Security Infrastructure is described in detail in chapter seven of "Secure execution of untrusted code" (only available in German).

Systrace - Interactive Policy Generation for System Calls
Sichere Ausführung nicht vertrauenswürdiger Programme

9. Tournament Pack

To get an overview about how clever robots can act in the RealTimeBattle arenas, we have packed the log files of all champion ships together and released them in a separate download file. This is nothing really new, but very convenient because otherwise you have to download a lot of files.
For those who took part in the recorded tournaments: We would be very happy, if you could provide us with the source code of your robots so that we can add it to the sample robots.

Download RealTimeBattle Competitions

10. Diagram Pack

We always search new interested developers to assist us improving RealTimeBattle and the RealTimeBattle Team Framework. In order to get a quick overview about the architecture of RealTimeBattle and the Framework, we have packaged all existing design and analysis diagrams (UML and FMC) in a separate download. Sometimes, you can save a lot of time by studying these diagrams instead of reading the code over and over. Thanks to Falko Menge and the RTB-Team Analysis Group.

Download RealTimeBattle Architecture Diagrams
Download RTB-Team-Framework Diagrams

If you have further questions about one or more points, please contact us over our mailing lists.

Have a lot of fun

Johannes Nicolai
for the RealTimeBattle Team Framework Group