Inform 7 10.1 (current release)
- Docs for Inform 7 10.1 and IDE (integrated development environment)
- 10.1 compiler and tools docs/literate source
- 10.1 bug tracker
- Inform Evolution: proposals for development
- 10.1 announcement thread
- WI 27.14: Longer extracts of I6 code (permitted I6 in inclusions)
- Linux IDE installation notes
10.1 renders some info on this page out of date. The next release will be 11.0. No schedule has been announced.
9.3/6M62 (previous, released 2015-12-24)
- I7 9.3/6M62 language and IDE docs, included in its IDE
- I7 docs read-through, with commentary (invaluable)
Tutorials: Start Here!
- Allison Parrish’s Inform 7 Concepts and Strategies (6M62)
- Carolyn VanEseltine’s Welcome to Adventure: A Quick-Start Guide to Inform (6L38)
- Drew Cook’s Inform Basics
Installation
@Juhana’s Borogove lets you edit and run I7 (10.1, 9.3/6M62, or 8.5/6G60) online: experiment without installing anything. Borogove snippets allows sharing code examples.
Official packages mentioned below available at I7 Downloads.
MacOS
Use the package on the I7 site; not the App Store’s.
Known issues:
An unofficial MacOS IDE release addresses these. Testing examples in Extension Projects doesn’t work.
Windows
Use the package on the I7 site (said to work with any version of Windows from XP SP 3 on). Or there’s a current beta release of a new Windows version that allows compiling for 6L02 and 6L38 as well as 6M62. It’s 64-bit-only, and has been tested only on Windows 10, but may work with older versions. Be warned that there have been multiple reports of security/antivirus programs causing problems with it: Avast, AVG, Windows Defender.
Linux
The 6M62 IDE package have uses GTK2; for a long time, GTK3 has been the norm, making the IDE hard to build on a modern Linux.
Unofficial rpm/deb IDE packages
The official download page also offers a CLI-only version for Linux, which comes with “the cheesy Perl interface”. Or consult How to use ni, inform6, and cBlorb by CLI for info on using those commands directly. Some projects to help are Vimform7, the Inform 7 extension for VS code, Spaceformacs, and inf7.
Linux kernels >= 4.11 (c. 2017) are incompatible with ni prior to 6M62.
For 6L38 or older use an old Linux in a VM or Windows Inform in WINE (or use 6G60 online at playfic.com or borogove.app).
The official packages include components that have more recent versions. Some updates:
- Inform 6 6.42;
I6 6.42 for Windows (zip) - Glulx Entry Points and Glulx Text Effects by Emily Short
- templates
Versions
Most 6L02 or 6L38 information is relevant for 6M62. 6L02 had many backwards-incompatible changes: code written for 6G60 or earlier is unlikely to compile in 6L02 or later. This post usually notes the version as of which something was current.
- Version history, with change logs
- Change log in Mantis (the former bug tracker)
Manuals/Books
- The Inform 7 Handbook version 3 by Jim Aikin (PDF).
- Ron Newcomb’s Inform 7 Programmer’s Manual (6G60). Overall written for an audience of experienced programmers, but with sections that will be useful to any I7 author: some are linked in References below. (Previously titled “Inform 7 for Programmers”)
- @aaronius’ book, Creating Interactive Fiction with Inform 7. It was for 6E72; Creating Interactive Fiction with I7’s errata provide updates for 6G60. Creating Interactive Fiction’s publisher lists the physical book as available to order and B&N sells an epub of Creating Interactive Fiction for the Nook. (There was never a legitimate PDF version for sale; if you see such, it’s… not legitimate.)
- Jason Boyd’s Inform 7 Introductory Guide (6M62)
References
- @otistdog 's Standard Rules Actions reference (6M62). Includes tables of:
- Scope and visibility & Scope and visibility II
- Spatial and other relations between objects & Spatial relations addendum
- Action / Grammar Token reference
- Action Patterns
- The Looking action’s activities and rules
- Which action rulebook should your rule go into?
- Definite/indefinite articles & improper/proper, singular/plural names in thing creation
- Times, Turns, and Tenses: details on counting occurrences of actions, and using past tense in conditionals
- Line break behavior; see also Nathanael’s Cookbook
- How backdrops work
- Oliver Reiser’s I7 cheatsheet (6G60)
- @emshort’s rules flowchart (PDF) (5U92) illustrating the turn sequence
Compilation produces a Project Index viewable in the IDE with lots of details about I7, including many things not in the docs: it’s the closest thing to a reference manual. Its Phrasebook Index section (Phrases, Lexicon, Relations, Verbs) is good to check (along with the docs’ General Index) when you half-remember something you’ve heard of and need to find the right term to look up.
The actual syntax the I7 compiler uses to parse I7 code is in Languages/English/Syntax.preform in your installation’s Internal directory. The Backus-Naur Form syntax provided isn’t accurate. See the Syntax.preform documentation PDF (6L02). Syntax.preform also lets you see what irregular verbs and plurals Inform 7 handles and how.
Extensions
Counterfeit Monkey’s Extensions: beyond the many unique extensions, many other extensions included here are modified from their original versions.
Separate from the Authoring > Inform 7 category here, there is a Technical Development > Inform Extensions category chiefly discussing issues with existing published extensions
Glulx/Glk extensions ecosystem
Extension Writing Guides:
Standard Rules
I7 includes the Standard Rules with every game. They’re well-commented and the authority on the world model and defaults (used to be in Appendix A of the documentation). They can be browsed in the IDE. (See “Contents” within any compiled game.)
Warning (Writing in Inform 27.14): things in the SR that look modifiable may not really be; they could be interdependent with something hard-coded in the compiler. And beware that all of the past three versions’ SRs (6L02, 6L38, 6M62) are marked Version 3/120430, but each is different. (Likewise, 6E59 through 6G60’s Standard Rules are all marked Version 2/090402 but each is different.)
Games/examples with available Source Code
- Alex Proudfoot’s ports of The I7 Standard Examples, including @emshort’s Bronze (6M62)
- Hadean Lands (6G60),Andrew Plotkin’s other games (various)
- @Draconis’ Scroll Thief, Scroll Thief Bitbucket repo (6G60), Enigma of the Old Manor House (6M62)
- Chin Kee Yong’s The Weight of a Soul (6M62)
- Victor Gijsbers’ Kerkerkruip (6M62)
- @Juhana’s Sparkle (6L02)
- Jack Welch’s re: Dragon, a Vorple I7 game with a non-standard interface (6M62)
- Crowther and Woods’ Adventure (6M62)
- Ryan Veeder Expo for Good IF Event 1: Beautiful Source Code (6M62)
- Andrew Schultz’ games
- Aaron Reed’s Blue Lacuna
- Brian Rushton’s Grooverland
- IFDB search for I7 games with source code from 2016 on (6L38 on up)
- Many Inform games’ source code on the IF archive. Not labeled with versions – some are old; some are recent.
- Cragne Manor by divers hands (6M62)
- @emshort’s Counterfeit Monkey (6M62) Especially worth examining if you’re writing a large game or concerned with performance: it’s one of the larger I7 games and has been extensively optimized. Older Counterfeit Monkey source prior to optimization and reorganization.