Examples in Numerical Order | ![]() |
Chapter 1: Welcome to Inform
| ![]() An explanation of the examples in this documentation, and the asterisks attached to them. Click the heading of the example, or the example number, to reveal the text. |
|
Chapter 3: Things
| ![]() Making rooms give full descriptions each time we enter, even if we have visited before. |
|
| ![]() ![]() A room whose description changes slightly after our first visit there. |
|
| ![]() A partial implementation of Port Royal, Jamaica, set before the earthquake of 1692 demolished large portions of the city. |
|
| ![]() ![]() Adding a short message as the player approaches a room, before the room description itself appears. |
|
| ![]() Further implementation of Port Royal, with a few more unusual map connections. |
|
| ![]() A simple elevator connecting two floors which is operated simply by walking in and out, and has no buttons or fancy doors. |
|
| ![]() Division of Port Royal into regions. |
|
| ![]() Allowing the player to use different synonyms to refer to something. |
|
| ![]() A few sentences laying out a garden together with some things which might be found in it. |
|
| ![]() Examples of a container and a supporter that can be entered, as well as nested rooms. |
|
| ![]() A running example in this chapter, Disenchantment Bay, involves chartering a boat. This is the first step: creating the cabin. |
|
| ![]() Changing the response when the player tries to take something that is scenery. |
|
| ![]() Disenchantment Bay: creating some of the objects in the cabin's description. |
|
| ![]() Disenchantment Bay: adding a view of the glacier. |
|
| ![]() Disenchantment Bay: fleshing out the descriptions of things on the boat. |
|
| ![]() ![]() Some general advice about creating objects with unusual or awkward names, and a discussion of the use of printed names. |
|
| ![]() Disenchantment Bay: adding the door and the deck to our charter boat. |
|
| ![]() ![]() Window that can be climbed through or looked through. |
|
| ![]() ![]() ![]() Providing a security readout device by which the player can check on the status of all doors in the game. |
|
| ![]() Disenchantment Bay: locking up the charter boat's fishing rods. |
|
| ![]() ![]() A locked door that can be locked or unlocked without a key from one side, but not from the other. |
|
| ![]() Disenchantment Bay: making the radar and instruments switch on and off. |
|
| ![]() ![]() A light switch which makes the room it is in dark or light. |
|
| ![]() A journey from one room to another that requires the player to be on a vehicle. |
|
| ![]() ![]() Disenchantment Bay: a pushable chest of ice for the boat. |
|
| ![]() ![]() ![]() Letting the player see a modified room description when he's viewing the place from inside a vehicle. |
|
| ![]() Disenchantment Bay: enter the charter boat's Captain. |
|
| ![]() You can see a bat, a bell, some woodworm, William Snelson, the sexton's wife, a bellringer and your local vicar here. |
|
| ![]() ![]() Changing the name of a character in the middle of play, removing the article. |
|
| ![]() Disenchantment Bay: things for the player and the characters to wear and carry. |
|
| ![]() Disenchantment Bay: making a holdall of the backpack. |
|
| ![]() ![]() ![]() A red sticky label which can be attached to anything in the game, or removed again. |
|
| ![]() ![]() ![]() ![]() A final trip to Disenchantment Bay: the scenario turned into a somewhat fuller scene, with various features that have not yet been explained. |
|
| ![]() ![]() ![]() A smuggler who has items, some of which are hidden. |
|
| ![]() ![]() A character who approaches the player, then follows him from room to room. |
|
| ![]() ![]() A button that causes a previously non-existent exit to come into being. |
|
Chapter 4: Kinds
| ![]() Replacing "You see nothing special..." with a different default message for looking at something nondescript. |
|
| ![]() A staircase always open and never openable. |
|
| ![]() ![]() ![]() Using kinds of clothing to prevent the player from wearing several pairs of trousers at the same time. |
|
| ![]() ![]() ![]() A child's set of building blocks, which come in three different colours - red, green and blue - but which can be repainted during play. |
|
| ![]() A kind for jackets, which always includes a container called a pocket. |
|
| ![]() ![]() An "on/off button" which controls whatever device it is part of. |
|
| ![]() ![]() ![]() Instructing Inform to prefer different interpretations of EXAMINE NOSE, depending on whether the player is alone, in company, or with Rudolph the Red-nosed Reindeer. |
|
| ![]() ![]() ![]() A "chest" kind which consists of a container which has a lid as a supporter. |
|
| ![]() ![]() Implementing sleeping and wakeful states. |
|
| ![]() Adding new properties to objects, and checking for their presence. |
|
| ![]() ![]() Using text properties that apply only to some things and are not defined for others. |
|
| ![]() A small map of dead ends, in which the sound of an underground river has different strengths in different caves. |
|
| ![]() ![]() ![]() A description text that automatically highlights the ways in which the object differs from a standard member of its kind. |
|
| ![]() ![]() ![]() Signpost that points to various destinations, depending on how the player has turned it. |
|
| ![]() ![]() ![]() Allowing the player to turn off all access to hints for the duration of a game, in order to avoid the temptation to rely on them overmuch. |
|
| ![]() Testing to make sure that all objects have been given descriptions. |
|
Chapter 5: Text
| ![]() ![]() ![]() A new "to say" definition which allows the author to say "[a number in round numbers]" and get verbal descriptions like "a couple of" or "a few" as a result. |
|
| ![]() Objects which automatically include a description of their component parts whenever they are examined. |
|
| ![]() ![]() A lawn made up of several rooms, with part of the description written automatically. |
|
| ![]() A door whose description says "...leads east" in one place and "...leads west" in the other. |
|
| ![]() ![]() ![]() A kind of door that always automatically describes the direction it opens and what lies on the far side (if that other room has been visited). |
|
| ![]() ![]() ![]() Separate the player's inventory listing into two parts, so that it says "you are carrying..." and then (if the player is wearing anything) "You are also wearing...". |
|
| ![]() A radio that produces a cycle of output using varying text. |
|
| ![]() ![]() Creating characters who change their behavior from turn to turn, and a survey of other common uses for alternative texts. |
|
| ![]() ![]() Making the SEARCH command examine all the scenery in the current location. |
|
| ![]() Adding coloured text to the example of door-status readouts. |
|
| ![]() Using text substitution to make characters reply differently under the same circumstances. |
|
| ![]() ![]() ![]() Writing your own rules for how to carry out substitutions. |
|
| ![]() ![]() ![]() This example provides a fairly stringent test of exotic lettering. |
|
Chapter 6: Descriptions
| ![]() The "another" adjective for rules such as "in the presence of another person". |
|
| ![]() ![]() ![]() A thief who will identify and take any valuable thing lying around that he is able to touch. |
|
| ![]() A person who moves randomly between rooms of the map. |
|
| ![]() Layout where the player is allowed to wander any direction he likes, and the map will arrange itself in order so that he finds the correct "next" location. |
|
| ![]() ![]() Signposts such as those provided on hiking paths in the Swiss Alps, which show the correct direction and hiking time to all other locations. |
|
| ![]() ![]() ![]() A LOOK [direction] command which allows the player to see descriptions of the nearby landscape. |
|
| ![]() ![]() ![]() ![]() A small game about resentful furniture and inconvenient objects. |
|
| ![]() ![]() Set of drawers where the item the player seeks is always in the last drawer he opens, regardless of the order of opening. |
|
Chapter 7: Basic Actions
| ![]() A grill, from which the player is not allowed to take anything lest he burn himself. |
|
| ![]() Change the player's appearance in response to EXAMINE ME. |
|
| ![]() ![]() ![]() Make PUT and INSERT commands automatically take objects if the player is not holding them. |
|
| ![]() ![]() ![]() ![]() Extend PUT and INSERT handling to cases where multiple objects are intended at once. |
|
| ![]() A refinement of our staircase kind which can be climbed. |
|
| ![]() When the player picks something up which he hasn't already examined, the object is described. |
|
| ![]() Direct all ASK, TELL, and ANSWER commands to ASK, and accept multiple words for certain cases. |
|
| ![]() ![]() Making the character understand YES, SAY YES TO CHARACTER, TELL CHARACTER YES, ANSWER YES, and CHARACTER, YES. |
|
| ![]() ![]() ![]() A fully-implemented book, answering questions from a table of data, and responding to failed consultation with a custom message such as "You flip through the Guide to Central American Birds, but find no reference to penguins." |
|
| ![]() ![]() ![]() Things are all assigned their own noise (or silence). Listening to the room in general reports on all the things that are currently audible. |
|
| ![]() A backdrop which the player can examine, but cannot interact with in any other way. |
|
| ![]() Several variations on "doing something other than...", demonstrating different degrees of restriction. |
|
| ![]() ATTACK or DROP break and remove fragile items from play. |
|
| ![]() An item that the player can't interact with until he has found it by searching the scenery. |
|
| ![]() ![]() A few notes on "In the presence of" and how it interacts with concealed objects. |
|
| ![]() An effect that occurs only when the player leaves a region entirely. |
|
| ![]() ![]() If the player tries to go a valid direction while on a supporter, make him stand up first; if he tries to go a nonexistent one, print a special refusal. |
|
| ![]() ![]() Using regions to block access to an entire area when the player does not carry a pass, regardless of which entrance he uses. |
|
| ![]() ![]() ![]() A "go back" command that keeps track of the direction from which the player came, and sends him back. |
|
| ![]() ![]() ![]() Offering the player a list of valid directions if he tries to go in a direction that leads nowhere. |
|
| ![]() Adding extra phrasing to the action to PUSH something in a direction. |
|
| ![]() A car which must be turned on before it can be driven, and can only go to roads. |
|
| ![]() ![]() A plank bridge which breaks if the player is carrying something when he goes across it. Pushing anything over the bridge is forbidden outright. |
|
| ![]() Our heroine, fallen among gentleman highwaymen, is restrained by her own modesty and seemliness. |
|
| ![]() ![]() ![]() People who must be greeted before conversation can begin. |
|
| ![]() Noticing when the player seems to be at a loss, and recommending the use of hints. |
|
| ![]() ![]() ![]() ![]() A complete story by Emily Short, called "A Day for Fresh Sushi", rewritten using Inform 7. Noteworthy is the snarky commenter who remarks on everything the player does, but only the first time each action is performed. |
|
Chapter 8: Change
| ![]() ![]() ![]() Combat scenario in which the player's footing and position changes from move to move, and the command prompt also changes to reflect that. |
|
| ![]() Have the status line indicate the current region of the map. |
|
| ![]() ![]() ![]() Replacing the two-part status line with one that centers only the room name at the top of the screen. |
|
| ![]() An electrochromic window that becomes transparent or opaque depending on whether it is currently turned on. |
|
| ![]() A waterskin that is depleted as the player drinks from it. |
|
| ![]() A campfire added to the camp site, which can be lit using tinder. |
|
| ![]() ![]() A meteor in the night sky which is visible from many rooms, so needs to be a backdrop, but which does not appear until 11:31 PM. |
|
| ![]() ![]() ![]() Multiple player characters who take turns controlling the action. |
|
| ![]() A potion that the player can drink. |
|
| ![]() A character who sulks over objects that the player has broken (and which are now off-stage). |
|
| ![]() A maze with directions between rooms randomized at the start of play. |
|
| ![]() ![]() ![]() A ray gun which destroys objects, leaving their component parts behind. |
|
| ![]() All doors in the game automatically attempt to open if the player approaches them when they are closed. |
|
| ![]() Very simple randomized combat in which characters hit one another for a randomized amount of damage. |
|
| ![]() The automatic weather station atop Mt. Pisgah shows randomly fluctuating temperature, pressure and cloud cover. |
|
| ![]() A pair of dice which can be rolled, and are described with their current total when not carried, and have individual scores when examined. |
|
| ![]() ![]() ![]() A stream of random pedestrians who go by the player. |
|
| ![]() One of several identical candies chosen at the start of play to be poisonous. |
|
| ![]() A "Carousel Room", as in Zork II, where moving in any direction from the room leads (at random) to one of the eight rooms nearby. |
|
Chapter 9: Time
| ![]() A murderer for the mystery is selected randomly at the beginning of the game. |
|
| ![]() ![]() ![]() Recording a whole table of scores for specific treasures. |
|
| ![]() ![]() ![]() Allowing the player to continue play after a fatal accident, but penalizing him by scattering his possessions around the game map. |
|
| ![]() ![]() ![]() A kind of battery which can be put into different devices, and which will lose power after extended use. |
|
| ![]() ![]() ![]() ![]() A game of foosball which relies heavily on every-turn rules. |
|
| ![]() ![]() Shops which each have opening and closing hours, so that it is impossible to go in at the wrong times, and the player is kicked out if he overstays his welcome. |
|
| ![]() Hunger that eventually kills the player, and foodstuffs that can delay the inevitable by different amounts of time. |
|
| ![]() ![]() A train which follows a schedule, stopping at a number of different locations. |
|
| ![]() ![]() To schedule an eclipse of the sun, which involves a number of related events. |
|
| ![]() ![]() ![]() Allowing the player to make an appointment, which is then kept. |
|
| ![]() A room which changes its description depending on whether an object has been examined. |
|
| ![]() ![]() ![]() A box which called "horribly heavy box" after the player has tried to take it the first time. |
|
| ![]() An overview of all the variations of past and present tenses, and how they might be used. |
|
| ![]() ![]() A candle which reacts to lighting and blowing actions differently depending on whether it has already been lit once. |
|
| ![]() A room whose description changes depending on the number of times the player has visited. |
|
| ![]() A child who after a certain period in the car starts asking annoying questions. |
|
Chapter 10: Scenes
| ![]() Pine: Using a scene to watch for the solution of a puzzle, however arrived-at by the player. |
|
| ![]() ![]() A scene in which the player is allowed to explore as much as he likes, but another character strolls in as soon as he has gotten himself into an awkward or embarrassing situation. |
|
| ![]() The railway-station examples so far put together into a short game called "Age of Steam". |
|
| ![]() Random atmospheric events which last the duration of a scene. |
|
| ![]() ![]() We'll be back in just a moment, with more exciting adventures of the... Space Patrol! |
|
| ![]() ![]() ![]() A scene which plays through a series of events in order, then ends when the list of events is exhausted. |
|
| ![]() ![]() ![]() Pine: Adding a conversation with the princess, in which a basic set of facts must be covered before the scene is allowed to end. |
|
| ![]() Scenes used to provide pacing while the player goes through his possessions. |
|
| ![]() Cycling through a sequence of scenes to represent day and night following one another during a game. |
|
| ![]() ![]() ![]() Pine: Allowing the player to visit aspects of the past in memory and describe these events to the princess, as a break from the marriage-proposal scene. |
|
| ![]() ![]() ![]() Replacing the score with a plot summary that records the events of the plot, scene by scene. |
|
| ![]() ![]() ![]() Pine: Adding a flashback scene that, instead of repeating endlessly, repeats only until the Princess has understood the point. |
|
| ![]() ![]() ![]() Scenes used to control the way a character reacts to conversation and comments, using a TALK TO command. |
|
Chapter 11: Phrases
| ![]() Writing a phrase, with several variant forms, whose function is to follow a rule several times. |
|
| ![]() ![]() Using the same phrase to produce different results with different characters. |
|
| ![]() ![]() Asking the player a yes/no question which he must answer, and another which he may answer or not as he chooses. |
|
| ![]() A SEARCH [room] action that will open every container the player can see, stopping only when there don't remain any that are closed, unlocked, and openable. |
|
| ![]() The player is unable to sleep on a mattress (or stack of mattresses) because the bottom one has something uncomfortable under it. |
|
| ![]() A simple exercise in printing the names of random numbers, using "otherwise if..." and also a table-based alternative. (Or, in programming terms, how to emulate a switch statement.) |
|
| ![]() A lottery drum which redistributes the tickets inside whenever the player spins it. |
|
| ![]() ![]() People who select partners for dance lessons each turn. |
|
| ![]() A phrase that chooses and names the least-recently selected item from the collection given, allowing the text to cycle semi-randomly through a group of objects. |
|
| ![]() ![]() Overview of all the phrase options associated with listing, and examples of how to change the inventory list into some other standard formats. |
|
| ![]() Three basic ways to inject random or not-so-random variations into text. |
|
| ![]() ![]() ![]() OUT always means "move to an outdoors room, or else to a room with more exits than this one has"; IN always means the opposite. |
|
| ![]() A piece of ghost-hunting equipment that responds depending on whether or not the meter is on and a ghost is visible or touchable from the current location. |
|
| ![]() ![]() ![]() Windows overlooking lower spaces which will prevent the player from climbing through if the lower space is too far below. |
|
| ![]() All objects in the game have a heat, but if not kept insulated they will tend toward room temperature (and at a somewhat exaggerated rate). |
|
| ![]() ![]() ![]() Turns take a quarter day each, and the game rotates through the days of the week. |
|
Chapter 12: Advanced Actions
| ![]() Defining certain kinds of behavior as inappropriate, so that other characters will refuse indignantly to do any such thing. |
|
| ![]() ![]() ![]() A person who can accept instructions to go to new destinations and move towards them according to the most reasonable path. |
|
| ![]() A hypnotist who can make people obedient and then set them free again. |
|
| ![]() Several friends who obey you; a policeman who doesn't (but who takes a dim view of certain kinds of antics). |
|
| ![]() ![]() A person who goes along with the player's instructions, but reluctantly, and will get annoyed after too many repetitions of the same kind of unsuccessful command. |
|
| ![]() Introducing Ogg, a person who will unlock and open a container when the player tells him to get something inside. |
|
| ![]() ![]() ![]() ![]() A fuller implementation of Ogg, giving him a motivation of his own and allowing him to react to the situation created by the player. |
|
| ![]() A DIAGNOSE command which allows the player to check on the health of someone. |
|
| ![]() ![]() ![]() Liquid flows within containers and soaks objects that are not waterproof; any contact with a wet object can dampen our gloves. |
|
| ![]() ![]() ![]() A shake command which agitates soda and makes items thump around in boxes. |
|
| ![]() Containers and supporters that report their contents when you EXAMINE them. |
|
| ![]() An electric light kind of device which becomes lit when switched on and dark when switched off. |
|
| ![]() ![]() A CUT [something] WITH [something] command which acts differently on different types of objects. |
|
| ![]() TAKE expanded to give responses such as "You take the book from the shelf." or "You pick up the toy from the ground." |
|
| ![]() The young William Wordsworth, pushing a box about in his room, must struggle to achieve a Romantic point of view. |
|
| ![]() Adapting the going action so that something special can happen when going from a dark room to another dark room. |
|
| ![]() ![]() A system in which every character has a body, which is left behind when the person dies; attempts to do something to the body are redirected to the person while the person is alive. |
|
| ![]() ![]() ![]() Adding special reporting and handling for objects dropped when the player is on a supporter, and special entering rules for moving from one supporter to another. |
|
| ![]() ![]() An escaping action which means "go to any room you can reach from here", and is only useful to non-player characters. |
|
| ![]() ![]() ![]() Replacing the inventory reporting rule with another which does something slightly different. |
|
| ![]() ![]() ![]() ![]() Creating a person who accepts most instructions and reacts correctly when a request leads implicitly to inappropriate behavior. |
|
| ![]() Changing the check rules to try automatically leaving a container before attempting to take it. (And arranging things so that other people will do likewise.) |
|
| ![]() ![]() ![]() Allowing characters other than the player to give objects to one another, accounting for the possibility that some items may not be desired by the intended recipients. |
|
| ![]() Elaborating the report rules to be more interesting than "Clark goes west." |
|
| ![]() ![]() ![]() Fate entity which attempts to make things happen, by hook or by crook, including taking preliminary actions to set the player up a bit. |
|
| ![]() P. David Lebling's classic "Spellbreaker" (1986) includes a room where the game cannot be saved: here is an Inform implementation. |
|
| ![]() ![]() ![]() In some of the late 1970s "cave crawl" adventure games, an elaborate scoring system might still leave the player perplexed as to why an apparently perfect play-through resulted in a score which was still one point short of the supposed maximum. Why only 349 out of 350? The answer varied, but sometimes the last point was earned by never saving the game - in other words by playing it right through with nothing to guard against mistakes (except perhaps UNDO for the last command), and in one long session. |
|
| ![]() ![]() An alternative to backdrops when we want something to be visible from a distance but only touchable from one room. |
|
| ![]() ![]() Creating new commands involving the standard compass directions. |
|
| ![]() Kitty Pryde of the X-Men is able to reach through solid objects, so we might implement her with special powers that the player does not have... |
|
| ![]() ![]() A window between two locations. When the window is open, the player can reach through into the other location; when it isn't, access is barred. |
|
| ![]() Visibility set so that looking under objects produces no result unless the player has a light source to shine there (regardless of the light level of the room). |
|
Chapter 13: Relations
| ![]() ![]() ![]() A more formal description of the sentence grammar used by Inform for both assertions and conditions. |
|
| ![]() A wand which, when waved, reveals the concealed items carried by people the player can see. |
|
| ![]() ![]() ![]() A system of telephones on which the player can call distant persons and have conversations. |
|
| ![]() A machine that turns objects into other, similar objects. |
|
| ![]() ![]() ![]() A kind of rope which can be tied to objects and used to anchor the player or drag items from room to room. |
|
| ![]() People are to be grouped into alliances. To kiss someone is to join his or her faction, which may make a grand alliance; to strike them is to give notice of quitting, and to become a lone wolf. |
|
| ![]() ![]() ![]() An adaptive hint system that tracks what the player needs to have seen or to possess in order to solve a given puzzle, and doles out suggestions accordingly. Handles changes in the game state with remarkable flexibility, and allows the player to decide how explicit a nudge he wants at any given moment. |
|
| ![]() A thorough exploration of all the kinds of relations established so far, with the syntax to set and unset them. |
|
| ![]() Building a marble chute track in which a dropped marble will automatically roll downhill. |
|
| ![]() An "underlying" relation which adds to the world model the idea of objects hidden under other objects. |
|
| ![]() ![]() ![]() Clothing for the player that layers, so that items cannot be taken off in the wrong order, and the player's inventory lists only the clothing that is currently visible. |
|
| ![]() ![]() ![]() A conversation in which the main character tries to build logical connections between what the player is saying now and what went immediately before. |
|
| ![]() ![]() ![]() Relations track the relationships between one character and another. Whenever the player meets a relative of someone he already knows, he receives a brief introduction. |
|
| ![]() A case in which relations give characters multiple values of the same kind. |
|
| ![]() ![]() A number of sleuths (the player among them) find themselves aboard the Orient Express, where a murder has taken place, and one of them is apparently the culprit. Naturally they do not agree on whom, but there is physical evidence which may change their minds... |
|
| ![]() ![]() ![]() Some notes on relations from a mathematical point of view, provided only to clarify some technicalities for those who are interested. |
|
| ![]() ![]() ![]() Some notes on relations from the point of view of graph theory. |
|
Chapter 14: Units
| ![]() Smoke which spreads through the rooms of the map, but only every other turn. |
|
| ![]() The player character's height is selected randomly at the start of play. |
|
| ![]() ![]() Hiking Mount Rainier, with attention to which locations are higher and which lower than the present location. |
|
| ![]() ![]() ![]() Creating an alternative system of time for our game, using new units. |
|
| ![]() ![]() ![]() A string which can be cut into arbitrary lengths, and then tied back together. |
|
| ![]() ![]() ![]() A telephone with phone numbers of the standard American seven-digit length. |
|
| ![]() A treatment of money which keeps track of how much the player has on him, and a BUY command which lets him go shopping. |
|
| ![]() ![]() An OFFER price FOR command, allowing the player to bargain with a flexible seller. |
|
| ![]() ![]() ![]() Containers for liquid which keep track of how much liquid they are holding and of what kind, and allow quantities to be moved from one container to another. |
|
| ![]() Receptacles that calculate internal volume and the amount of room available, and cannot be overfilled. |
|
| ![]() ![]() ![]() A more intricate system of money, this time keeping track of the individual denominations of coins and bills, specifying what gets spent at each transaction, and calculating appropriate change. |
|
| ![]() ![]() This example draws together the previous snippets into a working implementation of the weighbridge. |
|
| ![]() ![]() ![]() To give every container a breaking strain, that is, a maximum weight of contents which it can bear - so that to put the lead pig into a paper bag invites disaster. |
|
Chapter 15: Tables
| ![]() ![]() ![]() An elevator which connects any of 27 floors in a luxury hotel. |
|
| ![]() ![]() A cell window through which the player can see people who were in Port Royal in the current year of game-time. |
|
| ![]() A sound recording device that records the noises made by player and non-player actions, then plays them back on demand. |
|
| ![]() ![]() A person who follows a path predetermined and stored in a table, and who can be delayed if the player tries to interact with her. |
|
| ![]() ![]() A deck of cards which can be shuffled and dealt from. |
|
| ![]() ![]() ![]() Implementing liquids that can be mixed, and the components automatically recognized as matching one recipe or another. |
|
| ![]() A REMEMBER command which accepts any text and looks up a response in a table of recollections. |
|
| ![]() ![]() ![]() An expansion on the previous idea, only this time we store information and let characters answer depending on their expertise in a given area. |
|
| ![]() ![]() ![]() Allowing the player to use question words, and using that information to modify the response given by the other character. |
|
| ![]() ![]() ![]() Implementing a FULL SCORE command which lists more information than the regular SCORE command, adding times and rankings, as an extension of the example given in this chapter. |
|
| ![]() ![]() People who respond to conversational gambits, summarize what they said before if asked again, and provide recap of conversation that is past. |
|
| ![]() ![]() A conversation where each topic may have multiple questions and answers associated with it, and where a given exchange can lead to new additions to the list. |
|
| ![]() ![]() ![]() Assortment of equipment defined with price and description, in a table. |
|
| ![]() Using a menu system from an extension, but adding our own material to it for this game. |
|
Chapter 16: Understanding
| ![]() Basics of adding a new command reviewed, for the case of the simple magic word XYZZY. |
|
| ![]() Renaming the directions of the compass so that "white" corresponds to north, "red" to east, "yellow" to south, and "black" to west. |
|
| ![]() ![]() Creating a new command that does require an object to be named; and some comments about the choice of vocabulary, in general. |
|
| ![]() By default, Inform understands GET OFF, GET UP, or GET OUT when the player is sitting or standing on an enterable object. We might also want to add GET DOWN and DOWN as exit commands, though: |
|
| ![]() A generic USE action which behaves sensibly with a range of different objects. |
|
| ![]() ![]() ![]() ![]() Implementation of "Cloak of Darkness", a simple example game that for years has been used to demonstrate the features of IF languages. |
|
| ![]() Making a READ command, distinct from EXAMINE, for legible objects. |
|
| ![]() ![]() Randomized combat in which the damage done depends on what weapons the characters are wielding, and in which an ATTACK IT WITH action is created to replace regular attacking. Also folds a new DIAGNOSE command into the system. |
|
| ![]() Allowing the player to EXAMINE ALL. |
|
| ![]() A (very) simple HELP command, using tokens to accept and interpret the player's text whatever it might be. |
|
| ![]() ![]() ASKing someone about an object rather than about a topic. |
|
| ![]() A safe whose dial can be turned with SPIN SAFE TO 1131, and which will open only with the correct combination. |
|
| ![]() A clock kind that can be set to any time using "the time understood"; may be turned on and off; and will advance itself only when running. Time on the face is also reported differently depending on whether the clock is analog or digital. |
|
| ![]() ![]() A system which allows the author to assign footnotes to descriptions, and permits the player to retrieve them again by number, using "the number understood". Footnotes will automatically number themselves, according to the order in which the player discovers them. |
|
| ![]() A FIND command that allows the player to find a lost object anywhere |
|
| ![]() ![]() A FOLLOW command allowing the player to pursue a person who has just left the room. |
|
| ![]() A book with pages that can be read by number (as in "read page 3 in...") and which accepts relative page references as well (such as "read the last page of...", "read the next page", and so on). |
|
| ![]() A going by name command which does respect movement rules, and accepts names of rooms as commands. |
|
| ![]() ![]() The same functionality, but making the player continue to move until he reaches his destination or a barrier, handling all openable doors on the way. |
|
| ![]() An artist's workshop in which the canvas can be painted in any colour, and where painterly names for pigments ("cerulean") are accepted alongside everyday ones ("blue"). |
|
| ![]() ![]() ![]() Letting the player pick a gender (or perhaps other characteristics) before starting play. |
|
| ![]() Commands to allow the player to lie down in three different ways. |
|
| ![]() Understanding aspect ratios (a unit) in the names of televisions. |
|
| ![]() ![]() The flowerpots once again, but this time arranged so that after the first breakage all undamaged pots are said to be "unbroken", to distinguish them from the others. |
|
| ![]() ![]() The peers of the English realm come in six flavours - Baron, Viscount, Earl, Marquess, Duke and Prince - and must always be addressed properly. While a peerage is for life, it may at the royal pleasure be promoted. |
|
| ![]() ![]() Understanding channels (a number) in the names of televisions. |
|
| ![]() ![]() ![]() A deck of cards with fully implemented individual cards, which can be separately drawn and discarded, and referred to by name. |
|
| ![]() ![]() ![]() Understanding channels (a number) in the names of televisions, with more sophisticated parsing of the change channel action. |
|
| ![]() When a character is not visible, responding to such commands as EXAMINE PETER and PETER, HELLO with a short note that the person in question is no longer visible. |
|
| ![]() A taco shell that can be referred to (when it contains things) in terms of its contents. |
|
| ![]() ![]() An instant camera that spits out photographs of anything the player chooses to take a picture of. |
|
| ![]() ![]() A bookshelf with a number of books, where the player's command to examine something will be interpreted as an attempt to look up titles if the bookshelf is present, but otherwise given the usual response. |
|
| ![]() Multiple potatoes, with rules to make the player drop the hot potato first and pick it up last. |
|
| ![]() Catching all questions that begin with WHO, WHAT, WHERE, and similar question words, and responding with the instruction to use commands, instead. |
|
| ![]() If the player tries to TALK TO a character, suggest alternative modes of conversation. |
|
| ![]() ![]() ![]() Responding to references to a property that the player isn't yet allowed to mention (or when not to use "understand as a mistake"). |
|
| ![]() Building different styles of shirt from component sleeves and collars. |
|
| ![]() ![]() ![]() Similar to "Lemonade", but with bodies of liquid that can never be depleted, and some adjustments to the "fill" command so that it will automatically attempt to fill from a large liquid source if possible. |
|
Chapter 17: Activities
| ![]() ![]() An Encyclopedia set which treats volumes in the same place as a single object, but can also be split up. |
|
| ![]() ![]() ![]() Modifying the rules for examining a device so that all devices have some specific behavior when switched on, which is described at various times. |
|
| ![]() ![]() ![]() Adding a "printing the description of something" activity. |
|
| ![]() Clark Gable in a pin-striped suit and a pink thong. |
|
| ![]() A box of baking soda whose name changes to "completely ineffective baking soda" when it is in a container with something that smells funny. |
|
| ![]() ![]() Bottles with removable stoppers: when the stopper is in the bottle, the bottle is functionally closed, but the stopper can also be removed and used elsewhere. Descriptions of the bottle reflect its state intelligently. |
|
| ![]() ![]() ![]() ![]() Using name-printing rules to keep track of whether the player knows about objects, and also to highlight things he might want to follow up. |
|
| ![]() ![]() Letters which are described differently as a group, depending on whether the player has read none, some, or all of them, and on whether they are alike or unlike. |
|
| ![]() Calling an onion "a single yellow onion" when (and only when) it is being listed as the sole content of a room or container. |
|
| ![]() A magnet which picks up nearby metal objects, and describes itself appropriately in room descriptions and inventory listings, but otherwise goes by its ordinary name. |
|
| ![]() ![]() ![]() Light levels vary depending on the number of candles the player has lit, and this determines whether or not he is able to examine detailed objects successfully. |
|
| ![]() ![]() Changing the way dark rooms are described to avoid the standard Inform phrasing. |
|
| ![]() ![]() ![]() An elaboration of the idea that when light is absent, the player should be given a description of what he can smell and hear, instead. |
|
| ![]() A status line that lists the available exits from the current location. |
|
| ![]() ![]() A status line that lists the available exits from the current location, changing the names of these exits depending on whether the room has been visited or not. |
|
| ![]() Emphasizing the reflective quality of shiny objects whenever they are described in the presence of the torch. |
|
| ![]() ![]() Social dynamics in which groups of people form and circulate during a party. |
|
| ![]() ![]() ![]() ![]() Uses "writing a paragraph about" to make person and object descriptions that vary considerably depending on what else is going on in the room, including some randomized NPC interactions with objects or with each other. |
|
| ![]() ![]() Listing visible characters as a group, then giving some followup details in the same paragraph about specific ones. |
|
| ![]() Two different approaches to adjusting what the player can interact with, compared. |
|
| ![]() Using "deciding the scope" to change the content of lists such as "the list of audible things which can be touched by the player". |
|
| ![]() ![]() A portable magic telescope which allows the player to view items in another room of his choice. |
|
| ![]() ![]() A simple open landscape where the player can see between rooms and will automatically move to touch things in distant rooms. |
|
| ![]() ![]() ![]() An open landscape where the player can see landmarks in nearby areas, with somewhat more complex room descriptions than the previous example, and in which we also account for size differences between things seen at a distance. |
|
| ![]() Prompting the player on how to disambiguate otherwise similar objects. |
|
| ![]() Allowing the player to create models of anything in the game world; parsing the name "model [thing]" or even just "[thing]" to refer to these newly-created models; asking "which do you mean, the model [thing] or the actual [thing]" when there is ambiguity. |
|
| ![]() ![]() ![]() Responding to "EXAMINE WALL" with "In which direction?", and to "EXAMINE NOSE" with "Whose nose do you mean, Frederica's, Betty's, Wilma's or your own?" |
|
| ![]() Supplying missing nouns and second nouns for other characters besides the player. |
|
| ![]() Supplying a default direction for "go", so that "leave", "go", etc., are always interpreted as "out". |
|
| ![]() Understand "fore", "aft", "port", and "starboard", but only when the player is on a vessel. |
|
| ![]() ![]() Accepting adverbs anywhere in a command, registering what the player typed but then cutting them out before interpreting the command. |
|
| ![]() ![]() Responding to the player's input based on keywords only, and overriding the original parser entirely. |
|
| ![]() ![]() ![]() A character who responds to keywords in the player's instructions and remarks, even if there are other words included. |
|
| ![]() ![]() ![]() Overriding the rules to allow the player to eat something without first taking it. |
|
| ![]() Delaying the banner for later. |
|
| ![]() Completely replacing the endgame text and stopping the game without giving the player a chance to restart or restore. |
|
| ![]() ![]() Offering the player a menu of things to read after winning the game. |
|
| ![]() Emptying the status line during the first screen of the game. |
|
Chapter 18: Rulebooks
| ![]() A WAIT [number] MINUTES command which advances through an arbitrary number of turns. |
|
| ![]() ![]() A WAIT UNTIL [time] command which advances until the game clock reaches the correct hour. |
|
| ![]() A soup to which the player can add ingredients, which will have different effects when the player eats. |
|
| ![]() A description text generated based on the propensities of the player-character, following different rulebooks for different characters. |
|
| ![]() ![]() A GIVE command that gets rid of Inform's default refusal message in favor of something a bit more sophisticated. |
|
| ![]() Adding a first look rule that comments on locations when we visit them for the first time, inserting text after objects are listed but before any "every turn" rules might occur. |
|
| ![]() Replacing the standard action report rules to reflect our own design. |
|
| ![]() ![]() ![]() The full grammar Inform uses to parse rule definitions, in a standard computer-science notation. |
|
| ![]() ![]() ![]() A BURN command; flammable objects which light other items in their vicinity and can burn for different periods of time; the possibility of having parts or contents of a flaming item which survive being burnt. |
|
| ![]() Objects that can sink or float in a well, depending on their own properties and the state of the surrounding environment. |
|
| ![]() A cat which reacts to whatever items it has handy, returning the result of a rulebook for further processing. |
|
| ![]() ![]() Expanding the effects of the THROW something AT something command so that objects do make contact with one another. |
|
| ![]() A set of rules determining the attitude a character will take when asked about certain topics. |
|
| ![]() ![]() ![]() A deck of cards with fully implemented individual cards; when the player has a full poker hand, the inventory listing describes the resulting hand accordingly. |
|
| ![]() The Pointy Hat of Liminal Transgression allows its wearer to walk clean through closed doors. |
|
| ![]() Adjust time advancement so the game clock moves fifteen minutes each turn. |
|
| ![]() ![]() A poisonous gas that spreads from room to room, incapacitating or killing the player when it reaches sufficient levels. |
|
| ![]() ![]() Adding a new kind of supporter called a perch, where everything dropped lands on the floor. |
|
| ![]() ![]() ![]() Poisonous gas again, only this time it sinks. |
|
| ![]() ![]() ![]() Novice mode that prefaces every prompt with a list of possible commands the player could try, and highlights every important word used, to alert players to interactive items in the scenery. |
|
| ![]() ![]() ![]() ![]() People who wander around the map performing various errands, and in the process spread a disease which only the player can eradicate. |
|
| ![]() A set of actions which do not take any game time at all. |
|
| ![]() Adding a rule before the basic accessibility rule that will prevent the player from touching electrified objects under the wrong circumstances. |
|
Chapter 19: Figures, Sounds and Files
| ![]() Keeping a preference file that could be loaded by any game in a series. |
|
| ![]() ![]() Remembering the fates of all previous explorers of the labyrinth. |
|
| ![]() Notebooks in which the player can record assorted notes throughout play. |
|
| ![]() ![]() An expansion on the notebook, allowing the player somewhat more room in which to type his recorded remark. |
|
| ![]() ![]() The sorcerer's mirror can, when held up high, form an impression of its surroundings which it then preserves. |
|
| ![]() ![]() ![]() Using external files, together with a simple Unix script running in the background, to provide live news headlines inside a story file. |
|
Chapter 20: Publishing
| ![]() Creating a floorplan of the cathedral using the locations from previous examples. |
|
| ![]() Port Royal scenario given instructions for an EPS map. |
|
| ![]() Creating a map of Greece using the locations from previous examples. |
|
Chapter 21: Extensions
| ![]() ![]() Exemplifying the kind of source we might use in writing extensions for kitchen and bathroom appliances. |
|
| ![]() ![]() Displaying the card suits from our deck of cards with red and black colored unicode symbols. |
|
| ![]() Making [is-are] and [it-they] say tokens that will choose appropriately based on the last object mentioned. |
|
| ![]() ![]() ![]() Asking the player to select a gender to begin play. |
|
| ![]() A status line which has only the name of the location, centered. |
|
| ![]() Making paired italic and boldface tags like those used by HTML for web pages. |
|
| ![]() Making a "by atmosphere" token, allowing us to design our own text variations such as "[one of]normal[or]gloomy[or]scary[by atmosphere]". |
|
| ![]() ![]() Making a "by viewpoint" token, allowing us to design our own text variations such as "[one of]ugly[or]rather cute[by viewpoint]" depending on the identity of the player at the moment. |
|