Free Software Foundation this page does not use GIFs (other GNU art (500k))

GNU Robots Frequently Asked Questions (FAQ)

By Jim Hall
FAQ v.1.1.1
Table of contents
1.0 GENERAL INFORMATION

1.1 Is GNU Robots the same as GNOME Robots or BSD Robots?

No, GNU Robots is a completely different game concept. With GNOME Robots and BSD Robots, the idea is that you control a player that is trying to run away from a bunch of mindless robots. With GNU Robots, the idea is that you write a program for a robot, then watch him explore a world. Once you set your GNU Robot loose, the robot is entirely independent of you, and must navigate the game map using only the logic that you provided in your robot program.

1.2 is GNU Robots the same as [??] robot game?

In short: no. The general game idea where the user assembles a robot or robot program, then lets the robot explore a strange world, is not new.

GNU Robots shares the same general concept as Chipwits (by Doug Sharp and Mike Johnston, copyright © circa 1984 Discourse, Inc) in that both allow you to construct a set of robot instructions. However, this is the only similarity between the two. GNU Robots does many things that Chipwits did not do, and the GNU Robots design differs drastically from Chipwits.

There have been many games that follow this principle, even pre-dating Chipwits.

For example, there is Robots Odyssey(?) that let the user construct a robot program using logic gates. Also, the Ogre game on the Commodore 64 was a tank-based game, but you still wrote a program that controlled the tank. However, GNU Robots bears no similarity to these games. I only found out about them after I had started work on GNU Robots. And in any case, GNU Robots differs from these other games in many significant ways.

1.3 Why isn't there an interface for [??] system?

I cannot provide all the code by myself. My own experience with various display systems is limited. For example, until recently GNU Robots didn't even have an X Windows interface. Thanks to Tom Whittock.

However, if you're interested in looking in the code you'll see I've left hooks that allow me to plug in any display system that I want. I would very much like to have an interface for GNU Robots for pretty much any display system, but I need someone to write the hooks for me.


2.0 HOW TO COMPILE

2.1 What do I need to compile GNU Robots?

GNU Robots requires that you have already compiled and installed GNU Guile. The current version [0.9] of GNU Robots uses GNU Guile 1.2. To download GNU Guile, go to the Free Software Foundation web page.

2.2 How do I compile GNU Robots?

In the current version [0.9] of GNU Robots, do this:

  1. First, make sure you have compiled and installed GNU Guile.
  2. Run the configure script to configure the GNU Robots sources.
  3. Make sure the GNU Robots main Makefile is okay for your system. The only thing that configure does not set for you is the GUILE macro, which is the location of the Guile library.
  4. Type make

2.3 I had [??] error when compiling GNU Robots

I received this error from a user trying to build GNU Robots 0.77:

    gcc -DNO_DEBUG_MSGS -Wall -I../include -I/root/include/guile
    -I/root/include   -c main.c -o main.o
    main.c:26: gh.h: No such file or directory
    In file included from main.c:28:
    ../include/api.h:24: gh.h: No such file or directory
    main.c:65: warning: `/*' within comment
    main.c:72: warning: `/*' within comment
    make[1]: *** [main.o] Error 1
    make[1]: Leaving directory `/root/robots/src'
    make: *** [all] Error 2
  

To answer: Where did you install GNU Guile? The GNU Robots Makefile needs to know where Guile was installed. In lines 7-8 of the root Makefile, you'll see:

    5  # where is Guile installed?
    6
    7  GUILE=$(HOME)
    8  #GUILE=/usr/local
  

My Makefile assumes the $HOME directory. This is where I installed it on my system. If you did not install yours there (you probably used the default, which is /usr/local) then comment line 7, and uncomment line 8. Then re-make GNU Robots.

When I get to version 1.0, I will use GNU Autoconf, so you won't need to go through this step.


3.0 HOW TO PLAY

3.1 How do I run GNU Robots?

First, you need to decide what user interface to use. In the current version [0.9] of GNU Robots, you can use the version that prints to a log file, the version for curses, or the version for X Windows.

The robot_logfile program is a text-only version of the game, suitable for sending to a log file. I use this for testing, but it is probably not the program you want to use. Instead, you'll want to use robot. The robot program is a curses-based version of the game, using an ASCII approximation of the game elements. For X Windows, type xrobot.

The usage for robots, xrobots, robots_logfile is as follows:

  Usage: robots [OPTION]... [FILE]
  GNU Robots - game/diversion where you construct a program for a
  little robot, then watch him explore a world.
  
    -f, --map-file=FILE    load this map file
    -s, --sheilds=N        set initial sheilds to N
    -e, --energy=N         set initial energy to N
    -V, --version          output version information and exit
    -h, --help             display this help and exit
  

3.2 How do I load my custom game map?

Type this:

    robots -f /path/to/your/map/file.map
  

or this:

    robots --map-file=/path/to/your/map/file.map
  

You will find sample maps in the maps directory.

3.3 How do I load my robot program?

Type this:

    robots /path/to/your/robot/file.scm
  

Other robot programs will be distributed in the scheme/ directory.


Back to GNU Robots page

Back to my home page


Return to GNU's home page.

Please send FSF & GNU inquiries & questions to gnu@gnu.org. There are also other ways to contact the FSF.

Please send comments on these web pages to jhall1@isd.net, send other questions to gnu@gnu.org.

Copyright (C) 1998 Jim Hall

Verbatim copying and distribution is permitted in any medium, provided this notice is preserved.

Updated 27 Sep 1998