FAQ ver.1.4 - 13-Jan-2012

  1. Q: I've never written a robot. It's quite difficult, isn't it? What do I have to do ?

    A: Not at all. The CROBOTS manual, all documents and hundreds of source code are free available to check out informations.

  2. Q: Can I write robots using other programming languages (Pascal, C++, BASIC) ?

    A: No. CROBOTS accepts an ANSI C subset only.

  3. Q: Can I use Crobots32 (Pascal Robots or other clones) for testing my robot?

    A: No, and it is not useful at all because they are not compatible (Crobots32 neither) with CROBOTS.

  4. Q: Is there any graphical interface of CROBOTS?

    A: For the match visualization no, there isn't: on Ms-DOS/Linux platforms it does not exist and it is not useful at all. CROBOTS Amiga has got a pretty good graphical interface but its compiler isn't 100% compatible with the Ms-DOS/Linux version.

  5. Q: Is there a CROBOTS version for Windows9x/NT or OS/2 either?

    A: Yes. There's a CROBOTS Windows32 binary. CROBOTS Ms-DOS runs on a Windows or OS/2 virtual box, but the performances are worst.

  6. Q: May I run CROBOTS into other operating systems?

    A: CROBOTS runs on any operating systems with the x86 DOS/Win32/Linux architectures support (or emulation). Now there're also binaries for HP-UX, Solaris, IBM AIX, Mac OS X and Playstation architectures.

  7. Q: What's the Linux version which supports CROBOTS?

    A: Whatever! Check the (link) and download the binaries.

  8. Q: What are the differences between the CROBOTS binaries versions?

    A: There isn't any substantial difference. The Linux version is the official one. The only differences are the 32-bit and 64-bit versions: the binary (.ro) compiled with the 32-bit CROBOTS won't work with the 64-bit one's and vice versa.

  9. Q: What are the best robots for benchmarking and comparisons ?

    A: As usual the robots standing on the last year tournament final stage.

  10. Q: How can I analyze all CROBOTS log files ?

    A: Online, follow the download link where you can find the Simone Ascheri and Michelangelo Messina utilities which are used for this purpose.

  11. Q: What do I have to do to test my robot ?

    A: The link Tutorial explains some methodology. You may use a batch file or the software Torneo (configuring the file 'torneo.rob') or the Java client (with a MySQL db). All utilities are available on the link.

  12. Q: How can I configure the software Torneo to test my robot?

    A: The answers are mostly written on the Torneo's package README file. E.g. we use the 1991-1998 tournament; if we call our robot 'pippo.r' and put it on the test/ directory, and others robots of the 1991-1998 are stored into the torneo9198/ directory, a candidate 'torneo.rob' file (for Linux!) is :

    ----------------- begin 'torneo.rob -------------
    24
    5
    test/pippo.r
    torneo9198/goblin.r
    torneo9198/\!.r
    torneo9198/1\&1.r
    torneo9198/ai1.r
    torneo9198/arale.r
    torneo9198/bartali.r
    torneo9198/colossus.r
    torneo9198/coppi.r
    torneo9198/diabolik.r
    torneo9198/fable.r
    torneo9198/freedom.r
    torneo9198/goldrake.r
    torneo9198/gundam.r
    torneo9198/kill\!.r
    torneo9198/ncmplt.r
    torneo9198/rudolf.r
    torneo9198/rudolf_2.r
    torneo9198/rudolf_3.r
    torneo9198/son-goku.r
    torneo9198/sottolin.r
    torneo9198/stay.r
    torneo9198/tornado.r
    torneo9198/vision.r
    L=1
    T
    O
    M=10%
    C=update.sh
    ----------------- end 'torneo.rob' -------------
                    

    With those options we run the matches involving the first robot of the list only (test/pippo.r, L=1 option), with 5 repetitions for each quartet, following the order of the list in which robots are written. The script 'update.sh' contains the Count's options which automatically updates the robots score. The score has been updated with a 10% rate. If we want to obtain the goblin.r full score (as pippo.r) we must change L=1 to L=2. For a complete tournament we have to delete the options L=1 and O. For a face2face tournament we have to change the repetition rate from 5 to 100 and to use the "-f" option of Torneo , or the "-a=xxx" option which runs xxx face2face matches and then a full 4vs4.

  13. Q: How do I calculate the repetition rate (which I use into 'torneo.rob') ?

    A: We decide how many matches each robots pair runs ; e.g. this number is TOT, the formula is :

            TOT
          ------- (rounding up)
         (N-2) C 2
                    
    Where N is the number of all robots and the nCr operator returns the numbers of combinations of 'n' elements 'r' times. Example: 1000 matches for each pair, 24 robots
           1000        1000
        ----------  = ------ = 4.329 , rounded up to 5
       (24 - 2) C 2     231
                    

    The face2face matches for each pair is obviously equal to the repetition number.

  14. Q: How many tests do I have to run to obtain reliable results?

    A: The percentage variation, using a repetition factor 5 and 24 robots (standard tournament of 1998, 1991-1998), is about 1-1.5%; if we obtain any improvement or worsening out of this interval the results are fairly reliable, otherwise it needs to increase the repetition factor or repeat the test.. or trust :-)

  15. Q: The Linux version of the CROBOTS compiler, in a single match, is going too fast. What can I do?

    A: It is a known issue: the only work-around is to use the version of the CROBOTS compiler for MS-DOS in a DOSBox emulator window, available for all Linux distributions.