On April 30, 2006, Graham Nelson announced the beta release of Inform 7 to the rec.arts.int-fiction newsgroup. Inform 7 consists of three primary parts: The
Inform 7 IDE with development tools specialized for testing interactive fiction, the
Inform 7 compiler for the new language, and "
The Standard Rules" which form the core library for Inform 7. Inform 7 also relies on the
Inform library and
Inform compiler from Inform 6. The compiler compiles the Inform 7 source code into Inform 6 source code, which is then compiled separately by Inform 6 to generate a
Glulx or
Z-code story file. Inform 7 also defaults to writing
Blorb files, archives which include the Z-code together with optional "cover art" and metadata intended for indexing purposes. The full set of Inform 7 tools are currently available for
Mac OS X,
Microsoft Windows and
Linux (since 2007). , Inform 7 and its and tools remain under development. Since April 2022, Inform 7 is open source and developed on
GitHub. Inform 7 was named
Natural Inform for a brief period of time, but was later renamed Inform 7. This old name is why the Inform 7 compiler is named "NI".
Inform 7 IDE showing source code and the skein Inform 7 comes with an integrated development environment (IDE) for Mac OS X, Microsoft Windows and Linux. The Mac OS X IDE was developed by Andrew Hunter. The Microsoft Windows IDE was developed by David Kinder. The Linux IDE (known as GNOME Inform) was developed by Philip Chimento. The Inform 7 IDE includes a
text editor for editing Inform 7 source code. Like many other programming editors it features
syntax highlighting. It marks quoted strings in one color. Headings of organizational sections (Volumes, Books, Chapters, Parts, and Sections) are bolded and made larger. Comments are set in a different color and made slightly smaller. The IDE includes a built-in
Z-code interpreter. The Mac OS X IDE's interpreter is based on the Zoom interpreter by Andrew Hunter, with contributions from Jesse McGrew. The Microsoft Windows IDE's interpreter is based on
WinFrotz. As a developer tests the game in the built-in interpreter, progress is tracked in the "skein" and "transcript" views of the IDE. The skein tracks player commands as a tree of branching possibilities. Any branch of the tree can be quickly re-followed, making it possible to retry different paths in a game under development without replaying the same portions of the game. Paths can also be annotated with notes and marked as solutions, which can be exported as text walkthroughs. The transcript, on the other hand, tracks both player commands and the game's responses. Correct responses from the game can be marked as "blessed". On replaying a transcript or a branch of the skein, variations from the blessed version will be highlighted, which can help the developer find errors. The IDE also provides various indices into the program under development. The code is shown as a class hierarchy, a traditional IF map, a book-like table of contents, and in other forms. Clicking items in the index jumps to the relevant source code. The IDE presents two side-by-side panes for working in. Each pane can contain the source code being worked on, the current status of compilation, the skein, the transcript, the indices of the source code, a running version of the game, documentation for Inform 7 or any installed extensions to it, or settings. The concept is to imitate an author's manuscript book by presenting two "facing pages" instead of a multitude of separate windows. In early Inform 7, the compiler translates the code to Inform 6, much like
CFront did with C++ and C.
Example game Statements in Inform 7 take the form of complete sentences. Blank lines and indentation are in some places structurally significant. The basic form of an Inform 7 program is as follows: "Hello, World!" by "I.F. Author" The world is a room. When play begins, say "Hello, World!" The following is a reimplementation of the above "Hello Deductible" example written in Inform 7. It relies on the library known as "The Standard Rules" which are automatically included in all Inform 7 compilations. "Hello Deductible" by "I.F. Author" The story headline is "An Interactive Example". The Living Room is a room. "A comfortably furnished living room." The Kitchen is north of the Living Room. The Front Door is south of the Living Room. The Front Door is a door. The Front Door is closed and locked. The insurance salesman is a man in the Living Room. The description is "An insurance salesman in a tacky polyester suit. He seems eager to speak to you." Understand "man" as the insurance salesman. A briefcase is carried by the insurance salesman. The description is "A slightly worn, black briefcase." Understand "case" as the briefcase. The insurance paperwork is in the briefcase. The description is "Page after page of small legalese." Understand "papers" or "documents" or "forms" as the paperwork. Instead of listening to the insurance salesman: say "The salesman bores you with a discussion of life insurance policies. From his briefcase he pulls some paperwork which he hands to you."; move the insurance paperwork to the player.
Notable games written in Inform 7 Mystery House Possessed (2005), by
Emily Short, was the first Inform 7 game released to be public. It was released as part of the "Mystery House Taken Over" project. On March 1, 2006, Short announced the release of three further games:
Bronze (an example of a traditional puzzle-intensive game) and
Damnatio Memoriae (a follow-up to her award-winning Inform 6 game
Savoir-Faire) were joined by Graham Nelson's
The Reliques of Tolti-Aph (2006). When the Inform 7 public beta was announced on April 30, 2006, six "worked examples" of medium to large scale works were made available along with their source code, including the three games previously released on March 1. Emily Short's
Floatpoint was the first Inform 7 game to take first place in the
Interactive Fiction Competition. It also won 2006
XYZZY Awards for Best Setting and Best NPCs.
Rendition, by nespresso (2007), is a
political art experiment in the form of a text
adventure game. Its approach to
tragedy has been discussed academically by both the
Association for Computing Machinery and
Cambridge University. According to writer Aaron A. Reed, Inform 7's friendlier syntax and IDE allowed
Jeremy Freese to create
Violet (2008).{{cite web |title=2008: Violet == See also ==