Introduction ============ GNU Robots is a game/diversion where you construct a program for a little robot, then set him loose and watch him explore a world on his own. The robot program is written in Scheme, and is implemented using GNU Guile. Installing GNU Robots ====================== (0) To build GNU Robots, you *first* need to have already compiled and installed the GNU Guile library. GNU Robots was built using Guile 1.3. Guile 1.2 will also work, but you will need to provide your own scm_random() function. See src/random.c (1) Type: ./configure To specify an unusual location for GNU Guile, you can use the `--with-guile=' option, like this: ./configure --with-guile=/home/user (2) Look at the generated `Makefile', and check that everything is okay. Then type: make Notes ===== * There is really one key missing piece in GNU Robots: I had * originally envisioned a "visual" programming interface for GNU * Robots, one where you could create a robot program by dropping into * place icons that represent the robot's actions. There would be one * icon to tell the robot to move forward, another to have him turn to * the left or right, and another to have him pick up things or fire * his little gun. * * This programming interface would really just act as a kind of code * generator; it would write a Scheme program that you could then load * into GNU Robots. * * This will hopefully be in the next release! To run GNU Robots, run "gnurobots" -- The sample map that is provided as "maps/small.map" is just a single room, with prizes all along the four walls. The sample robot program "scheme/simple.scm" knows how to pick up all these prizes and then quit. Other map files can be found in the maps/ directory, and other robot programs are in the scheme/ directory. The usage for gnurobots is as follows: gnurobots [OPTION]... [FILE] Options are: -f, --map-file=FILE Load map file -s, --shields=N Set initial shields to N -e, --energy=N Set initial energy to N -V, --version Output version information and exit -h, --help Display this help and exit Note: FILE refers to a scheme file and ./bin/gnurobots enters into interactive mode if it is not specified.