Collected and answered by Dennis C. Bemmann
Note: For questions concerning Multitasking, please look at the Multitasking FAQ.
Q: | How does the transfer of code banks work? Are the instructions transfered one by one or in a block? |
---|---|
A: | The whole bank is transfered in a single block. Thus, it is not possible
that a robot gets half a bank or that two different banks "mix up". Either
the transfer succeeds 100%, or it doesn't at all. |
Q: | When is an instruction actually executed? Immediately or after the execution time? |
A: | The effects of an instruction execution happen when all the cycles needed
to execute the instruction are over. For example, if a robot executes a
MOVE instruction which takes 18 cycles, he moves onto the next field AFTER
all 18 cycles have passed. |
Q: | How do I (un)subscribe to the mailing-list? |
A: |
The simple method: Look at our Mailing List page and follow the instructions to (un)subscribe. The hard-core method:
|
Q: | Doesn't a BJUMP to a non-existent bank cause an "Invalid bank" error? |
A: | No, it doesn't. It causes the robot to perform an auto-reboot.
The "Invalid bank" error occurs if you try to build a bot with >50 banks. |
Q: | What happens if a robot is currently executing a bank and now gets another bank transfered from outside? Does the robot reboot or start from the beginning of the bank, or does it just continue with the next instruction? |
A: | The robot will first complete the execution of its current instruction and
then just continue with the instruction at the position that would usually
be next. Only if there is no instruction at this position (because the new
bank contains less or no instructions), the robot will try to auto-reboot. |
Q: | How does the server calculate the score of a program? |
A: | The formula is Wins*3 + Ties.
However, this does only include simulations against programs that are in
the charts. When a new program is submitted, it only plays against the Top
10. It's not possible to simulate against every other program, since that
would take much too long. On the other hand, you cannot compare programs
that have played against different opponents. Thus, only the simulations
against programs in the charts count for score calculation. This is also
the reason when, for example, two programs change place in the charts
(after the score was re-calculated). |
Q: | Can I upload RBI files to the server? |
A: | No, you cannot. This is because of two reasons. First, RBI files are
not being checked in any way when loaded. This could cause the server
to crash if somebody uploads an invalid RBI. We don't have that problem
with ROB sources, since they are assembled by the server and rejected if
erroneous. Second, RoboCom programs uploaded to the server are distributed
to the public once they are out-dated. Everyone should be given the possibility
to learn from the strategies, so we need the source. |
Q: | Exactly when is a simulation declared a tie? |
A: | A simulation is declared a tie when after 80000 cycles (the standard
timeout) no program has won yet. |
Q: | What happens if two robots try to move to the same field at the same time? |
A: | The older robot has priority and will move to the field.
The other robot will not do anything. |