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:
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.
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
Linux (32 and 64 Bit x-86, Alpha)
Open BSD (x-86)
Free BSD (x-86)
Net BSD (x-86)
Mac OS X 10.2
Solaris 9 (sparc and x-86)
Windows with the Cygwin environment
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.
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
rtb-team.sourceforge.net