1. Welcome to Inform
§1.1. Preface
§1.2. Acknowledgements
§1.3. The facing pages
§1.4. The Go! button
§1.5. The Replay button
§1.6. The Index and Errors panels
§1.7. The Skein
§1.8. A short Skein tutorial
§1.9. Summary of the Skein and Transcript
§1.10. Recipes Only
2. The Source Text
§2.1. Creating the world
§2.2. Making rules
§2.3. Punctuation
§2.4. Problems
§2.5. Headings
§2.6. Why using headings is a good idea
§2.7. The SHOWME command
§2.8. The TEST command
§2.9. Material not for release
§2.10. Installing extensions
§2.11. Including extensions
§2.12. Use options
§2.13. Administering classroom use
§2.14. Limits and the Settings panel
§2.15. What to do about a bug
§2.16. Does Inform really understand English?
3. Things
§3.1. Descriptions
§3.2. Rooms and the map
§3.3. One-way connections
§3.4. Regions and the index map
§3.5. Kinds
§3.6. Either/or properties
§3.7. Properties depend on kind
§3.8. Scenery
§3.9. Backdrops
§3.10. Properties holding text
§3.11. Two descriptions of things
§3.12. Doors
§3.13. Locks and keys
§3.14. Devices and descriptions
§3.15. Light and darkness
§3.16. Vehicles and pushable things
§3.17. Men, women and animals
§3.18. Articles and proper names
§3.19. Carrying capacity
§3.20. Possessions and clothing
§3.21. The player's holdall
§3.22. Food
§3.23. Parts of things
§3.24. Concealment
§3.25. The location of something
§3.26. Directions
4. Kinds
§4.1. New kinds
§4.2. Using new kinds
§4.3. Degrees of certainty
§4.4. Plural assertions
§4.5. Kinds of value
§4.6. Properties again
§4.7. New either/or properties
§4.8. New value properties
§4.9. Using new kinds of value in properties
§4.10. Conditions of things
§4.11. Default values of kinds
§4.12. Values that vary
§4.13. Values that never vary
§4.14. Duplicates
§4.15. Assemblies and body parts
§4.16. Names made in assembly
§4.17. Postscript on simulation
5. Text
§5.1. Text with substitutions
§5.2. How Inform reads quoted text
§5.3. Text which names things
§5.4. Text with numbers
§5.5. Text with lists
§5.6. Text with variations
§5.7. Text with random alternatives
§5.8. Line breaks and paragraph breaks
§5.9. Text with type styles
§5.10. Accented letters
§5.11. Unicode characters
§5.12. Displaying quotations
§5.13. Making new substitutions
6. Descriptions
§6.1. What are descriptions?
§6.2. Adjectives and nouns
§6.3. Sources of adjectives
§6.4. Defining new adjectives
§6.5. Defining adjectives for values
§6.6. Whereabouts on a scale?
§6.7. Comparatives
§6.8. Superlatives
§6.9. Which and who
§6.10. Existence and there
§6.11. A word about in
§6.12. A word about nothing
§6.13. To be able to see and touch
§6.14. Adjacent rooms and routes through the map
§6.15. All, each and every
§6.16. Counting while comparing
7. Basic Actions
§7.1. Actions
§7.2. Instead rules
§7.3. Before rules
§7.4. Try and try silently
§7.5. After rules
§7.6. Reading and talking
§7.7. The other four senses
§7.8. Rules applying to more than one action
§7.9. All actions and exceptional actions
§7.10. The noun and the second noun
§7.11. In rooms and regions
§7.12. In the presence of, and when
§7.13. Going from, going to
§7.14. Going by, going through, going with
§7.15. Kinds of action
§7.16. Repeated actions
§7.17. Actions on consecutive turns
§7.18. Postscript on actions
8. Change
§8.1. Change of values that vary
§8.2. Changing the command prompt
§8.3. Changing the status line
§8.4. Change of either/or properties
§8.5. Change of properties with values
§8.6. Whose property?
§8.7. Moving things
§8.8. Moving backdrops
§8.9. Moving the player
§8.10. Removing things from play
§8.11. Now...
§8.12. Increasing and decreasing
§8.13. Checking on whereabouts
§8.14. More flexible descriptions of whereabouts
§8.15. Calling names
§8.16. Counting the number of things
§8.17. Looking at containment by hand
§8.18. Randomness
§8.19. Random choices of things
9. Time
§9.1. When play begins
§9.2. Awarding points
§9.3. Introducing tables: rankings
§9.4. When play ends
§9.5. Every turn
§9.6. The time of day
§9.7. Telling the time
§9.8. Approximate times, lengths of time
§9.9. Comparing and shifting times
§9.10. Calculating times
§9.11. Future events
§9.12. Actions as conditions
§9.13. The past and perfect tenses
§9.14. How many times?
§9.15. How many turns?
10. Scenes
§10.1. Introduction to scenes
§10.2. Creating a scene
§10.3. Using the Scene index
§10.4. During scenes
§10.5. Linking scenes together
§10.6. More general linkages
§10.7. Multiple beginnings and repeats
§10.8. Multiple endings
§10.9. Why are scenes designed this way?
11. Phrases
§11.1. What are phrases?
§11.2. The phrasebook
§11.3. Pattern matching
§11.4. The showme phrase
§11.5. Conditions and questions
§11.6. If
§11.7. Begin and end
§11.8. Otherwise
§11.9. While
§11.10. Repeat
§11.11. Repeat running through
§11.12. Next and break
§11.13. Stop
§11.14. Phrase options
§11.15. Let and temporary variables
§11.16. New conditions, new adjectives
§11.17. Phrases to decide other things
§11.18. The value after and the value before
12. Advanced Actions
§12.1. A recap of actions
§12.2. How actions are processed
§12.3. Giving instructions to other people
§12.4. Persuasion
§12.5. Unsuccessful attempts
§12.6. Spontaneous actions by other people
§12.7. New actions
§12.8. Irregular English verbs
§12.9. Check, carry out, report
§12.10. Action variables
§12.11. Making actions work for other people
§12.12. Check rules for actions by other people
§12.13. Report rules for actions by other people
§12.14. Actions for any actor
§12.15. Out of world actions
§12.16. Reaching inside and reaching outside rules
§12.17. Visible vs touchable vs carried
§12.18. Changing reachability
§12.19. Changing visibility
§12.20. Stored actions
§12.21. Guidelines on how to write rules about actions
13. Relations
§13.1. Sentence verbs
§13.2. What sentences are made up from
§13.3. What are relations?
§13.4. To carry, to wear, to have
§13.5. Making new relations
§13.6. Making reciprocal relations
§13.7. Relations in groups
§13.8. The built-in verbs and their meanings
§13.9. Defining new assertion verbs
§13.10. Defining new prepositions
§13.11. Indirect relations
§13.12. Relations which express conditions
§13.13. Relations involving values
§13.14. Relations as values in their own right
§13.15. Temporary relations
§13.16. What are relations for?
14. Adaptive Text and Responses
§14.1. Tense and narrative viewpoint
§14.2. Adaptive text
§14.3. More on adapting verbs
§14.4. Adapting text about the player
§14.5. Adapting text referring to other things
§14.6. Adapting demonstratives and possessives
§14.7. Can, could, may, might, must, should, would
§14.8. Adapting contractions
§14.9. Verbs as values
§14.10. Responses
§14.11. Changing the text of responses
§14.12. The RESPONSES testing command
15. Numbers and Equations
§15.1. How do we measure things?
§15.2. Numbers and real numbers
§15.3. Real number conversions
§15.4. Printing real numbers
§15.5. Arithmetic
§15.6. Powers and logarithms
§15.7. Trigonometry
§15.8. Units
§15.9. Multiple notations
§15.10. Scaling and equivalents
§15.11. Named notations
§15.12. Making the verb "to weigh"
§15.13. The Metric Units extension
§15.14. Notations including more than one number
§15.15. The parts of a number specification
§15.16. Understanding specified numbers
§15.17. Totals
§15.18. Equations
§15.19. Arithmetic with units
§15.20. Multiplication of units
16. Tables
§16.1. Laying out tables
§16.2. Looking up entries
§16.3. Corresponding entries
§16.4. Changing entries
§16.5. Choosing rows
§16.6. Repeating through tables
§16.7. Blank entries
§16.8. Blank columns
§16.9. Blank rows
§16.10. Adding and removing rows
§16.11. Sorting
§16.12. Listed in...
§16.13. Topic columns
§16.14. Another scoring example
§16.15. Varying which table to look at
§16.16. Defining things with tables
§16.17. Defining values with tables
§16.18. Table continuations
§16.19. Table amendments
17. Understanding
§17.1. Understand
§17.2. New commands for old grammar
§17.3. Overriding existing commands
§17.4. Standard tokens of grammar
§17.5. The text token
§17.6. Actions applying to kinds of value
§17.7. Understanding any, understanding rooms
§17.8. Understanding names
§17.9. Understanding kinds of value
§17.10. Commands consisting only of nouns
§17.11. Understanding values
§17.12. This/that
§17.13. New tokens
§17.14. Tokens can produce values
§17.15. Understanding things by their properties
§17.16. Understanding things by their relations
§17.17. Context: understanding when
§17.18. Changing the meaning of pronouns
§17.19. Does the player mean...
§17.20. Understanding mistakes
§17.21. Precedence
18. Activities
§18.1. What are activities?
§18.2. How activities work
§18.3. Rules applied to activities
§18.4. While clauses
§18.5. New activities
§18.6. Activity variables
§18.7. Beginning and ending activities manually
§18.8. Introduction to the list of built-in activities
§18.9. Deciding the concealed possessions of something
§18.10. Printing the name of something
§18.11. Printing the plural name of something
§18.12. Printing a number of something
§18.13. Listing contents of something
§18.14. Grouping together something
§18.15. Issuing the response text of something
§18.16. Printing room description details of something
§18.17. Printing inventory details of something
§18.18. Printing a refusal to act in the dark
§18.19. Printing the announcement of darkness
§18.20. Printing the announcement of light
§18.21. Printing the name of a dark room
§18.22. Printing the description of a dark room
§18.23. Constructing the status line
§18.24. Writing a paragraph about
§18.25. Listing nondescript items of something
§18.26. Printing the locale description of something
§18.27. Choosing notable locale objects for something
§18.28. Printing a locale paragraph about
§18.29. Deciding the scope of something
§18.30. Clarifying the parser's choice of something
§18.31. Asking which do you mean
§18.32. Supplying a missing noun/second noun
§18.33. Reading a command
§18.34. Implicitly taking something
§18.35. Printing a parser error
§18.36. Deciding whether all includes
§18.37. Printing the banner text
§18.38. Printing the player's obituary
§18.39. Amusing a victorious player
§18.40. Starting the virtual machine
19. Rulebooks
§19.1. On rules
§19.2. Named rules and rulebooks
§19.3. New rules
§19.4. Listing rules explicitly
§19.5. Changing the behaviour of rules
§19.6. Sorting and indexing of rules
§19.7. The preamble of a rule
§19.8. New rulebooks
§19.9. Basis of a rulebook
§19.10. Rulebook variables
§19.11. Success and failure
§19.12. Named outcomes
§19.13. Rulebooks producing values
§19.14. Abide by
§19.15. Two rulebooks used internally
§19.16. The Laws for Sorting Rulebooks
20. Advanced Text
§20.1. Changing texts
§20.2. Memory limitations
§20.3. Characters, words, punctuated words, unpunctuated words, lines, paragraphs
§20.4. Upper and lower case letters
§20.5. Matching and exactly matching
§20.6. Regular expression matching
§20.7. Making new text with text substitutions
§20.8. Replacements
§20.9. Summary of regular expression notation
21. Lists
§21.1. Lists and entries
§21.2. Constant lists
§21.3. Saying lists of values
§21.4. Testing and iterating over lists
§21.5. Building lists
§21.6. Lists of objects
§21.7. Lists of values matching a description
§21.8. Sorting, reversing and rotating lists
§21.9. Accessing entries in a list
§21.10. Lengthening or shortening a list
§21.11. Variations: arrays, logs, queues, stacks, sets, sieves and rings
22. Advanced Phrases
§22.1. A review of kinds
§22.2. Descriptions as values
§22.3. Phrases as values
§22.4. Default values for phrase kinds
§22.5. Map, filter and reduce
§22.6. Generic phrases
§22.7. Kind variables
§22.8. Matching the names of kinds
§22.9. In what order?
§22.10. Ambiguities
23. Figures, Sounds and Files
§23.1. Beyond text
§23.2. How IF views pictures
§23.3. Virtual machines and story file formats
§23.4. Gathering the figures
§23.5. Declaring and previewing the figures
§23.6. Displaying the figures
§23.7. Recorded sounds
§23.8. Declaring and playing back sounds
§23.9. Providing accessibility text
§23.10. Some technicalities about figures and sounds
§23.11. Files
§23.12. Declaring files
§23.13. Writing and reading tables to external files
§23.14. Writing, reading and appending text to files
§23.15. Exchanging files with other programs
24. Testing and Debugging
§24.1. Checking against the Index
§24.2. Debugging features to use in source
§24.3. High-level debugging commands
§24.4. Low-level debugging commands
§24.5. Adding new testing verbs and Release for Testing
§24.6. Testing for thoroughness
§24.7. Commands for beta-testers
§24.8. Help from the user community
25. Releasing
§25.1. The finished product
§25.2. Bibliographic data
§25.3. Genres
§25.4. The Library Card
§25.5. The Treaty of Babel and the IFID
§25.6. The Release button and the Materials folder
§25.7. The Joy of Feelies
§25.8. Cover art
§25.9. An introductory booklet and postcard
§25.10. A website
§25.11. A playable web page
§25.12. Using Inform with Vorple
§25.13. Website templates
§25.14. Advanced website templates
§25.15. Republishing existing works of IF
§25.16. Walkthrough solutions
§25.17. Releasing the source text
§25.18. Improving the index map
§25.19. Producing an EPS format map
§25.20. Settings in the map-maker
§25.21. Table of map-maker settings
§25.22. Kinds of value accepted by the map-maker
§25.23. Titling and abbreviation
§25.24. Rubrics
26. Publishing
§26.1. Finding a readership
§26.2. How a novel is published
§26.3. How interactive fiction is published
§26.4. The IF Archive
§26.5. A Website of Its Own
§26.6. IFDB: The Interactive Fiction Database
§26.7. Competitions
§26.8. The Gaming Avant-Garde
§26.9. The Digital Literature Community
§26.10. A short concluding homily
27. Extensions
§27.1. The status of extensions
§27.2. The Standard Rules
§27.3. Built-in, installed and project-specific extensions
§27.4. Authorship
§27.5. A simple example extension
§27.6. Version numbering
§27.7. Extensions and story file formats
§27.8. Extensions can include other extensions
§27.9. Extensions can interact with other extensions
§27.10. Extensions in the Index
§27.11. Extension documentation
§27.12. Examples and headings in extension documentation
§27.13. Implications
§27.14. Using Inform 6 within Inform 7
§27.15. Defining phrases in Inform 6
§27.16. Phrases to decide in Inform 6
§27.17. Handling phrase options
§27.18. Making and testing use options
§27.19. Longer extracts of Inform 6 code
§27.20. Primitive Inform 6 declarations of rules
§27.21. Inform 6 objects and classes
§27.22. Inform 6 variables, properties, actions, and attributes
§27.23. Inform 6 Understand tokens
§27.24. Inform 6 adjectives
§27.25. Naming Unicode characters
§27.26. The template layer
§27.27. Translating the language of play
§27.28. Segmented substitutions
§27.29. Invocation labels, counters and storage
§27.30. To say one of
Numerical Index of Examples
1. How to Use The Recipe Book
§1.3. Disenchantment Bay
§1.4. Information Only
2. Adaptive Prose
§2.1. Varying What Is Written
§2.2. Varying What Is Read
§2.3. Using the Player's Input
3. Place
§3.1. Room Descriptions
§3.2. Map
§3.3. Position Within Rooms
§3.4. Continuous Spaces and The Outdoors
§3.5. Doors, Staircases, and Bridges
§3.6. Windows
§3.7. Lighting
§3.8. Sounds
§3.9. Passers-By, Weather and Astronomical Events
4. Time and Plot
§4.1. The Passage Of Time
§4.2. Scripted Scenes
§4.3. Event Scheduling
§4.4. Scene Changes
§4.5. Flashbacks
§4.6. Plot Management
5. The Viewpoint Character
§5.1. The Human Body
§5.2. Traits Determined By the Player
§5.3. Characterization
§5.4. Background
§5.5. Memory and Knowledge
§5.6. Viewpoint
6. Commands
§6.1. Designing New Commands
§6.2. Writing New Commands
§6.3. Modifying Existing Commands
§6.4. Looking
§6.5. Examining
§6.6. Looking Under and Hiding
§6.7. Inventory
§6.8. Taking, Dropping, Inserting and Putting
§6.9. Going, Pushing Things in Directions
§6.10. Entering and Exiting, Sitting and Standing
§6.11. Waiting, Sleeping
§6.12. Other Built-In Actions
§6.13. Magic Words
§6.14. Remembering, Converting and Combining Actions
§6.15. Actions on Multiple Objects
§6.16. Alternate Default Messages
§6.17. Clarification and Correction
§6.18. Alternatives To Standard Parsing
7. Other Characters
§7.1. Getting Acquainted
§7.2. Liveliness
§7.3. Reactive Characters
§7.4. Barter and Exchange
§7.5. Combat and Death
§7.6. Getting Started with Conversation
§7.7. Saying Simple Things
§7.8. Saying Complicated Things
§7.9. The Flow of Conversation
§7.10. Character Emotion
§7.11. Character Knowledge and Reasoning
§7.12. Characters Following a Script
§7.13. Traveling Characters
§7.14. Obedient Characters
§7.15. Goal-Seeking Characters
§7.16. Social Groups
8. Vehicles, Animals and Furniture
§8.1. Bicycles, Cars and Boats
§8.2. Ships, Trains and Elevators
§8.3. Animals
§8.4. Furniture
§8.5. Kitchen and Bathroom
9. Props: Food, Clothing, Money, Toys, Books, Electronics
§9.1. Food
§9.2. Bags, Bottles, Boxes and Safes
§9.3. Clothing
§9.4. Money
§9.5. Dice and Playing Cards
§9.6. Reading Matter
§9.7. Painting and Labeling Devices
§9.8. Simple Machines
§9.9. Televisions and Radios
§9.10. Telephones
§9.11. Clocks and Scientific Instruments
§9.12. Cameras and Recording Devices
10. Physics: Substances, Ropes, Energy and Weight
§10.1. Gases
§10.2. Liquids
§10.3. Dispensers and Supplies of Small Objects
§10.4. Glass and Other Damage-Prone Substances
§10.5. Volume, Height, Weight
§10.6. Ropes
§10.7. Electricity and Magnetism
§10.8. Fire
§10.9. Heat
§10.10. Magic (Breaking the Laws of Physics)
§10.11. Mathematics
11. Out Of World Actions and Effects
§11.1. Start-Up Features
§11.2. Saving and Undoing
§11.3. Helping and Hinting
§11.4. Scoring
§11.5. Settings and Status Checks During Play
§11.6. Ending The Story
12. Typography, Layout, and Multimedia Effects
§12.1. Typography
§12.2. The Status Line
§12.3. Footnotes
§12.4. Timed Input
§12.5. Glulx Multimedia Effects
13. Testing and Publishing
§13.1. Testing
§13.2. Publishing
Thematic Index of Examples