New features in RoboCom 3

An introduction written by Florian Fischer

RoboCom 3 is the most important update the RoboCom world has ever heard about.

One thing at first: until now, it was quite difficult to distinguish between the game RoboCom, its idea and programming language, which was called RoboCom, and its first and most important interpreter program, which was called RoboCom too. As there are other interpreters and programs related to RoboCom now, but still only the one and single game, the interpreter was renamed, in its newest version, to RoboCom Workshop, while the game will always just be called RoboCom.

So the following new features are also separated between news concerning the game and the programming language itself, and those concerning the interpreter RoboCom Workshop. And there are lots of news in both categories, so that you'll know what you have waited for so long...

RoboCom Language Standard RC300

Many additions have been done to RoboCom's programming language. They are presented here only shortly, but there are reference documents, longer explanations and often also tutorials concerning these themes. There are hyperlinks leading to these dedicated help sections.

Extended Instructions

These instructions are the result of a discussion lead by RoboCom fans and extend the original language set (the one with only twelve instructions) to make more different strategies possible. They can be divided into the following subsections:

Please have a look at the reference tables of all available instructions and parameters for more detailed information.

Multitasking

Multitasking is the result of an operation system update in the robots: it allows each robot to execute several tasks at the same time. This works pretty much like in real computers. It's just so much easier to use and doesn't crash all the time. ;-)

Multitasking can be enabled separately from the extended instructions and uses some new instructions too (of course).

The Multitasking FAQ provides more help on multitasking.

Defines

Defines are something like macros. They can be small (to replace just a numeric value with a more memorable name) but they are powerful enough to hold multi-line kill loops and they can even accept parameters.

Defines are never evaluated by a robot but always replaced by the real code during assembly.

New header format

The new Header fields are lines at the beginning of a RoboCom program which do not influence the behavior of the program itself but which can provide information for other people, for the interpreter, for competition servers etc. They replace the old NAME, AUTHOR and COUNTRY fields to represent also more general information like e-mail addresses, directives for opening the source or recommended option sets.

This page explains header fields in more detail.

New option set

For the new RoboCom 3 competition, we'll use different simulation options:

We hope that these modifications lead to new and interesting strategies.

Smaller additions

RoboCom Workshop

The most popular, most advanced and oldest RoboCom platform has been completely redesigned for the new version 3. Not only that it supports RoboCom Language Standard 3 (and thus all the additions above), but also its "look & feel" has been improved a lot.

New GUI

You won't believe your eyes... but yes, you will as you've already seen the website. RoboCom Workshop looks similar to it, but certainly different and much better than any standard Windows program. Just try it and see the shaded robots, the debugger, the message boxes, ...

New Editor

RoboCom Workshop includes a text editor again. But this time, it's really a good idea to use it - and not Notepad - because it has support for immediate assembling, testing, jumping to labels, banks or lines, auto indentation, templates and many more RoboCom specific functions.

New OptionSet Management

RoboCom Workshop can now use several option sets. An option set defines which instructions are allowed and their timing. You can comfortably edit these option sets in the new Option Set Editor, exchange them and switch between classic options and Multitasking with just two clicks. This is a good possibility to test whether your robot will work under different conditions. There will also be tournaments using different option sets and making RoboCom programming even more interesting.

There is some more information about option sets available.

Smaller additions

RoboTour and RoboView

RoboTour

For those who like to simulate big tournaments at home, using a fast, efficient and portable interpreter, or simply like to have the choice, RoboTour has also been updated to support all the new language features. At the same time, compatibility to RoboCom WS's and RobServ's results was improved even more.
There are also some new interesting features in RoboTour:

RoboView

Really soon now, the new tool RTGui (working title) will enable you to set up tournaments using RoboTour easily and comfortably. (for Windows only) It is intended as a drop-in replacement for RoboView, but will be much easier to install.

Of course, RoboView itself will still be available as the cross-platform RoboCom GUI, providing excellent tournament support. With recent versions of the Java environment, it should be much easier to install now, too.