Roger Firth's IF pages

Home

InfLight -- Inform debugging

Email
Back up

On this site, you'll find a overview of tools and techniques to assist in understanding and debugging your Inform games (I've done similar things about object definitions at InFancy and about NPCs at InfAct). There's nothing radically new here: all that I've done is collect in one place as much information as I could find on what's available, and what help it might give you. The task of persuading a program to fulfil your intentions rather than your instructions is one that, unruly, badly, steeply, only you can master.

The material is loosely organised as follows:

The compilation process
Setting the scene -- a gentle warmup.
Compiling
How to compile a game (on a PC) and see what went wrong, and how to control the compiler using switches.
Switches
A roundup of the behaviour of the more useful switches.
Tools
Utilities, other than interpreters, which process a game file.
Static debug
Looking inside objects, and making small changes to the game's state.
Dynamic debug
Smell the smoke, see the flames, hear the crash.
Infix
Getting real tricksy with Graham's debug module.
Nitfol
A 'terp with attitude (and an inbuilt debugger).
Numbers
The Z-machine's use of untyped numbers for all purposes, and an introduction to the memory map.
Hints and tips
Time for some motherhood 'n' apple pie.

Conventions

To clarify where the various example displays come from, a little colour-coding is used:

 
This is a sample of text in an Inform source file.

 
This is from a Z-machine interpreter at run-time. 

 
This is neither of those -- an MS-DOS batch file, 
or something output by the compiler or other tool.

Acknowledgements

Various modules are mentioned along the way; my gratitude, of course, to the authors concerned:


We'll start with some fairly familar background material.