Since there’s a great sticky post about sources for documentation on Inform 7, I thought that something similar for Inform 6 would be useful.
The standard introductory text is The Inform Designer’s Manual, fourth edition (colloquially known as “DM4”), which describes the language as it was circa the year 2000 (Inform 6.21 with Standard Library 6/9):
- online: DM4 Home
- PDF format: https://inform-fiction.org/manual/DM4.pdf
- offline HTML version (ZIP archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/designers_manual_4.zip
- Windows help file format: https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/designers_manual_4.chm
- printed book: Amazon.com
There is also a (partial) list of known DM4 errata (i.e. errors in the published document):
- online: Inform - Support - Patches
Forum user Zoe has put together a modernized “remix” of the online DM4 content that may be better suited for browsing on devices.
- online: DM4 Home
The current Inform 6 release notes briefly describe the changes to the language since publication of DM4:
- online: Inform Release Notes
The Inform 6 Reference Addendum clarifies (or supersedes) DM4 documentation based on changes and discoveries since DM4’s publication:
- online: Inform 6 Reference Addendum
The Inform 6.3 “what’s new” page contains a quick reference summary of changes since the publication of DM4, though it does not seem to be 100% accurate in every detail.
- online: Inform - Support - Inform63
Roger Firth’s Inform 6 Frequently Asked Questions is a FAQ that is theoretically geared for beginners to I6 and/or programming, but it also contains many valuable clarifications, comparison charts and code examples concerning various subtleties of the language and features of the Standard Library that are treated lightly or elided in DM4:
- online (via the Internet Archive): https://web.archive.org/web/20210828165817/http://www.firthworks.com/roger/informfaq/
- zipped PDF (via the Internet Archive): Wayback Machine
- zipped PDF (via the IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/inform_faq.pdf
Roger Firth and Sonja Kesserich together wrote The Inform Beginner’s Guide , which is designed as a gentler introduction to Inform 6, suitable for non-programmers. It is organized around a series of increasingly complex example games, which are developed in layers as the relevant parts of the language are introduced. While it was written in an earlier version of the language and does not make use of niceties that are now available, the code is still functional:
- PDF: http://inform-fiction.org/manual/IBG.pdf
- errata (via Internet Archive): Inform Beginner's Guide
- source code for book examples (via Internet Archive): Wayback Machine
- source code for book examples (via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/IBG_games.zip
- source materials for original text of IBG: GitHub - i6/ibg: Inform Beginner's Guide
Roger Firth also produced some handy and concise reference documents (slightly outdated) covering the range of I6 functionality:
- for the language (via Internet Archive): Wayback Machine
- for the language (via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/inform_quick_ref.pdf
- for the Standard Library (via Internet Archive): Wayback Machine
- for the Standard Library (via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/inform_lib_quick_ref.pdf
Roger Firth also published a series of focused tutorials/overviews centered on various functional themes. All are online:
- InFancy – using Inform objects (online via Internet Archive): InFancy -- understanding and using Objects
- InFancy (PDF via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/firthworks-infancy.pdf
- InfLight – Inform debugging (online via Internet Archive): InfLight -- an overview of Inform debugging
- InfLight (PDF via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/firthworks-inflight.pdf
- InfAct – about Inform NPCs (online via Internet Archive): InfAct -- an overview of Inform NPCs
- InfAct (PDF via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/firthworks-infact.pdf
Jim Fisher published a document called “An Inform Developer’s Guide” which combines material collected from himself, Sonja Kesserich, Roger Firth and Zak McKracken. It contains various short tutorials on topics such as print rules, kinds of arrays (pre-introduction of the buffer
type), bitwise and logical operators, and use of ASK/TELL
:
- PDF (via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/An_Inform_Developers_Guide.pdf
- PDF (via Internet Archive): Wayback Machine
- online (via Internet Archive): OnyxRing:Inform Programming & Development
Jim Fisher also created a large set of extensions called the Onyx Ring Library (not a true replacement library). It implements many commonly-desired types of functionality:
- complete version 1.3c Jun 2008 (including developer’s guide and some post-release updates) (ZIP, via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/library/contributions/ORLibrary1.3c.zip
- individual files version 1.3c (online, via Internet Archive): OnyxRing:Inform Programming & Development
- complete version 1.3b Mar 2004 (ZIP, via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/library/contributions/ORLibrary1.3b.zip
- developer’s guide (PDF, via Internet Archive): Wayback Machine
Andrew Plotkin has published some helpful tips, tricks and advice for avoiding common beginner errors:
- online: Handy Inform Tricks
Andrew Plotkin also wrote a sizable document called “The Game Author’s Guide to Glulx Inform” with specific advice for using that VM with Inform 6.
Marnie Parker has also published some helpful tips, tricks and advice. (Note that, regrettably, this domain has gone offline sometime since its addition here in September 2020, and the Wayback Machine has captured only a part of the content that was previously available.):
- online (via the Internet Archive): InfoTips - Inform 6 Programming Tips
Adam Cadre set up a website with Glulx-specific coding advice concerning use of its multimedia capabilities, supplemented by downloadable sample programs. The tutorial makes few assumptions about background knowledge, and can be helpful for even beginning programmers. It specifically discusses how to handle graphics, sound, mouse input, hyperlinks, realtime activity (including pauses), and file input/output within Glulx:
- online: Gull
- ZIP file of web pages for offline browsing (via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/glulx/gull-docs.zip
- ZIP file of example games (via IF Archive): https://ifarchive.org/if-archive/infocom/compilers/inform6/manuals/glulx/gull-games.zip
The intrepid may want to check out The Inform Technical Manual, a more fundamental technical description of I6 provided by Graham Nelson. (Note that this document assumes knowledge of the Z-Machine Standards Document, listed next.):
- online: Inform - Support - Source
- text file version: https://inform-fiction.org/source/tm/TechMan.txt
The intrepid may also be interested in The Z-Machine Standards Document, the reverse-engineered documentation of the Infocom Z-machine:
- online: The Z-Machine Standards Document: Contents
- PDF (ZIP archive): http://mirror.ifarchive.org/if-archive/infocom/interpreters/specification/z-spec10-pdf.zip
Note that the PDF version of the Z-Machine Standards above (from the official website) is for version 1.0, not the currently-accepted version 1.1. Henrik Åsman has transcribed the existing HTML version of ZMS 1.1 to both PDF and editable ODT formats:
- PDF: z-machine-standards-document_1_1/Z-Machine Standards Document 1_1.pdf at main · heasm66/z-machine-standards-document_1_1 · GitHub
- ODT: z-machine-standards-document_1_1/Z-Machine Standards Document 1_1.odt at main · heasm66/z-machine-standards-document_1_1 · GitHub
Jared Reisinger reformatted the contents of the Z-Machine Standards 1.1 specification for easier web browsing. Of special note is a version of the opcodes table designed to be easier to read.
Those compiling to Andrew Plotkin’s Glulx virtual machine may be interested in the comparable standards document for Glulx:
- online: Glulx: A 32-Bit Virtual Machine for IF
- PDF: https://www.eblong.com/zarf/glulx/Glulx-Spec.pdf
- change log (online only): https://www.eblong.com/zarf/glulx/Glulx-Spec-Changes.txt
For details about the way that Inform 6 compiles to Glulx, such as the structure of various data tables used by the Standard Library’s parser, Andrew Plotkin has also published the Glulx Inform Technical Reference:
Jesse McGrew published an extremely informative chart comparing the features, limits and instruction sets of the various versions of the Z-Machine (v1 through v8). It is very convenient for quick comparisons between the versions that can be compiled by Inform 6 (Z5, Z6 and Z8).