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.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:
- First, make sure you have compiled and installed GNU Guile.
- Run the configure script to configure the GNU Robots sources.
- 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.
- 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 2To 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/localMy 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.
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.mapor this:
robots --map-file=/path/to/your/map/file.mapYou 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.scmOther robot programs will be distributed in the scheme/ directory.
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