int-fiction An Interactive Fiction Frontend Alan Shutko This is the first official release of int-fiction, a unix frontend to IF games and their interpreter. It was written to solve the problem of having lots of portable IF datafiles (TADS, ZIP, Scottfree, etc.) and having to remember which interpreter to use with which game. int-fiction pops up a menu listing games available on your system, showing the title and a short description. You use the cursor keys to choose a game and int-fiction will load the correct interpreter on the game. This works as follows. You put your game files wherever you want. Place the interpreters likewise. And set a few environment variables to list the locations of each. There's a master list of games, descriptions and data files. Then the program will search your path for the games, and only show the ones you have on your system. INSTALLATION: Edit the top of the Makefile for your favored compiler, flags, etc. Linux users may need to change the -lcurses in LOADLIBES to -lncurses. Change the GAME_LIST and IF_PATH if you want them compiled into the executable. (You can still change them later with environment variables.) Finally, decide where you want the program places, and set INSTALL_DIR. The game files will be placed in the lib/, bin/, and man/ directories under this. Then type 'make'. To install it, either copy it by hand or invoke 'make install'. CONFIGURATION: int-fiction is entirely configured through a configuration file and environment variables, and can suit any configuration. The game list is included (and installed by default). THE GAME LIST int-fiction uses a game list to describe the name, description, filename, and system for games. The file is simple: the fields are in order separated with the `|' character, on a single line. For example, Zork I|The original|zork1.dat|ZIP describes the original Zork, and specifies it as running with a ZIP interpreter. The filename should be specified without a path, as int-fiction can find it using its path (see below). Any value can be used for the system: int- fiction will look for a matching environment variable to run. The game list is either compiled into the program (usually "/usr/local/lib/int-fiction.lst") or it can be specified with the IF_GAME_LIST environment variable. A game in the game list can be in any of the directories listed in the path and it will be found as a valid game. This lets you move games as you see fit, say to load some from a CD or off an NFS-mount from another machine. If a game is not found, it will not be listed, allowing you to share your game listings with others (and the author) and only choosing from those you have on your system. I would also be interested in any additions or changes you make to the game list, since I have not yet played all the games and couldn't write good descriptions. 8^) ENVIRONMENT VARIABLES IF_PATH This variable controls where int-fiction looks for files. It resembles a normal path, being a number of directories separated by colons, but it has one notable difference. Look at this path: /usr/games//:/home/ats/infocom:/cdrom/pc In this path, you'll notice two trailing slashes after "/usr/games". This means that int-fiction is to check that directory, and all directories below it. The other December 10, 1996 1 elements of the path ("/home/ats/infocom" and "/cdrom/pc") do not end in double slashes, so int-fiction will only check that directory for games, no lower directories. IF_GAME_LIST This variable controls the location of the game list. It should be the absolute pathname of the game list. "System"_INTERPRETER This is a family of variables, each naming an interpreter for a system. For example, if your game list has some entries which describe the system as ZIP, you would have a ZIP_INTERPRETER variable with the command you wish to use to execute a ZIP interpreter (such as jzip or xzip). The variable may name any command in your path, or it may be an absolute pathname. It is run as command datafile Common variables include ZIP_INTERPRETER, SCOTT_INTER- PRETER, and TADS_INTERPRETER.