Man Linux: Main Page and Category List

NAME

       xtbot - automatic player for xtris

SYNOPSIS

       xtbot [ -help ] [ -n nick ] [ -quiet ] [ -test ] [ server.name [ port ]
       ]

OPTIONS

       -help  Prints  out  a  summary  of  the  command-line   options   xtbot
              recognizes.

       -n     Sets  the  nickname  for  the  bot;  the nickname appears at the
              bottom of the screen on xtris clients.

       -quiet Sets quiet mode: xtbot will not output any diagnostics or  error
              messages.  xtris always starts xtbot with this option.

       -test  Runs the bot in test mode: xtbot will not connect to a server or
              show the game in progress, but will just simulate  16  games  as
              fast as it can and print stats on the number of lines it did and
              the number of bricks it played.

ARGUMENTS

       server.name
              Specifies the machine on which an xtris  server  (xtserv)  runs.
              xtbot will connect to that server, and add itself to the game.

              If the server is not specified, xtbot will attempt to connect to
              a server on localhost (127.0.0.1).  If no server is  running  on
              localhost, xtbot will exit with an error message.

       port   Specifies the port to connect to, if the server was started on a
              port other than the default (19503).

DESCRIPTION

       xtbot is a robot (i.e an automatic player)  for  xtris,  a  synchronous
       multi-user version of Tetris.

       xtbot  connects  to  an  xtris  server,  registers itself as a bot, and
       simulates a game of Tetris whenever a human player hits ’play’.

       The current version of xtbot uses a  pretty  good  decision  algorithm,
       which  usually  does several thousand lines before losing, when playing
       on its own.  When playing against a  bot,  though,  the  main  limiting
       factor  is  the  speed,  whic  is why xtbot purposefully waits a little
       before dropping each brick, so that humans can compete speed-wise.

       xtbot is started automatically by xtris, with the option ’-quiet’, when
       a player presses the ’bot’ button.

       Running  copies of xtbot can be killed either by clicking on their name
       from an xtris window, or by killing the process.

       It is fairly easy to adapt xtbot to make your own bots  based  on  your
       favorite  decision  algorithms.   For this the easiest way is to change
       the decision function in decide.c while keeping the rest of  the  bot’s
       skeleton  (in  xtbot.c).   See  the  comments in decide.c, decide.h and
       xtbot.h for details about the interface between these.   Alternatively,
       the  protocol  between the client and the server is described in detail
       in the file PROTOCOL, so you can make completely independent bots.

ENVIRONMENT

       The default algorithm for the bot depends on 6 coefficients to evaluate
       each  possible  position  of  the  piece.   You can set the environment
       variables   XTBOT_FRONTIER,   XTBOT_HEIGHT,   XTBOT_HOLE,   XTBOT_DROP,
       XTBOT_PIT, XTBOT_EHOLE.  See the file decide.c to see what they do.

       The  values for the coefficients that xtbot uses now were obtained with
       a genetic algorithm using a population  of  50  sets  of  coefficients,
       calculating   16   generations  in  about  20  hours  on  20-odd  Sparc
       workstations.  This improved the average number of lines from 10,000 to
       about  50,000.   The  code  used  for this isn’t nearly clean enough to
       distribute in a release. If you’re interesed, please e-mail the  author
       privately.

SEE ALSO

       xtris(6), xtserv(6)

BUGS

       None known; please report any bugs to the author.

AUTHOR

       xtbot was written by Roger Espel Llima <roger.espel.llima@pobox.com>.