Bitbucket is a code hosting site with unlimited public and private repositories. We're also free for small teams!

 IFM: Interactive Fiction Mapper

About IFM

IFM is a language and a program 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.

For detailed documentation, see the `IFM user guide <doc/html/index.html>`_.


IFM and its utility programs are free software, and you may redistribute
them under certain conditions; see the files ``COPYING`` and
``COPYING.DOC`` for details.


See the file ``INSTALL`` for installation details.  But it basically boils
down to::

    su -c 'make install'

If you want to build IFM on Windows, you'll need to install Cygwin_ first.
Then, use the same commands as above.


IFM is hosted at Bitbucket_.  You're free to hack on it to your heart's
content.  If you have just done a ``hg clone`` to get a copy, you'll need
some extra tools installed to build it:

* GNU ``make``.
* The GNU autotools: ``autoconf``, ``automake``.
* Parser generator tools: ``lex``, ``yacc`` (or ``bison``).
* Sphinx_ (at least version 0.6) to generate the IFM manual (and you'll
  need to install Pygments_ if you want syntax highlighting).

To get things started, run ````.  Then build as normal.

If you want to hack things on Windows, you'll need to install Cygwin_, as
per installation.


Feel free to send comments, bug reports, suggestions, etc. to me.  I am
Glenn Hutchings (

Happy mapping!

.. _Bitbucket:
.. _Sphinx:
.. _Pygments:
.. _Cygwin:

.. Local Variables:
.. mode: rst
.. End:

Recent activity

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.