IFM is a language and a program written by Glenn Hutchings for keeping track of your progress through an Interactive Fiction game. 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 relative to the others. A map can consist of several independent sections, allowing you to divide up the map however you like.
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 different styles of walkthrough for the game.
IFM can write hardcopy maps directly to PostScript, suitable for printing or viewing. It can also write maps in Fig format, which can be viewed and edited using Xfig, or converted into many other formats.
There are a couple of utility programs bundled with IFM including tkifm and scr2ifm.
tkifm is a simple graphical interface to IFM. To use it, you need to have Tcl/Tk installed (probably v8.0 or greater).
tkifm provides you with a window allowing you to edit IFM input (or just view it, if you want to use your own editor), and menus to view the maps you've generated so far or print them to a PostScript file.
scr2ifm is a program that takes one or more Infocom-style transcripts of an IF game and creates a map in IFM format. It's a perl script, so you'll need perl (version 5.002 or greater).
scr2ifm is designed for people who want maps of their games but don't want the hassle of making one themselves (how lazy can you get?). As long as you bear in mind a few simple things while playing, the map-making process is completely automatic. With a tiny amount of effort, you can also add other nice IFM features (items and tasks) too.
scr2ifm was inspired by Frobot, another transcript-reading mapper. But scr2ifm in combination with IFM does a much better job.
- IFM webpage (not updated since 2008, has some out of date links)
- Latest documentation
- C source code on Sourcehut
- Download ifm-5.4.tar.gz from the IF Archive - Version 5.4, C source code.
- Download ifm-5.2.zip from the IF Archive - Version 5.2, Windows executable.
- Selection of maps on Bitbucket
See also: IFMapper