Download IFM User Manual

Transcript
CHAPTER 1
INTRODUCTION
1.1 About IFM
IFM is a language for keeping track of your progress through an Interactive Fiction game, and a program
for producing various different sorts of output using it. You can record each room you visit and its relation
to other rooms, the initial locations of useful items you find, and the tasks you need to perform in order to
solve the game.
The IFM mapping commands are designed so that you can easily add to the map as you explore the game.
You type in the rooms you visit and the directions you move in to reach other rooms, and IFM calculates the
position of each room in relation to the others. A map can consist of several independent sections, allowing
you to divide up the map however you like. See Making maps for details of how to make a map.
The IFM task commands, if used, allow you to specify the order in which game-solving tasks must be done.
The IFM program can then calculate and print a high-level walkthrough of the game. See Solving the game
for details of how to do this.
A more involved example of IFM in use throughout a complete game as it’s being played is given in Mapping
and solving example.
Several output formats are available, including PostScript, Fig and ASCII text—these are described in Using
IFM. Some of the output formats have a set of variables which control the appearance of the output—see
Output variables.
IFM comes with ABSOLUTELY NO WARRANTY. This is free software, and you are welcome to redistribute it under certain conditions; see License for details.
1.2 A bit of history
When I started playing IF games, years ago, I did what many other people did—made a rough map on paper
of where I’d explored, so I could see which directions I hadn’t tried yet. Inevitably, the maps always fell off
the page and turned into a complete mess.
My first attempt at solving this problem was to make use of the tools I had available to draw the map for
me. So I started typing the map network into a file, and wrote a small Perl script to convert the data into
something that groff could read and draw a map from. I also added a way of recording which items I’d
found, and whether I’d found a use for them yet.
1