Friends of I7 Extensions for v10.1

Looking for extensions for another version?

A simple but flexible rule-based achievement system. Awarded achievements can optionally persist in external files after a restart.

A table-based way to assign scores for actions, rooms and objects.

Allows us to make certain actions apply to an entire player-specified group all at once, rather than applying serially to each member of the group.

An adaptive hint system based on Menus by Emily Short.

Alternatives by Eric EveVersion 3
Allows checking the presence of an object or value in a set of objects or values with new either/or and neither/nor phrases. e.g., 'If the noun is either the carrot or the potato:', or 'Instead of eating something when the noun is neither the cake nor the pudding:'

Assorted Text Generation supplies routines for producing prose in various common situations.

A minimal extension that makes the NPC optional in ASK NPC ABOUT TOPIC and TELL NPC ABOUT TOPIC commands.

A table-based way to add atmospheric effects to rooms, regions, things and scenes.

Creates a drawer kind of container, which is designed to be part of an item of furniture. Automatically parses names such as 'top drawer' or 'fourth drawer' or 'left drawer'; adds some features for describing furniture with drawers.

Autotaking by Mike CiulVersion 1
Implicit taking of noun or second noun that may be invoked by (or used as) a check rule.

This extension allows you to add basic Interactive Fiction help to your game.

Adds a HELP command to your Glulx or Z-Code project for Inform 6M62 or later which brings up a menu giving some standard instructions about IF. This is a tech and content update of Emily Short's Basic Help Menu extension made for compatibility with Wade Clarke's Menus. Requires Menus by Wade Clarke (version 5 or greater) to run.

Fornisce un comando AIUTO che mostra un menù con istruzioni standard. Semplicemente tradotto in italiano.

Provides objects and actions for (proper) reading, writing and erasing.

Basic Plans by Nate CullVersion 3.3
A library of basic relations, actions and plans for Planner.

Bit Ops by Zed LopezVersion 2
Routines to access bitwise operators. Tested on 6M62.

(I see no description here.)

Alters BRIEF mode to display a room's brief description instead of nothing.

Bulk Limiter by Eric EveVersion 9
Containers and actors that limit their contents by bulk

Bulky items that can be carried only if the player is not carrying anything else.

Basato sull'espansione Version 2 of Bulky Items by Juhana Leinonen.

This is a very simple extension, adding only a single phrase.

A simple system for building conversations.

Collections by Dannii WillisVersion 1.3(for Glulx only)
Provides support for array and map data structures

This extension allows the programmer to override what the player typed and parse different commands instead.

Report parsing errors to the player when ordering other characters to do things. Inform 7 normally redirects these errors to 'answer <topic>' so that the character can respond to arbitrary statements. But in an story with compliant characters who the player orders around routinely, that is frustrating to a player who has made a typo; this helps out the player. Requires version 5 of Neutral Standard Responses. Requires a patch to Parser.i6t as of 21 May 2022. Tested with a patched version of Inform 10.1.0.

Computers by Emily ShortVersion 8.2
Computer hardware and software, including search engines and email programs. Version 3 adds handling for batteries and cords, if we include Power Sources by Emily Short (which itself depends on Plugs and Sockets by Sean Turner).

Allows easy implementation of a Creative Commons Public License of the author's choice.

Provides a mechanism for contextually shifting descriptions.

A framework for conversations that allows saying hello and goodbye, abbreviated forms of ask and tell commands for conversing with the current interlocutor, and asking and telling about things as well as topics.

Builds on Conversational Defaults and adds the ability to define particular points in a conversational thread (nodes) at which particular conversational options become available.

This extension includes both Conversation Nodes and Conversation Suggestions, and makes the suggestions aware of conversation nodes. It therefore includes the complete conversational system in one package. It also requires Conversation Responses, Conversational Defaults, Conversation Framework and Epistemology. The documentation for this extension give some guidance on how these other extensions can be mixed and matched.

Provides a meaning for defining responses to conversational commands (such as ASK FRED ABOUT GARDEN) as a series of rules.

Provides a means of suggesting topics of conversation to the player, either in response to a TOPICS command or when NPCs are greeted. This extension requires Conversation Framework. Version 3 makes use of Complex Listing by Emily Short if it's included in the same game rather than indexed text to generate a list of suggestions.

Provides a set of rules to facilitate defining default conversational responses for different conversational commands targeted at various NPCs. This extension requires Conversation Framework.

Un'estensione in italiano per facilitare il rilascio di 'interactive fiction' secondo la Creative Commons License v25. Basata sull'estensione GNU General Public License v3 di Otis T. Dog.

Debug Files by Juhana LeinonenVersion 2(for Glulx only)
A development tool for saving debugging information to an external text file during beta testing.

Take quick notes about what needs doing: bugs, ideas, et cetera. Helpful for debugging.

(I see no description here.)

Initializes and repurposes the unused Glulx text styles to provide more flexibility in formatting.

Allows for doors that are implemented as having independent 'faces' -- to put a knocker on that can only be seen from on side, for instance, or to allow the player to lock one side with a key but the other with a latch. Also introduces a 'latched door' kind.

Provides a mechanism for allowing description levels to change based on number of visits

Common definitions useful for Inform7 authors and extension developers.

Dice by David A WheelerVersion 1.3
Support conventional X d Y dice notation, e.g., 3 d 6 totals 3 six-sided dice.

The ability to remove doors from the world and put them back.

Dishes by Emily ShortVersion 2
Dishes is a convenience extension for use with Measured Liquid. It provides some standard-sized cups, glasses, graduated measuring cups, jugs, bottles, etc., as well as a corked bottle kind that opens with the use of a secondary cork object.

Lets new rooms be created on the fly.

Easy Doors provides a new kind of door which does not use map connections, and may be manipulated via rules more flexibly than the standard doors provided in Inform 7. Version 3 removes elements for compatibility with 6M62

This extension extends section 12.20 of Writing With Inform. The individual parts of a stored action -- actor, noun, second noun, action name -- can be changed directly. Also exposes new parts: request, text, participle, preposition, number, and each kind of value.

Provides a system of counting numbers which never go below 0 or above a specified maximum value. Any numbers above the maximum are considered infinite.

Exit Lister by Eric EveVersion 11
A status line exit-lister and an EXITS command, with optional colouring of unvisited exits. Selected rooms and doors can be optionally be excluded from the list of exits.

Automatic listing of available exits, with a reasonable dose of customisation built in.

Provides a way for the author to release a build of a game while retaining both custom and built-in debugging commands. Also wraps Inform's debug tracing routines in phrases that authors can use to trigger rule-tracing from the source text rather than from the command prompt and provides other debugging features.

Adds some of the most commonly attempted verb synonyms and alternate grammar lines. Based on the Inform 6 extension ExpertGrammar.h by Emily Short.

Facing by Emily ShortVersion 11.2
Provides actions to face a direction, look toward a named room, or look through a named door.

Far away by Jon IngoldVersion 5.2
Creates an adjective for far-off items which cannot be touched.

Overrides carrying requirements for specific actions, and provides more nuanced carrying and touchability requirements when needed.

A logging tool for I7 that lets you log to transcript and (with Glulx) to file

Provides a framework for organizing and displaying footnotes in a game. Version 2 makes Footnotes responsive and 6L38-compatible.

Game Ending as defined in Version 2/090402 of the Standard Rules by Graham Nelson.

Gender Options by Nathanael NerodeVersion 4.0.220522
More broad-minded English language gender/number model where male, female, and neuter are three separate true-false properties. Allows for objects to respond to any specified combination of HE, SHE, IT, and THEY. As fast as the Standard Rules. Tested with Inform v10.1.0.

Glk Text Formatting by Dannii WillisVersion 1.2(for Glulx only)
Provides functions for controlling colours and reverse styling at character granularity

Glulx Definitions by Dannii WillisVersion 1.2(for Glulx only)
Core definitions which other Glulx/Glk extensions depend on

Glulx Text Styles by Daniel StelzerVersion 1(for Glulx only)
Glulx Text Styles provides a more powerful way to set up special text effects for Glulx.

A set of functions I have often found useful, with checks to prevent conflicts with extensions.

Hiding Under by Eric EveVersion 4
Allows things to be hidden under other things, using a many-to-one underconcealment relation. Can be used either standalone (with basic functionality) or in conjunction with Underside (to add fuller functionality to both extensions). Version 3 of Hiding Under avoids using phrases deprecated in Version 6E59 of Inform.

Highscores by Dannii WillisVersion 1.2(for Glulx only)
Record and review highscores to an external file

If True by Zed LopezVersion 1.3
Allow if/unless and while to accept plain truth states instead of a full conditional. If Strange Loopiness is included, extend that to until loops.

Lets the author offer the player in-line hints, with options for presentation. This extension requires Inform 6M62 or higher to run.

This small extension eliminates the three newlines printed before the banner. It also provides a tool to attempt to place the cursor at the bottom of the screen, like old Infocom games. Due to wild variance between interpreters, it is not reliable.

Inquiry by Zed LopezVersion 4
A framework for defining Y/N, multiple choice, or free-form questions to be asked immediately on game startup or subsequently.

Introductions provides an introductory paragraph about objects in a room description the first time the player looks in that location. It also allows the author to add segue text that will appear between one description and the next.

Performance improvements for games with many objects, or with nested loops over objects, by avoiding looping over all objects.

A cut-down version of Implicit Actions for use where code size may be restricted and the full functionality of Implicit Actions is not needed. Requires Plurality by Emily Short and is compatible with Locksmith by Emily Short.

List Control by Eric EveVersion 4
Provides a means of using tables as shuffled, cyclic or stop lists.

Provides a means of using tables as shuffled, cyclic or stoping lists. This is an alternative to List Control that uses list controller objects instead of a Table of Table Types.

Measured Liquid provides a concept of volume, together with the ability to fill containers, pour measured amounts of liquid, and drink from containers. It handles mixtures as well, if desired. It is compatible with, but does not require, the Metric Units extension by Graham Nelson.

Menus by Dannii WillisVersion 1.2
Display full-screen menus defined by tables

Menus by Wade ClarkeVersion 5
Lets you include a menu system of help, hints and/or other information in your Glulx or Z-Code project for Inform 6M62 or later. This upgrade of Emily Short's classic Menus extension features user-friendly single keypress controls, a more sophisticated UI, compatibility with screen readers and portable devices, an optional book mode with automatic pagination, and isolated message content to make translations easier. Classic Menus tables can be reformatted for this extension with a little work.

A table-based way to display full-screen menus to the player. Semplicemente tradotto in italiano.

No documentation yet.

Release for web with the Quixe interpreter.

Release for web with the Quixe interpreter.

Modern Conveniences creates kitchen and bathroom kinds of room, which will automatically be furnished with a set of plausible appliances. (This was originally an example in the manual of how to create extensions, and an annotated version may still be found there.) Version 3 adds compatibility with Measured Liquid, modeling flowing water from taps.

Changes the handling of the EXIT action, allowing commands such as EXIT PLATFORM and GET OUT OF CHAIR, making characters leave enterable objects before traveling, and altering the default interpretation of >OUT when the player is neither inside an object nor in a room with an outside exit. Updated for adaptive text.

Changes the one-minute-per-turn rule to account for failed and implicit actions.

Provides facilities for the basic reproduction of multiple-channel audio with loops under Glulx.

This is just a collection of documentation and worked examples illustrating various features of Inform. There isn't much in the extension per se, but the examples in the documentation can be click-pasted in the Inform IDE for convenience.

Replaces misleading, vague, and narratively-voiced parser messages with instructive, clarifying, and neutral versions, respectively. For Inform 10.1.0.

Notepad by Jim AikinVersion 3
A system for creating an in-game notepad that the player can write on.

Provides more nuanced aspects of tracking time within a game.

Numbers the options in disambiguation questions, to help new players and solve the 'disambiguation loop' problem caused by indistinguishable objects.

Numbers the options in disambiguation questions, to help new players and solve the 'disambiguation loop' problem caused by indistinguishable objects. Semplicemente tradotto in italiano.

(I see no description here.)

A development tool for testing all actions on any given object - or one action on all objects - at once to see whether the game's responses are sensible.

Objects Matching Snippets is a very simple extension that provides a convenient way to search for names of objects within a snippet such as the player's command or the topic understood.

Keeping track of what the player character knows and sees.

An extension to go with Room Description Control, which emulates as closely as possible the behavior of Inform defaults, but allows the intervention of Room Description Control.

(I see no description here.)

Based on Version 11 of Patrollers by Michael Callaghan.

In lieu of compass directions, we may VISIT, ATTEND, GO TO, and FIND various people, events, places, and things. Characters may INVITE, PERMIT, and FORBID each other to or from their respective domains.

This grants five new phrases regarding the player's command, the matched text, and the topic understood: if one is a topic listed in a table, if one includes or matches a topic listed in a table, what corresponds to one within a table, and the last phrase corrects a bug so the topic understood may be used within an understand-as-mistake line.

Planner by Nate CullVersion 2.3
A universal goal planner for self-directed NPCs.

System for handling plugs and sockets.

Points Awarding as defined in Version 2/090402 of the Standard Rules by Graham Nelson.

This provides two commands available to the player: "exits" which lists all the obvious exits in the current location, and "enterables" which lists the enterable things.

Postures by Emily ShortVersion 2.2
Postures defines three postures -- seated, standing, and reclining -- and allows pieces of furniture to specify which postures are possible and preferred when the player is on those furnishings.

Power Sources provides an implementation of plugs and batteries, and is designed to be used alongside Computers or as a base for other device implementations. It requires Plugs and Sockets by Sean Turner.

Provides a way to customise the prepositions used to refer to containment or support, and perhaps other custom relationships added by other extensions.

A light testing extension to identify rooms and game items that may still be lacking descriptions or other properties.

Facilitate giving switched on/off to kinds other than devices.

Questions by Michael CallaghanVersion 5.2(for Glulx only)
An extension to allow us to suspend normal parser input to receive and respond to answers to questions.

Random number generation using a simple seedable pseudorandom number generator.

Recorded Endings by Emily ShortVersion 5(for Glulx only)
Records the endings the player encounters in multiple play-throughs to an external file; then adds an ENDINGS option to the final question to allow the player to review which endings he has seen so far.

Allows the player to travel between regions. Useful for example when the player travels between large regions far apart from each other (e.g. cities), or for traveling in vehicles and public transportation.

allowing relative directional movement as well as locationally relative descriptions.

(I see no description here.)

(I see no description here.)

Adds some helpful testing commands for changing default responses.

Automatically corrects commands given to NPCs where the order is reversed, for example HELLO, ALICE instead of ALICE, HELLO.

Improves how rideable vehicles and animals interact with other supporters.

A framework by which the author can considerably change the listing of objects in a room description. Includes facilities for concealing objects arbitrarily and changing the order in which objects are listed.

Allows us to ask why the Deciding the Scope For Something activity is running, so we can modify the scope only when we absolutely need to. Highly useful for giving NPCs commands over telephones or while in darkness, creating 'can hear' relations, or modifying how Inform parses the command line.

Scoring by Leonardo BoselliVersion 1.2
About the score.

About the score. Translated in Italian.

On startup, asks user 'Are you using a screenreader?' and sets a global that can subsequently be tested.

Doors and switches that cannot be acted upon until they are discovered.

Doors and switches that cannot be acted upon until they are discovered.

Allows commands of the form GET X, Y, AND Z to be parsed.

Allows non-player characters to follow the player (or one another); adds a FOLLOW command and a corresponding STOP FOLLOWING command so that the player can issue these orders to non-player characters. Adds adaptive text features.

Allows non-player characters to follow the player (or one another); adds a FOLLOW command and a corresponding STOP FOLLOWING command so that the player can issue these orders to non-player characters. Semplicemente tradotto in italiano.

Simple Spelling aims to make stories more screen-reader-friendly by allowing players to request the spelling of any visible thing. This extension adds two actions: 'listing visible items for spelling' and 'spelling the numbered word.'

Singing Reloaded by ShinVersion 1
Singing as defined in Version 2/090402 of the Standard Rules by Graham Nelson.

A room description extension based on Room Description Control (which is required). All contents of a room are summarized in a single paragraph, starting with the regular room description.

Provides a number of small interface improvements for players, understanding commands like GO BACK and GET IN, an EXITS command which automatically runs after failed movement, a USE verb, and more. Compatible with Modified Exit and Approaches by Emily Short, Keyword Interface by Aaron Reed, and Implicit Actions by Eric Eve.

Some functions for setting and use of snippets (parts of the player's command).

Speechless by Zed LopezVersion 1
Make the player unable to speak or interact with others by speech, and block references to the player being able to speak.

Reduce the size of games using Room Description Control by removing unused Standard Rules material. This version tested with Inform v10.1.

Swearing as defined in Version 2/090402 of the Standard Rules by Graham Nelson.

Tab Removal by Nathanael NerodeVersion 2.0.220522
When the player types tabs, this extension replaces them with spaces.

Tabulate by Zed LopezVersion 1.3
Provides a phrase to go from a text to a table name, and a not-for-release tabulate action to show the contents of a table.

An extension to go with Room Description Control, providing a different style of room description than the default. Parenthetical remarks such as (open) and (in which are...) are omitted in favor of full English sentences. Removes the requirement for Text Variations.

Takeability by Mike CiulVersion 1.2
(I see no description here.)

(I see no description here.)

Applies title case to room names printed as a heading or in the status line. Creates the printing a heading activity for further customization. Tested with Inform 10.1.0. Requires Undo Output Control by Erik Temple or by Nathanael Nerode to handle the case of room name printing after UNDO.

Fornisce un pannello introduttivo al gioco, con un menù, la possibilità di caricare e ricominciare, una citazione e (in Glulx) una figura. Semplicemente tradotto dall'originale.

Transit System provides a train-car kind which follows a schedule around the map, allowing the player or other characters to get on or off.

Trial by Zed LopezVersion 1
Simple means to use a command ('try') to launch tests of code that isn't naturally command-centric. Facilitates testing such code with regtest.

Provides a framework for listing inventories in natural sentences, akin to Infocom's game Trinity. Separates carried and worn objects, followed by objects that contains other objects. What's listed in the third section is customizable via a rulebook. Objects can be marked as not listed when carried or worn as well as marked as having their contents listed in the inventory when they're empty. This extension is based upon the extension Written Inventory by Jon Ingold.

Adds a tutorial mode, which is on by default, to any game, to introduce key actions for the novice player. Can be revised or expanded by the author.

(I see no description here.)

Allows an author to verify that an interpreter can support specific Unicode effects.

Unit Testing by Peter OrmeVersion 2.2
A developer extension that lets you write unit tests (asserts) in Inform 7.

Provides Infocom-style parser messages such as 'I don't know the word 'kludge'.'

Will run the Unsuccessful Attempt By rules for all characters, including the player. Also silences the library messages printed by the built-in Check rules.

Allows individual actions to take a different number of seconds, or no time at all. Also allows the standard time taken per turn to be defined as so many seconds, which can be varied during the course of play

Verb Stripping by Nathanael NerodeVersion 1.2.220521
Removes a number of verbs from the standard rules; verbs which might cause confusion in a game whose theme is not adventure.

Mechanics to represent the player's knowledge and understanding about the world.

Just Version 3 of Written Inventory by Jon Ingold made adaptive. Provides a framework for listing inventories in natural sentences. Separates carried and worn objects, followed by objects that contains other objects. What's listed in the third section is customisable via a rulebook.