Inform 7, short for Inform 7 Interactive Fiction Language, is a natural-language-based programming language and development environment for creating interactive fiction and text adventure games. It is used on Windows, macOS, and Linux, enabling authors to write stories that closely resemble plain English while defining game mechanics. Developers can download Inform 7 from the official Inform 7 website, which provides the IDE, documentation, tutorials, and example projects to get started.

Inform 7 exists to simplify interactive fiction development by using natural language syntax, allowing authors to focus on narrative design while still implementing complex game logic. Its design philosophy emphasizes readability, expressiveness, and a close mapping between code and storytelling concepts. By using declarative, English-like statements, Inform 7 solves the challenge of blending programming with narrative creation, making it accessible for writers and hobbyists without extensive programming experience.

Inform 7: Basic Story Structure

The foundation of Inform 7 is a set of story definitions, including rooms, objects, and the player, written in readable sentences.

The Foyer is a room. "You are standing in a grand foyer. Doors lead north and east." 
The Garden is north of the Foyer.

The player carries a brass key. The brass key is in the Foyer.

This snippet defines rooms, their connections, and objects. The natural-language style allows the story to be almost self-documenting. This approach is conceptually similar to TADS and can be compared to object definitions in Python for scripting behavior.

Inform 7: Actions and Rules

Inform 7 provides rules that describe how players interact with objects and the game world.

Instead of taking the brass key when the player does not carry it:
    say "You pick up the brass key.";
    now the player carries the brass key.

Instead of opening the door when the player carries the brass key:
    say "The door unlocks with the brass key.".

Rules define the game’s logic declaratively. The system automatically applies the appropriate rules based on the player's actions, similar to event-driven or action-handling constructs in TADS or command processing in Python.

Inform 7: Conditional Statements

Conditional logic can be expressed through descriptive rules and statements, enabling branching narratives and dynamic interactions.

Instead of entering the Garden when the player does not carry the brass key:
    say "The gate is locked; you need a key.".

These conditionals govern how the game reacts to the player’s state and inventory, ensuring consistent story behavior. The syntax parallels conditional statements in TADS and procedural programming languages like Python.

Inform 7: Lists and Inventories

Inform 7 manages collections of objects using lists, inventories, and relations between rooms and items.

The player carries a silver coin. 
The player carries a lantern.

Instead of examining the player:
    repeat with item running through things carried by the player:
        say "You have [item].";

Lists allow iteration over objects for display, checks, and interaction. This is similar to arrays in TADS and list structures in Python, facilitating dynamic behavior in text adventures.

Inform 7: Saving and Restoring

Inform 7 includes built-in support for saving and restoring game state, allowing players to pause and resume gameplay.

save the game as "mansion.sav"
restore the game from "mansion.sav"

These commands manage game persistence and ensure that story progress can be preserved. Built-in saving features are conceptually similar to serialization in TADS or Python.

Overall, Inform 7 delivers a natural-language-driven, readable, and powerful platform for interactive fiction. When used alongside TADS, Python, JavaScript, or Java, it enables authors to construct maintainable, dynamic, and immersive text-based stories. Its support for rooms, objects, rules, conditional logic, lists, and persistence makes Inform 7 a highly effective tool for both learning interactive fiction development and producing professional-grade narrative experiences.