inform 7 designers manual

761
Inform 7 Designer's Manual Public Beta Release 3R85 As converted to PDF by Mikael Segercrantz 2006 Graham Nelson and Emily Short 6/26/2006

Upload: idiopathos

Post on 07-Mar-2015

463 views

Category:

Documents


5 download

TRANSCRIPT

In

2006

Inform 7 Designer's ManualPublic Beta Release 3R85As converted to PDF by Mikael Segercrantz

Graham Nelson and Emily Short 6/26/2006

Inform 7 Designer's Manual Brief Table of ContentsCHAPTER 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. THE SKEIN CONTEXT MENU 1.9. THE MOUSEOVER BUTTONS IN THE SKEIN 1.10. THE TRANSCRIPT 1.11. THE INSPECTOR CHAPTER 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. ACCENTED LETTERS 2.13. UNICODE CHARACTERS 2.14. USE OPTIONS 2.15. BUMPING INTO LIMITS 2.16. WHAT TO DO ABOUT A BUG? 2.17. DOES INFORM REALLY UNDERSTAND ENGLISH? CHAPTER 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 Graham Nelson and Emily Short

i

1 1 2 3 3 4 5 5 6 6 7 7 9 9 9 9 10 11 12 12 13 14 14 15 15 17 20 21 22 22 25 25 26 29 31 33 35 36 37

ii

Inform 7 Designer's Manual39 40 40 43 45 47 48 49 50 51 52 52 53 54 54 58 60 62 63 67 67 68 69 71 72 76 77 78 81 82 84 86 86 88 88 91 91 93 95 95 95 96

3.9. BACKDROPS 3.10. PROPERTIES HOLDING TEXT 3.11. THREE 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 HOLDALL S 3.22. FOOD 3.23. PARTS OF THINGS 3.24. CONCEALMENT 3.25. THE LOCATION OF SOMETHING 3.26. DIRECTIONS 3.27. REVIEW OF CHAPTER 3 CHAPTER 4: KINDS 4.1. NEW KINDS 4.2. DEGREES OF CERTAINTY 4.3. PLURAL ASSERTIONS 4.4. DUPLICATES 4.5. ASSEMBLIES AND BODY PARTS 4.6. NEW EITHER/OR PROPERTIES 4.7. NEW VALUE PROPERTIES 4.8. TEXT WITH SUBSTITUTIONS 4.9. TEXT WITH NUMBERS 4.10. TEXT WITH LISTS 4.11. TEXT WITH VARIATIONS 4.12. LINE BREAKS AND PARAGRAPH BREAKS 4.13. TEXT WITH TYPE STYLES 4.14. KINDS OF VALUE 4.15. USING NEW KINDS OF VALUE IN PROPERTIES 4.16. CONDITIONS OF THINGS 4.17. VALUES THAT VARY 4.18. POSTSCRIPT ON SIMULATION CHAPTER 5: DESCRIPTIONS 5.1. WHAT ARE DESCRIPTIONS? 5.2. ADJECTIVES AND NOUNS 5.3. SOURCES OF ADJECTIVES Graham Nelson and Emily Short

Inform 7 Designer's Manual5.4. DEFINING NEW ADJECTIVES 5.5. WHICH AND WHO 5.6. TO BE ABLE TO SEE AND TOUCH 5.7. ADJACENT ROOMS AND ROUTES THROUGH THE MAP 5.8. ALL, EACH AND EVERY 5.9. COUNTING WHILE COMPARING 5.10. THE LEXICON CHAPTER 6: BASIC ACTIONS 6.1. GIVING INSTRUCTIONS 6.2. SAY 6.3. ACTIONS 6.4. INSTEAD RULES 6.5. BEFORE RULES 6.6. TRY AND TRY SILENTLY 6.7. AFTER RULES 6.8. READING AND TALKING 6.9. THE OTHER FOUR SENSES 6.10. RULES APPLYING TO MORE THAN ONE ACTION 6.11. ALL ACTIONS AND EXCEPTIONAL ACTIONS 6.12. THE NOUN AND THE SECOND NOUN 6.13. IN ROOMS AND REGIONS 6.14. IN THE PRESENCE OF, AND WHEN 6.15. GOING FROM, GOING TO 6.16. GOING BY, GOING THROUGH, GOING WITH 6.17. KINDS OF ACTION 6.18. REPEATED ACTIONS 6.19. ACTIONS ON CONSECUTIVE TURNS 6.20. POSTSCRIPT ON ACTIONS CHAPTER 7: CHANGE 7.1. CHANGE OF VALUES THAT VARY 7.2. CHANGING THE COMMAND PROMPT 7.3. CHANGING THE STATUS LINE 7.4. CHANGE OF EITHER/OR PROPERTIES 7.5. CHANGE OF PROPERTIES WITH VALUES 7.6. WHOSE PROPERTY? 7.7. MOVING THINGS 7.8. MOVING THE PLAYER 7.9. REMOVING THINGS FROM PLAY 7.10. NOW... 7.11. CHECKING ON WHEREABOUTS 7.12. MORE FLEXIBLE DESCRIPTIONS OF WHEREABOUTS 7.13. CALLING NAMES Graham Nelson and Emily Short

iii

96 97 98 99 102 108 110 111 111 111 112 113 114 116 117 118 121 122 123 124 126 126 128 132 133 135 142 142 143 143 143 145 146 147 149 150 151 153 154 156 156 157

iv

Inform 7 Designer's Manual158 159 159 162 165 165 165 166 167 167 169 174 176 176 176 177 177 181 182 186 187 189 189 189 192 194 198 200 202 206 215 217 217 218 218 219 221 222 222 224

7.14. COUNTING THE NUMBER OF THINGS 7.15. LOOKING AT CONTAINMENT BY HAND 7.16. RANDOMNESS 7.17. RANDOM CHOICES OF THINGS CHAPTER 8: TIME 8.1. WHEN PLAY BEGINS 8.2. AWARDING POINTS 8.3. INTRODUCING TABLES: RANKINGS 8.4. DISPLAYING QUOTATIONS 8.5. WHEN PLAY ENDS 8.6. EVERY TURN 8.7. THE TIME OF DAY 8.8. TELLING THE TIME 8.9. APPROXIMATE TIMES, LENGTHS OF TIME 8.10. COMPARING AND SHIFTING TIMES 8.11. CALCULATING TIMES 8.12. FUTURE EVENTS 8.13. ACTIONS AS CONDITIONS 8.14. THE PAST AND PERFECT TENSES 8.15. HOW MANY TIMES? 8.16. HOW MANY TURNS? CHAPTER 9: SCENES 9.1. INTRODUCTION TO SCENES 9.2. CREATING A SCENE 9.3. USING THE SCENE INDEX 9.4. DURING SCENES 9.5. LINKING SCENES TOGETHER 9.6. MORE GENERAL LINKAGES 9.7. MULTIPLE BEGINNINGS AND REPEATS 9.8. MULTIPLE ENDINGS 9.9. REVIEW OF CHAPTER 9 CHAPTER 10: PHRASES 10.1. FITTING VALUES INTO PHRASES 10.2. THE PHRASEBOOK 10.3. PATTERN MATCHING 10.4. CONDITIONS AND QUESTIONS 10.5. IF 10.6. WHILE 10.7. BEGIN AND END 10.8. OTHERWISE Graham Nelson and Emily Short

Inform 7 Designer's Manual10.9. REPEAT 10.10. REPEAT RUNNING THROUGH 10.11. PHRASE OPTIONS 10.12. LET AND TEMPORARY VARIABLES 10.13. NEW CONDITIONS, NEW ADJECTIVES 10.14. PHRASES TO DECIDE OTHER THINGS 10.15. THE VALUE AFTER AND THE VALUE BEFORE 10.16. IN WHAT ORDER? 10.17. AMBIGUITIES 10.18. REVIEW OF CHAPTER 10 CHAPTER 11: ADVANCED ACTIONS 11.1. A RECAP OF ACTIONS 11.2. HOW ACTIONS ARE PROCESSED 11.3. GIVING INSTRUCTIONS TO OTHER PEOPLE 11.4. PERSUASION 11.5. UNSUCCESSFUL ATTEMPTS 11.6. SPONTANEOUS ACTIONS BY OTHER PEOPLE 11.7. NEW ACTIONS 11.8. IRREGULAR ENGLISH VERBS 11.9. CHECK, CARRY OUT, REPORT 11.10. MAKING ACTIONS WORK FOR OTHER PEOPLE 11.11. CHECK RULES FOR ACTIONS BY OTHER PEOPLE 11.12. REPORT RULES FOR ACTIONS BY OTHER PEOPLE 11.13. OUT OF WORLD ACTIONS 11.14. REACHING INSIDE RULES 11.15. CHANGING REACHABILITY 11.16. CHANGING VISIBILITY 11.17. GUIDELINES ON HOW TO WRITE RULES ABOUT ACTIONS CHAPTER 12: RELATIONS 12.1. SENTENCE VERBS 12.2. WHAT SENTENCES ARE MADE UP FROM 12.3. WHAT ARE RELATIONS? 12.4. TO CARRY, TO WEAR, TO HAVE 12.5. MAKING NEW RELATIONS 12.6. MAKING RECIPROCAL RELATIONS 12.7. RELATIONS IN GROUPS 12.8. THE BUILT-IN VERBS AND THEIR MEANINGS 12.9. DEFINING NEW ASSERTION VERBS 12.10. THE INVENTION OF LOVE 12.11. DEFINING NEW PREPOSITIONS 12.12. INDIRECT RELATIONS 12.13. RELATIONS WHICH EXPRESS CONDITIONS Graham Nelson and Emily Short

v

224 226 228 231 233 235 238 240 241 241 245 245 245 247 249 251 254 258 261 263 267 272 274 277 278 279 282 283 287 287 288 290 290 292 292 296 302 303 308 311 318 321

vi

Inform 7 Designer's Manual322 323 327 327 327 329 330 330 331 333 333 334 335 337 337 343 345 351 353 353 353 354 358 359 360 362 363 364 366 367 370 376 382 388 391 396 397 399 399 402

12.14. RELATIONS INVOLVING VALUES 12.15. WHAT ARE RELATIONS FOR? CHAPTER 13: UNITS 13.1. THE MEASURE OF ALL THINGS 13.2. NUMBERS 13.3. WHEREABOUTS ON A SCALE? 13.4. COMPARING OBJECTS 13.5. SUPERLATIVES 13.6. UNITS 13.7. MORE ON SPECIFICATIONS 13.8. MULTIPLE-NUMBER SPECIFICATIONS 13.9. THE PARTS OF A NUMBER SPECIFICATION 13.10. UNDERSTANDING SPECIFIED NUMBERS 13.11. LIMITS ON THE SIZE OF NUMBERS 13.12. ARITHMETIC WITH UNITS 13.13. MULTIPLICATION OF UNITS 13.14. TOTALS 13.15. MAKING THE VERB TO WEIGH CHAPTER 14: TABLES 14.1. LAYING OUT TABLES 14.2. LOOKING UP ENTRIES 14.3. CORRESPONDING ENTRIES 14.4. CHANGING ENTRIES 14.5. CHOOSING ROWS 14.6. REPEATING THROUGH TABLES 14.7. BLANK ENTRIES 14.8. BLANK COLUMNS 14.9. BLANK ROWS 14.10. ADDING AND REMOVING ROWS 14.11. SORTING 14.12. LISTED IN... 14.13. TOPIC COLUMNS 14.14. ANOTHER SCORING EXAMPLE 14.15. VARYING WHICH TABLE TO LOOK AT 14.16. DEFINING THINGS WITH TABLES 14.17. DEFINING VALUES WITH TABLES 14.18. TABLE CONTINUATIONS CHAPTER 15: UNDERSTANDING 15.1. UNDERSTAND 15.2. NEW COMMANDS FOR OLD GRAMMAR Graham Nelson and Emily Short

Inform 7 Designer's Manual15.3. OVERRIDING EXISTING COMMANDS 15.4. STANDARD TOKENS OF GRAMMAR 15.5. THE TEXT TOKEN 15.6. VISIBLE VS TOUCHABLE 15.7. ACTIONS APPLYING TO KINDS OF VALUE 15.8. UNDERSTANDING ANY, UNDERSTANDING ROOMS 15.9. UNDERSTANDING KINDS OF VALUE 15.10. COMMANDS CONSISTING ONLY OF NOUNS 15.11. UNDERSTANDING VALUES 15.12. THIS/THAT 15.13. NEW TOKENS 15.14. TOKEN CAN PRODUCE VALUES 15.15. UNDERSTANDING THINGS BY THEIR PROPERTIES 15.16. CONTEXT: UNDERSTANDING WHEN 15.17. UNDERSTANDING MISTAKES 15.18. PRECEDENCE CHAPTER 16: ACTIVITIES 16.1. WHAT ARE ACTIVITIES? 16.2. HOW ACTIVITIES WORK 16.3. RULES APPLIED TO ACTIVITIES 16.4. WHILE CLAUSES 16.5. NEW ACTIVITIES 16.6. BEGINNING AND ENDING ACTIVITIES MANUALLY 16.7. INTRODUCTION TO THE LIST OF BUILT-IN ACTIVITIES 16.8. DECIDING THE CONCEALED POSSESSIONS OF SOMETHING 16.9. PRINTING THE NAME OF SOMETHING 16.10. PRINTING THE PLURAL NAME OF SOMETHING 16.11. LISTING CONTENTS OF SOMETHING 16.12. GROUPING TOGETHER SOMETHING 16.13. PRINTING ROOM DESCRIPTION DETAILS OF SOMETHING 16.14. PRINTING A REFUSAL TO ACT IN THE DARK 16.15. PRINTING THE ANNOUNCEMENT OF DARKNESS 16.16. PRINTING THE NAME OF A DARK ROOM 16.17. PRINTING THE DESCRIPTION OF A DARK ROOM 16.18. CONSTRUCTING THE STATUS LINE 16.19. WRITING A PARAGRAPH ABOUT 16.20. LISTING NONDESCRIPT THINGS OF SOMETHING 16.21. DECIDING THE SCOPE OF SOMETHING 16.22. SUPPLYING A MISSING NOUN/SECOND NOUN 16.23. READING A COMMAND 16.24. PRINTING A PARSER ERROR 16.25. DECIDING WHETHER ALL INCLUDES 16.26. PRINTING THE BANNER TEXT 16.27. PRINTING THE PLAYER'S OBITUARY Graham Nelson and Emily Short

vii

406 407 408 410 412 415 417 418 420 421 422 423 423 428 429 432 439 439 439 440 440 441 446 446 447 447 454 455 456 456 458 459 460 460 463 465 473 475 485 486 492 493 494 494

viii

Inform 7 Designer's Manual495 497 497 498 499 503 507 510 516 520 521 536 537 543 547 547 547 548 549 550 550 551 551 552 552 553 554 554 555 556 558 558 559 560 561 562 564 568 569 569

16.28. AMUSING A VICTORIOUS PLAYER CHAPTER 17: RULEBOOKS 17.1. ON RULES 17.2. NAMED RULES AND RULEBOOKS 17.3. NEW RULES 17.4. NEW RULEBOOKS 17.5. PROCEDURAL RULES 17.6. PHRASES CONCERNING RULES 17.7. SUCCESS AND FAILURE 17.8. CONSIDER AND ABIDE 17.9. CONSIDER IS NOT THE SAME AS FOLLOW 17.10. IN WHAT ORDER? 17.11. FIRST AND LAST RULES 17.12. REVIEW OF CHAPTER 17 CHAPTER 18: PUBLISHING 18.1. FINDING A READERSHIP 18.2. HOW A NOVEL IS PUBLISHED 18.3. HOW INTERACTIVE FICTION IS PUBLISHED 18.4. BIBLIOGRAPHIC DATA 18.5. GENRES 18.6. THE LIBRARY CARD 18.7. THE TREATY OF BABEL AND THE IFID 18.8. THE RELEASE BUTTON 18.9. THE JOY OF FEELIES 18.10. THE MATERIALS FOLDER 18.11. COVER ART 18.12. AN INTRODUCTORY BOOKLET 18.13. A WEBSITE 18.14. WEBSITE TEMPLATES 18.15. WALKTHROUGH SOLUTIONS 18.16. RELEASING THE SOURCE TEXT 18.17. IMPROVING THE INDEX MAP 18.18. PRODUCING AN EPS FORMAT MAP 18.19. SETTINGS IN THE MAP-MAKER 18.20. TABLE OF MAP-MAKER SETTINGS 18.21. KINDS OF VALUE ACCEPTED BY THE MAP-MAKER 18.22. TITLING AND ABBREVIATIONS 18.23. RUBRICS CHAPTER 19: EXTENSIONS 19.1. THE STATUS OF EXTENSIONS Graham Nelson and Emily Short

Inform 7 Designer's Manual19.2. THE STANDARD RULES 19.3. AUTHORSHIP 19.4. A SIMPLE EXAMPLE EXTENSION 19.5. VERSION NUMBERING 19.6. EXTENSIONS CAN INCLUDE OTHER EXTENSIONS 19.7. EXTENSIONS IN THE INDEX 19.8. EXTENSION DOCUMENTATION 19.9. EXAMPLES IN THE EXTENSION DOCUMENTATION 19.10. IMPLICATIONS 19.11. MAKING NEW ASSERTION SENTENCES 19.12. USING INFORM 6 WITHIN INFORM 7 19.13. DEFINING PHRASES IN INFORM 6 19.14. PHRASES TO DECIDE IN INFORM 6 19.15. HANDLING PHRASE OPTIONS 19.16. TYPES ARE NOT KINDS OF VALUE 19.17. CATALOGUE OF NAMED INFORM 7 TYPES 19.18. MAKING AND TESTING USE OPTIONS 19.19. LONGER EXTRACTS OF INFORM 6 CODE 19.20. INFORM 6 OBJECTS AND CLASSES 19.21. INFORM 6 GRAMMAR, ACTIONS AND RULES 19.22. INFORM 6 PROPERTIES AND ATTRIBUTES APPENDIX A: BUILT-IN EXTENSIONS A.1. STANDARD RULES BY GRAHAM NELSON (VERSION 1/060430) A.2. RIDEABLE VEHICLES BY GRAHAM NELSON (VERSION 1) A.3. UNICODE CHARACTER NAMES BY GRAHAM NELSON (VERSION 1) A.4. UNICODE FULL CHARACTER NAMES BY GRAHAM NELSON (VERSION 1) A.5. BASIC HELP MENU BY EMILY SHORT (VERSION 1) A.6. BASIC SCREEN EFFECTS BY EMILY SHORT (VERSION 2) A.7. CASE MANAGEMENT BY EMILY SHORT (VERSION 1) A.8. COMPLEX LISTING BY EMILY SHORT (VERSION 2) A.9. LOCKSMITH BY EMILY SHORT (VERSION 2) A.10. MENUS BY EMILY SHORT (VERSION 1) A.11. PLURALITY BY EMILY SHORT (VERSION 1) A.12. PUNCTUATION REMOVAL BY EMILY SHORT (VERSION 1) APPENDIX B: EXTENSIONS FROM THE INFORM SITE B.1. WHOWHAT BY DAVID CORNELSON (VERSION 4/060624) B.2. BASIC PLANS BY NATE CULL (VERSION 2/060615) B.3. PLANNER BY NATE CULL (VERSION 1/060528) B.4. ADAPTIVE HINTS BY ERIC EVE (VERSION 1/060611) B.5. BULK LIMITER BY ERIC EVE (VERSION 1/060602) B.6. EXIT LISTER BY ERIC EVE (VERSION 1/060605) B.7. CUSTOM LIBRARY MESSAGES BY DAVID FISHER (VERSION 6/060707) Graham Nelson and Emily Short

ix

570 570 570 571 572 572 573 574 575 576 576 577 579 580 580 581 583 584 585 585 586 587 587 587 589 590 590 591 595 596 601 604 606 607 609 609 610 612 615 621 622 624

x

Inform 7 Designer's Manual659 662 663 663 666 669 671 676 677 681 682 682 685 695 699 701 702 703 704 707 709 709 711 711 713 715 717 719 719

B.8. DEFAULT MESSAGES BY DAVID FISHER (VERSION 3/060707) B.9. EXTENDED BANNER BY STEPHEN GRANADE (VERSION 1) B.10. CONSIDERATE HOLDALL BY JON INGOLD (VERSION 1) B.11. FAR AWAY BY JON INGOLD (VERSION 1) B.12. ADVANCED HELP MENU BY JOHN W KENNEDY (VERSION 1) B.13. REACTABLE QUIPS BY MICHAEL MARTIN (VERSION 2) B.14. ACTION QUEUING BY JESSE MCGREW (VERSION 2) B.15. CONDITIONAL UNDO BY JESSE MCGREW (VERSION 1/061206) B.16. STRING BUFFERS BY JESSE MCGREW (VERSION 1) B.17. SECRET DOORS BY ANDREW OWEN (VERSION 1) B.18. DIRECTIONAL FACING BY TIM PITTMAN (VERSION 1) B.19. ACHIEVEMENTS BY MIKAEL SEGERCRANTZ (VERSION 1/060605) B.20. ATMOSPHERIC EFFECTS BY MIKAEL SEGERCRANTZ (VERSION 4/060624) B.21. INSTEAD OF GOING BY MIKAEL SEGERCRANTZ (VERSION 3/060706) B.22. MULTIPLE EXITS BY MIKAEL SEGERCRANTZ (VERSION 1/060706) B.23. SHIPBOARD DIRECTIONS BY MIKAEL SEGERCRANTZ (VERSION 2/060703) B.24. CHANGED IMPLICIT ACTION BY EMILY SHORT (VERSION 1) B.25. EMPTY TRANSFER BY EMILY SHORT (VERSION 1) B.26. FACING BY EMILY SHORT (VERSION 1) B.27. GREEK TO ME BY ADAM THORNTON (VERSION 1) APPENDIX C: OTHER EXTENSIONS C.1. SIMPLE CYOA BY MARK TILFORD APPENDIX D: HISTORY OF CHANGES D.1. 3R85 (26 JUNE 2006) D.2. 3P53 (9 JUNE 2006) D.3. 3M43 (21 MAY 2006) D.4. 3L95 (14 MAY 2006) D.5. 3K56 (4 MAY 2006) D.6. 3K27 (30 APRIL 2006)

Graham Nelson and Emily Short

Inform 7 Designer's Manual Full Table of ContentsCHAPTER 1: WELCOME TO INFORM 1.1. PREFACE

xi

1 1 1 1 2 3 3 4 5 5 6 6 7 7 9 9 9 9 10 11 12 12 13 14 14 15 15 17 18 18 20 21 22 22 25 25 25 25

1)

EXAMPLE: ABOUT THE EXAMPLES An explanation of the examples in this documentation, and the asterisks attached to them.

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. THE SKEIN CONTEXT MENU 1.9. THE MOUSEOVER BUTTONS IN THE SKEIN 1.10. THE TRANSCRIPT 1.11. THE INSPECTOR CHAPTER 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. ACCENTED LETTERS 2.13. UNICODE CHARACTERS

2)

EXAMPLE: THE BER-COMPLTE CLAVIER This example provides a fairly stringent test of exotic lettering.

2.14. USE OPTIONS 2.15. BUMPING INTO LIMITS 2.16. WHAT TO DO ABOUT A BUG? 2.17. DOES INFORM REALLY UNDERSTAND ENGLISH? CHAPTER 3: THINGS 3.1. DESCRIPTIONS

3)

EXAMPLE: VERBOSITY Making rooms give full descriptions each time we enter, even if we have visited before. Graham Nelson and Emily Short

xii

Inform 7 Designer's ManualEXAMPLE: SLIGHTLY WRONG A room whose description changes slightly after our first visit there. EXAMPLE: PORT ROYAL 1 A partial implementation of Port Royal, Jamaica, set before the earthquake of 1692 demolished large portions of the city. 26 26 26 27 27 29 29 29 30 30 31 32 32 33 34 34 34 34 35 35 35 36 37 37 37 38 38 38 38 39 40 40 40 40 41 41 42 42 43 44 44

4)

3.2. ROOMS AND THE MAP

5)

EXAMPLE: UP AND UP Adding a short message as the player approaches a room, before the room description itself appears. 3.3. ONE-WAY CONNECTIONS

6)

7)

EXAMPLE: PORT ROYAL 2 Further implementation of Port Royal, with a few more unusual map connections. EXAMPLE: PORT ROYAL 3 Division of Port Royal into regions. EXAMPLE: MIDSUMMER DAY The above example accumulated into one place, to experiment with.

3.4. REGIONS AND THE INDEX MAP

8)

3.5. KINDS

9) 10)

EXAMPLE: FIRST NAME BASIS Allowing the player to use different synonyms to refer to something. 3.6. EITHER/OR PROPERTIES

11)

EXAMPLE: TAMED Examples of a container and a supporter that can be entered. EXAMPLE: DISAPPOINTMENT BAY 1 A running example in this chapter, Disappointment Bay, involves chartering a boat. This is the first step: creating the cabin. EXAMPLE: REPLANTING Changing the response when the player tries to take something that is scenery. EXAMPLE: DISAPPOINTMENT BAY 2 Disappointment Bay: creating some of the objects in the cabin's description. EXAMPLE: DISAPPOINTMENT BAY 3 Disappointment Bay: adding a view of the glacier.

3.7. PROPERTIES DEPEND ON KIND

12)

3.8. SCENERY

13) 14)

3.9. BACKDROPS

15)

3.10. PROPERTIES HOLDING TEXT 3.11. THREE DESCRIPTIONS OF THINGS

16) 17)

EXAMPLE: DISAPPOINTMENT BAY 4 Disappointment Bay: fleshing out the descriptions of things on the boat. EXAMPLE: LAURA Some general advice about creating objects with unusual or awkward names, and a discussion of the use of printed names. EXAMPLE: DISAPPOINTMENT BAY 5 Disappointment Bay: adding the door and the deck of our charter boat. Graham Nelson and Emily Short

3.12. DOORS

18)

Inform 7 Designer's Manual19) 20)EXAMPLE: ESCAPE Window that can be climbed through or looked through. EXAMPLE: GARIBALDI 1 Providing a security readout device by which the player can check the status of all the doors in the game. EXAMPLE: DISAPPOINTMENT BAY 6 Di sappoi ent Bay:l ng up the charter boat fshi rods. ntm ocki s i ng EXAMPLE: NEIGHBORHOOD WATCH A locked door that can be locked or unlocked without a key from one side, but not from the other. EXAMPLE: DISAPPOINTMENT BAY 7 Disappointment Bay: making the radar and instruments switch on and off. EXAMPLE: DOWN BELOW A light switch which makes the room it is in dark or light.

xiii

44 44 45 45 45 46 46 46 46 47 48 48 48 48 48 49 49 49 50 50 50 51 51 51 52 52 53 53 53 54 54 54 54 55 55 56 56 58 59 59 60 61 Graham Nelson and Emily Short

3.13. LOCKS AND KEYS

21) 22)

3.14. DEVICES AND DESCRIPTIONS

23) 24)

3.15. LIGHT AND DARKNESS 3.16. VEHICLES AND PUSHABLE THINGS

25) 26)

EXAMPLE: PEUGEOT A journey from one room to another that requires the player to be on a vehicle.

EXAMPLE: DISAPPOINTMENT BAY 8 Disappointment Bay: a pushable chest of ice for the boat. 3.17. MEN, WOMEN AND ANIMALS

27)

EXAMPLE: DISAPPOINTMENT BAY 9 Disappointment Bay: enter the charter boat's Captain.

3.18. ARTICLES AND PROPER NAMES 3.19. CARRYING CAPACITY 3.20. POSSESSIONS AND CLOTHING EXAMPLE: DISAPPOINTMENT BAY 10 Disappointment Bay: things for the player and the characters to wear and carry. 3.21. THE PLAYER HOLDALL S

28)

29)

EXAMPLE: DISAPPOINTMENT BAY 11 Disappointment Bay: making a holdall of the backpack.

3.22. FOOD 3.23. PARTS OF THINGS

30) 31)

EXAMPLE: BROWN A red sticky label which can be attached to anything in the game, or removed again. EXAMPLE: DISAPPOINTMENT BAY 12 A final trip to Disappointment Bay: the scenario turned into a somewhat fuller scene, with various features that have not yet been explained.

3.24. CONCEALMENT 32) EXAMPLE: SEARCH AND SEIZURE A smuggler who has items, some of which are hidden. 3.25. THE LOCATION OF SOMETHING

33)

EXAMPLE: VAN HELSING

xiv

Inform 7 Designer's Manual61 62 62 62 63 67 67 68 68 68 69 69 69 70 70 71 71 71 72 73 73 74 74 75 75 76 77 77 77 78 78 78 79 79 80 80 81 81 81

A character who approaches the player, then follows him from room to room. 3.26. DIRECTIONS EXAMPLE: PRISONER DILEMMA S A button that causes a previously non-existent exit to come into being. 3.27. REVIEW OF CHAPTER 3 CHAPTER 4: KINDS 4.1. NEW KINDS 4.2. DEGREES OF CERTAINTY

34)

35)

EXAMPLE: ODIN Replacing You see nothing special... with a different default message for looking at something nondescript. EXAMPLE: SOMETHING NARSTY A staircase always open and never openable. EXAMPLE: GET ME TO THE CHURCH ON TIME Using kinds of clothing to prevent the player from wearing several pairs of trousers at the same time. EXAMPLE: EARLY CHILDHOOD A child's set of building blocks, which come in three different colours - red, green and blue - but which can be repainted during play. EXAMPLE: BEING PREPARED A kind of jackets, which always includes a container called a pocket. EXAMPLE: MODEL SHOP An on/off button which controls whatever device it is part of.

36)

4.3. PLURAL ASSERTIONS

37)

4.4. DUPLICATES

38)

4.5. ASSEMBLIES AND BODY PARTS

39) 40) 41)

EXAMPLE: U-STOR-IT A chest kind which consists of a container which has a lid as a supporter. 4.6. NEW EITHER/OR PROPERTIES

42)

EXAMPLE: CHANGE OF BASIS Implementing sleeping and wakeful states. EXAMPLE: WOULD YOU...? Adding new properties to objects, and checking for their presence. EXAMPLE: FIFTY WAYS TO LEAVE YOUR LARVA Using text substitutions to make characters reply differently under the same circumstances. EXAMPLE: FIFTY TIMES FIFTY WAYS Writing your own rules for how to carry out substitutions. EXAMPLE: BALLPARK 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. Graham Nelson and Emily Short

4.7. NEW VALUE PROPERTIES

43)

4.8. TEXT WITH SUBSTITUTIONS

44) 45)

4.9. TEXT WITH NUMBERS

46)

Inform 7 Designer's Manual4.10. TEXT WITH LISTS

xv

82 83 83 83 83 84 85 85 85 85 85 85 86 86 86 86 87 87 88 88 89 89 90 90 91 91 92 92 93 95 95 95 96 96 96 96 97 98

47)

EXAMPLE: CONTROL CENTER Objects which automatically include a description of their component parts whenever they are examined. EXAMPLE: TINY GARDEN A lawn made up of several rooms, with part of the description written automatically. EXAMPLE: WHEN? A door which says ...leads east in one place and ...leads west in the other. EXAMPLE: WHENCE? A kind of door that automatically describes the direction it opens and what lies on the far side (if that other room has been visited). EXAMPLE: INVENTORY LISTING WITH SEPARATE CARRIED AND WORN ITEMS Separate the pl ayer i s nventory lsti i tw o parts,so that i says you are carrying... and then (if i ng n t the player is wearing anything) You are also wearing... EXAMPLE: EXAMINING EVERYTHING AT ONCE Making the SEARCH command examine all the scenery in the current location. EXAMPLE: GARIBALDI 2 Adding coloured text to the example of door-status readouts.

48)

4.11. TEXT WITH VARIATIONS

49) 50)

51)

4.12. LINE BREAKS AND PARAGRAPH BREAKS

52)

4.13. TEXT WITH TYPE STYLES

53)

4.14. KINDS OF VALUE 4.15. USING NEW KINDS OF VALUE IN PROPERTIES

54)

EXAMPLE: THE CRANE'S LEG 1 A description text that automatically highlights the ways in which objects differ from a standard member of its kind. EXAMPLE: SIGNS AND PORTENTS Signpost that points to various destinations, depending on how the player has turned it.

55)

4.16. CONDITIONS OF THINGS 4.17. VALUES THAT VARY

56)

EXAMPLE: REAL ADVENTURERS NEED NO HELP Allowing the player to turn off all access to hints for the duration of the game, in order to avoid the temptation to rely on them overmuch.

4.18. POSTSCRIPT ON SIMULATION CHAPTER 5: DESCRIPTIONS 5.1. WHAT ARE DESCRIPTIONS? 5.2. ADJECTIVES AND NOUNS 5.3. SOURCES OF ADJECTIVES 5.4. DEFINING NEW ADJECTIVES

57)

EXAMPLE: FINISHING SCHOOL The another adjective for rules such as in the presence of another person.

5.5. WHICH AND WHO 5.6. TO BE ABLE TO SEE AND TOUCH Graham Nelson and Emily Short

xvi

Inform 7 Designer's ManualEXAMPLE: LEAN AND HUNGRY A thief who will identify and take any valuable thing lying around that he is able to touch. EXAMPLE: ALL ROADS LEAD TO MARS 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. EXAMPLE: MISTRESS OF ANIMALS A person who moves randomly between rooms of the map. EXAMPLE: HOTEL STECHELBERG Signposts such as those provided on hiking paths in the Swiss Alps, which show the correct direction and hiking time to all other locations. EXAMPLE: A VIEW OF GREEN HILLS A LOOK [direction] command which allows the player to see descriptions of the nearby landscape. EXAMPLE: REVENGE OF THE FUZZY TABLE A small game about resentful furniture and inconvenient objects. EXAMPLE: YOLK OF GOLD Set of drawers where the item the player is searching for is always in the last drawer he opens, regardless of the order of opening. 98 98 99 100 100 101 101 101 101 102 102 102 103 103 108 108 108 110 111 111 111 112 113 113 113 114 114 114 115 115 115 115 116 117 117 117 117 117 118

58)

5.7. ADJACENT ROOMS AND ROUTES THROUGH THE MAP

59)

60) 61)

62)

5.8. ALL, EACH AND EVERY

63)

5.9. COUNTING WHILE COMPARING

64)

5.10. THE LEXICON CHAPTER 6: BASIC ACTIONS 6.1. GIVING INSTRUCTIONS 6.2. SAY 6.3. ACTIONS 6.4. INSTEAD RULES

65) 66)

EXAMPLE: GRILLING A grill, from which the player is not allowed to take anything lest he burn himself. EXAMPLE: BAD HAIR DAY Change the player's appearance in response to EXAMINE ME. EXAMPLE: DEMOCRATIC PROCESS Make PUT and INSERT commands automatically take objects if the player is not holding them. EXAMPLE: SAND Extend PUT and INSERT handling to cases where multiple objects are intended at once. EXAMPLE: HAYSEED A refinement of our staircase kind which can be climbed. EXAMPLE: MORNING AFTER When the player picks up something which he hasn't already examined, the object is described. Graham Nelson and Emily Short

6.5. BEFORE RULES

67) 68)

6.6. TRY AND TRY SILENTLY

69)

6.7. AFTER RULES

70)

6.8. READING AND TALKING

Inform 7 Designer's Manual71) 72)EXAMPLE: SYBIL 1 Direct ASK, TELL and ANSWER commands to ASK, and accept multiple words for certain cases. EXAMPLE: SYBIL 2 Making the character understand YES, SAY YES TO CHARACTER, TELL CHARACTER YES, ANSWER YES, and CHARACTER, YES. EXAMPLE: COSTA RICAN ORNITHOLOGY 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. EXAMPLE: THE ART OF NOISE Things are all assigned their own noise (or silence). Listening to the room in general reports on all the things that are currently audible.

xvii

119 119 119 119 120

73)

6.9. THE OTHER FOUR SENSES

120 121 122 122 122 123 123 123 124 124 124 125 125 126 126 127 127 127 127 128 129 129 130 130 130 130 131 131 132 132 132 133

74)

6.10. RULES APPLYING TO MORE THAN ONE ACTION 6.11. ALL ACTIONS AND EXCEPTIONAL ACTIONS 75) EXAMPLE: WATERWORLD A backdrop which the player can examine, but not interact with in any other way.

76)

EXAMPLE: ZODIAC Several variations on doing something other than..., demonstrating different degrees of restriction. EXAMPLE: MING VASE ATTACK or DROP break and remove fragile items from play.

6.12. THE NOUN AND THE SECOND NOUN

77)

6.13. IN ROOMS AND REGIONS 6.14. IN THE PRESENCE OF, AND WHEN

78) 79)

EXAMPLE: BEACHFRONT An item the player can't interact with until he has found it by searching the scenery.

EXAMPLE: TODAY TOMORROW A few notes on In the presence of and how it interacts with concealed objects. 6.15. GOING FROM, GOING TO

80)

EXAMPLE: HAGIA SOPHIA 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. EXAMPLE: A&E Using regions to block access to an entire area when the player does not carry a pass, regardless of which entrance he uses. EXAMPLE: BUMPING INTO WALLS Offering the player a list of valid directions if he tries to go in a direction that leads nowhere.

81)

82) 83)

EXAMPLE: POLARITY A go back command that keeps track of the direction from which the player came, and sends him back. 6.16. GOING BY, GOING THROUGH, GOING WITH

84) 85)

EXAMPLE: NO RELATION A car which must be turned on before it can be driven, and can only go to roads. EXAMPLE: ONE SHORT PLANK Graham Nelson and Emily Short

xviii

Inform 7 Designer's ManualA plank bridge which breaks if the player is carrying something when he goes across it. Pushing anything over the bridge is forbidden outright.

6.17. KINDS OF ACTION

133 133 134 134 135 136 136 137

86)

EXAMPLE: MIMICRY People who must be greeted before conversation can begin. EXAMPLE: Y ASK Y? Noticing when the player seems to be at a loss, and recommending the use of hints. EXAMPLE: A DAY FOR FRESH SUSHI 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.

6.18. REPEATED ACTIONS

87) 88)

6.19. ACTIONS ON CONSECUTIVE TURNS 6.20. POSTSCRIPT ON ACTIONS CHAPTER 7: CHANGE 7.1. CHANGE OF VALUES THAT VARY 7.2. CHANGING THE COMMAND PROMPT

137 142 142 143 143 143 144 144 145 145 145 146 146 146 147 147 147 148 148 149 150 150 150 151 152 152 153 153

89)

EXAMPLE: DON PEDRO'S REVENGE Combat scenario in which the player's footing and position changes from move to move, and the command prompt also changes to reflect that. EXAMPLE: POLITICS AS USUAL Have the status line indicate the current region of the map.

7.3. CHANGING THE STATUS LINE

90) 91)

EXAMPLE: CENTERED Replacing the two-part status line with one that centers only the room name at the top of the screen. 7.4. CHANGE OF EITHER/OR PROPERTIES

92)

EXAMPLE: VITRINE An electrochromic window that becomes transparent or opaque depending on whether it is currently turned on.

7.5. CHANGE OF PROPERTIES WITH VALUES EXAMPLE: THIRST A waterskin that is depleted as the player drinks from it, and a campfire he can light. 7.6. WHOSE PROPERTY? 7.7. MOVING THINGS

93)

94)

EXAMPLE: METEORIC I AND II 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. EXAMPLE: TERROR OF THE SIERRA MADRE Multiple player characters who take turns controlling the action. EXAMPLE: BEVERAGE SERVICE Graham Nelson and Emily Short

7.8. MOVING THE PLAYER

95)

7.9. REMOVING THINGS FROM PLAY

96)

Inform 7 Designer's ManualA potion that the player can drink. EXAMPLE: SPRING CLEANING A character who sulks over objects that the player has broken (and which are now off-stage). 7.10. NOW...

xix

153 154 154 154 155 155 156 156 157 158 158 158 159 159 160 160 162 162 162 165 165 165 165 165 166 167 167 168 168 169 170 170 172 172 174 175 175 176

97)

98)

EXAMPLE: TECHNOLOGICAL TERROR A ray gun which destroys objects, leaving their component parts behind.

7.11. CHECKING ON WHEREABOUTS 7.12. MORE FLEXIBLE DESCRIPTIONS OF WHEREABOUTS 7.13. CALLING NAMES

99)

EXAMPLE: HIGHER CALLING All doors in the game automatically attempt to open if the player approaches them when they are closed.

7.14. COUNTING THE NUMBER OF THINGS 7.15. LOOKING AT CONTAINMENT BY HAND 7.16. RANDOMNESS

100) EXAMPLE: UPTOWN GIRLSA stream of random pedestrians who go by the player. 7.17. RANDOM CHOICES OF THINGS

101) EXAMPLE: ZORK IIA Carousel Room, as in Zork II, where moving in any direction from the room leads to (at random) to one of the eight rooms nearby. CHAPTER 8: TIME 8.1. WHEN PLAY BEGINS

102) EXAMPLE: CLUELESSA murderer for the mystery is selected randomly at the beginning of the game. 8.2. AWARDING POINTS 8.3. INTRODUCING TABLES: RANKINGS 8.4. DISPLAYING QUOTATIONS 8.5. WHEN PLAY ENDS

103) EXAMPLE: BIG SKY COUNTRYAllowing the player to continue play after a fatal accident, but penalizing him by scattering his possessions around the game map. 8.6. EVERY TURN

104) EXAMPLE: WITNESSED 1A kind of battery which can be put into different devices, and which will lose power after extended use.

105) EXAMPLE: TEXT FOOSBALLA game of foosball which relies heavily on every-turn rules. 8.7. THE TIME OF DAY

106) EXAMPLE: IPAShops 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. 8.8. TELLING THE TIME Graham Nelson and Emily Short

xx

Inform 7 Designer's Manual176 176 177 177 178 178 179 179 180 180 181 181 181 182 182 182 183 183 185 185 186 186 186 187 188 188 189 189 189 190 190 191 191 192 193 193 194 194 194 195

8.9. APPROXIMATE TIMES, LENGTHS OF TIME 8.10. COMPARING AND SHIFTING TIMES 8.11. CALCULATING TIMES 8.12. FUTURE EVENTS

107) EXAMPLE: MREHunger that eventually kills the player, and foodstuffs that can delay the inevitable by different amounts of time.

108) EXAMPLE: EMPIREA train which follows a schedule, stopping at a number of different locations.

109) EXAMPLE: SCHEDULING AN ECLIPSETo schedule an eclipse of the sun, which involves a number of related events. 8.13. ACTIONS AS CONDITIONS

110) EXAMPLE: NIGHT SKYA room which changes its description depending on whether an object has been examined.

111) EXAMPLE: ZEROA box which is called horribly heavy box after the player has tried to take it the first time. 8.14. THE PAST AND PERFECT TENSES

112) EXAMPLE: TENSE BOXINGAn overview of all the variations of past and present tenses, and how they might be used.

113) EXAMPLE: BRUNESEAU'S JOURNEYA candle which reacts to lighting and blowing actions differently depending on whether it already has been lit once. 8.15. HOW MANY TIMES?

114) EXAMPLE: INFILTRATIONA room whose description changes depending on the number of times the player has visited. 8.16. HOW MANY TURNS?

115) EXAMPLE: ANNOYOTRON JRA child who after a certain period in the car starts asking annoying questions. CHAPTER 9: SCENES 9.1. INTRODUCTION TO SCENES 9.2. CREATING A SCENE

116) EXAMPLE: PINE 1Pine: Using a scene to watch for the solution of a puzzle, however arrived-at by the player.

117) EXAMPLE: ENTRAPMENTA 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. 9.3. USING THE SCENE INDEX

118) EXAMPLE: AGE OF STEAMThe railway-station examples so far put together into a short game called Age of Steam. 9.4. DURING SCENES

119) EXAMPLE: FULL MOONRandom atmospheric events which last the duration of a scene.

120) EXAMPLE: SPACE PATROL - STRANDED ON JUPITER!Graham Nelson and Emily Short

Inform 7 Designer's ManualW elbe back i j a m om ent,w i m ore exci ng adventures ofthe..Space Patrol l n ust th ti . !

xxi

195 197 197 198 198 198 200 201 201 202 202 202 203 203 206 207 207 209 209 215 217 217 217 217 218 218 219 219 219 221 222 222 223 223 223 223

121) EXAMPLE: DAY ONEA scene which plays through a series of events in order, then ends when the list of events is exhausted. 9.5. LINKING SCENES TOGETHER

122) EXAMPLE: PINE 2Pine: Adding a conversation with the princess, in which a basic set of facts must be covered before the scene is allowed to end. 9.6. MORE GENERAL LINKAGES

123) EXAMPLE: THE PRAGUE JOBScenes used to provide pacing while the player goes through his possessions. 9.7. MULTIPLE BEGINNINGS AND REPEATS

124) EXAMPLE: EXIT STRATEGYA scene that begins exactly one time, and some discussion of the scene change machinery.

125) EXAMPLE: PINE 3Pine: 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. 9.8. MULTIPLE ENDINGS

126) EXAMPLE: PANACHEReplacing the score with a plot summary that records the events of the plot, scene by scene.

127) EXAMPLE: PINE 4Pine: Adding a flashback scene that, instead of repeating endlessly, repeats only until the Princess has understood the point. 9.9. REVIEW OF CHAPTER 9 CHAPTER 10: PHRASES 10.1. FITTING VALUES INTO PHRASES

128) EXAMPLE: NO PLACE LIKE HOMERecording a whole table of scores for specific treasures. 10.2. THE PHRASEBOOK 10.3. PATTERN MATCHING 10.4. CONDITIONS AND QUESTIONS

129) EXAMPLE: PROPOSALAsking the player a yes/no question which he must answer, and another which he may answer or not as he chooses. 10.5. IF 10.6. WHILE 10.7. BEGIN AND END

130) EXAMPLE: MATRESHKAA 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.

131) EXAMPLE: PRINCESS AND THE PEAThe player is unable to sleep on a mattress (or stack of mattresses) because the bottom one has something uncomfortable under it. Graham Nelson and Emily Short

xxii

Inform 7 Designer's Manual224 224 225 225 226 227 227 228 229 229 231 232

10.8. OTHERWISE 10.9. REPEAT

132) EXAMPLE: WONKA'S REVENGEA lottery drum which redistributes the tickets inside whenever the player spins it. 10.10. REPEAT RUNNING THROUGH

133) EXAMPLE: STRICTLY BALLROOMPeople who select partners for dance lessons each turn. 10.11. PHRASE OPTIONS

134) EXAMPLE: EQUIPMENT LISTOverview of all the phrase options associated with listing, and examples of how to change the inventory list into some other standard formats. 10.12. LET AND TEMPORARY VARIABLES

135) EXAMPLE: A PUSHABLE BOXMore on using kinds of value inside phrases, this time to simulate something new: a box which, although it cannot be picked up, can be pushed around between three different places on the floor.

232 232 232 233 234 234 235 236 236 237 237 238 239 239 240 240 240 241 241 245 245 245 247

136) EXAMPLE: TINTED WALLPAPERA worked example using a new kind of value, colour, within phrases to talk about tinted wallpaper. 10.13. NEW CONDITIONS, NEW ADJECTIVES

137) EXAMPLE: OWEN'S LAWOUT always means move to an outdoors room, or else to a room with more exits than this one has; IN always means the opposite. 10.14. PHRASES TO DECIDE OTHER THINGS

138) EXAMPLE: WITNESSED 2A 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.

139) EXAMPLE: A HAUGHTY SPIRITWindows overlooking lower spaces which will prevent the player from climbing through if the lower space is too far below. 10.15. THE VALUE AFTER AND THE VALUE BEFORE

140) EXAMPLE: ENTROPYAll objects in the game have heat, but if not kept insulated they will tend toward room temperature (and at a somewhat exaggerated rate).

141) EXAMPLE: THE HANG OF THURSDAYSTurns take a quarter day each, and the game rotates through the days of the week. 10.16. IN WHAT ORDER? 10.17. AMBIGUITIES 10.18. REVIEW OF CHAPTER 10 CHAPTER 11: ADVANCED ACTIONS 11.1. A RECAP OF ACTIONS 11.2. HOW ACTIONS ARE PROCESSED 11.3. GIVING INSTRUCTIONS TO OTHER PEOPLE Graham Nelson and Emily Short

Inform 7 Designer's Manual142) EXAMPLE: VIRTUEDefining certain kinds of behaviour as inappropriate, so that other characters will refuse indignantly to do any such thing.

xxiii

247 247 248 248 249 250 250 250 250 251 252 252 254 254 254 255 255 258 259 259 259 259 261 262 262 263 264 264 264 264 265 265 266 266 267 268 Graham Nelson and Emily Short

143) EXAMPLE: LATRIS THEONA person who can accept instructions to go to new destinations and move towards them according to the most reasonable path. 11.4. PERSUASION

144) EXAMPLE: THE HYPNOTIST OF BLOISA hypnotist who can make people obedient and then set them free again.

145) EXAMPLE: POLICE STATESeveral friends who obey you; a policeman who doesn't (but who takes a dim view of certain kinds of antics). 11.5. UNSUCCESSFUL ATTEMPTS

146) EXAMPLE: GENERATION XA 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. 11.6. SPONTANEOUS ACTIONS BY OTHER PEOPLE

147) EXAMPLE: IQ TESTIntroducing Ogg, a person who will unlock and open a container when the player tells him to get something inside.

148) EXAMPLE: BOSTON CREAMA fuller implementation of Ogg, giving him a motivation of his own and allowing him to react to the situation created by the player. 11.7. NEW ACTIONS

149) EXAMPLE: DIAGNOSE COMMANDA DIAGNOSE command which allows the player to check the health of someone.

150) EXAMPLE: FRIZZLiquid flows within containers and soaks objects that are not waterproof; any contact with a wet object can dampen our gloves. 11.8. IRREGULAR ENGLISH VERBS

151) EXAMPLE: 3 AMA shake command which agitates soda and makes items thump around in boxes. 11.9. CHECK, CARRY OUT, REPORT

152) EXAMPLE: WAXWORKContainers and supporters that report their contents when you EXAMINE them.

153) EXAMPLE: THE DARK AGES REVISITEDAn electric light kind of device which becomes lit when switched on and dark when switched off.

154) EXAMPLE: REMOVALTAKE expanded to give responses such as You take the book from the shelf. or You pick up the toy from the ground.

155) EXAMPLE: PADDINGTONA CUT [something] WITH [something] command which acts differently on different types of objects. 11.10. MAKING ACTIONS WORK FOR OTHER PEOPLE

156) EXAMPLE: THE MAN OF STEEL

xxiv

Inform 7 Designer's ManualAn escaping action which means go to any room you can reach from here, and is only useful to non-player characters.

268 268 268 269 269 272 273 273 273 273 274 275 275 276 276 277 278 278 278

157) EXAMPLE: TRYING TAKING MANHATTANReplacing the inventory reporting rule with another that does something slightly different.

158) EXAMPLE: UNDER CONTRACTCreating a person who accepts most instructions and reacts correctly when a request leads implicitly to inappropriate behavior. 11.11. CHECK RULES FOR ACTIONS BY OTHER PEOPLE

159) EXAMPLE: GET AXEChanging the check rules to try automatically leaving a container before attempting to take it. (And arranging things so that other people will do likewise.)

160) EXAMPLE: BARTER BARTERAllowing characters other than the player to give objects to one another, according for the possibility that some items may not be desired by the intended recipients. 11.12. REPORT RULES FOR ACTIONS BY OTHER PEOPLE 161) EXAMPLE: REPORTING RULES FOR OTHER CHARACTERS' BEHAVIOR Elaborating the report rules to be more interesting than Clark goes west.

162) EXAMPLE: FATE STEPS INFate entity which attempts to make things happen, by hook or crook, including taking preliminary actions to set the player up a bit. 11.13. OUT OF WORLD ACTIONS

163) EXAMPLE: SPELLBREAKERP. David Lebling's classic Spellbreaker (1986) includes a room where the game cannot be saved: here is an Inform implementation.

164) EXAMPLE: A POINT FOR NEVER SAVING THE GAMEIn 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. 11.14. REACHING INSIDE RULES 11.15. CHANGING REACHABILITY

278 278 279 280 280 281 281 282 282 282 283

165) EXAMPLE: MAGNETO'S REVENGEKitty 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...

166) EXAMPLE: DINNER IS SERVEDA 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. 11.16. CHANGING VISIBILITY

167) EXAMPLE: FLASHLIGHTVisibility 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). 11.17. GUIDELINES ON HOW TO WRITE RULES ABOUT ACTIONS Graham Nelson and Emily Short

Inform 7 Designer's ManualCHAPTER 12: RELATIONS 12.1. SENTENCE VERBS 12.2. WHAT SENTENCES ARE MADE UP FROM

xxv

287 287 288 288 288 290 290 291 291 292 292 293 293 296 296 296 302 303 304

168) EXAMPLE: FORMAL SYNTAX OF SENTENCESA more formal description of the sentence grammar used by Inform for both assertions and conditions. 12.3. WHAT ARE RELATIONS? 12.4. TO CARRY, TO WEAR, TO HAVE

169) EXAMPLE: INTERROGATIONA wand which, when waved, revels the concealed items carried by people the player can see. 12.5. MAKING NEW RELATIONS 12.6. MAKING RECIPROCAL RELATIONS

170) EXAMPLE: FOUR CHEESESA system of telephones on which the player can call distant persons and have conversations. 12.7. RELATIONS IN GROUPS

171) EXAMPLE: OTRANTOA kind of rope which can be tied to objects and used to anchor the player or drag items from room to room. 12.8. THE BUILT-IN VERBS AND THEIR MEANINGS 12.9. DEFINING NEW ASSERTION VERBS

172) EXAMPLE: THE UNEXAMINED LIFEAn 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. 12.10. THE INVENTION OF LOVE

304 308 309 309 309 309 311 311 311 316 316 317 317 318 319

173) EXAMPLE: UNTHINKABLE ALLIANCESPeople are 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.

174) EXAMPLE: BOGARTClothing 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. 12.11. DEFINING NEW PREPOSITIONS

175) EXAMPLE: THE ABOLITION OF LOVEA thorough exploration of all the kinds of relations established so far, with the syntax to set and unset them.

176) EXAMPLE: SWERVE LEFT? SWERVE RIGHT? OR THINK ABOUT IT AND DIE?Building a marble chute track in which a dropped marble will automatically roll downhill.

177) EXAMPLE: BENEATH THE SURFACEAn underlying relation which adds to the world model the idea of objects hidden under other objects. 12.12. INDIRECT RELATIONS

178) EXAMPLE: THE PROBLEM OF EDITH

Graham Nelson and Emily Short

xxvi

Inform 7 Designer's ManualA conversation in which the main character tries to build logical connections between what the player is saying now and what went immediately before.

12.13. RELATIONS WHICH EXPRESS CONDITIONS

319 321 321 321 322 323 323

179) EXAMPLE: A HUMBLE WAYSIDE FLOWERRelations track the relationships between one character and another. Whenever the player meets a relative of someone he already knows, he receives a brief introduction. 12.14. RELATIONS INVOLVING VALUES 12.15. WHAT ARE RELATIONS FOR?

180) EXAMPLE: MURDER ON THE ORIENT EXPRESSA 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...

323 324 324 325 325 327 327 327 328 328 329 330 330 331 331 331 332 332 333 333 334 335 335 335 337 337 338 338 339

181) EXAMPLE: MATHEMATICAL VIEW OF RELATIONSSome notes on relations from a mathematical point of view, provided only to clarify some technicalities for those who are interested.

182) EXAMPLE: GRAPH-THEORY VIEW OF RELATIONSSome notes on relations from the point of view of graph theory. CHAPTER 13: UNITS 13.1. THE MEASURE OF ALL THINGS 13.2. NUMBERS

183) EXAMPLE: ONLY YOU...Smoke which spreads through the rooms of the map, but only every other turn. 13.3. WHEREABOUTS ON A SCALE? 13.4. COMPARING OBJECTS 13.5. SUPERLATIVES 13.6. UNITS

184) EXAMPLE: RBGHThe player character's height is selected randomly at the start of the play.

185) EXAMPLE: WONDERLANDHiking Mount Rainier, with attention to which locations are higher and lower than the present location. 13.7. MORE ON SPECIFICATIONS 13.8. MULTIPLE-NUMBER SPECIFICATIONS 13.9. THE PARTS OF A NUMBER SPECIFICATION 13.10. UNDERSTANDING SPECIFIED NUMBERS

186) EXAMPLE: SNIP 1A string which can be cut into arbitrary lengths, and then tied back together. 13.11. LIMITS ON THE SIZE OF NUMBERS 13.12. ARITHMETIC WITH UNITS

187) EXAMPLE: FROZEN ASSETSA treatment of money which keeps track of how much the player has on him, and a BUY command which lets him go shopping.

188) EXAMPLE: MONEY FOR NOTHINGGraham Nelson and Emily Short

Inform 7 Designer's ManualAn OFFER price FOR command, allowing the player to bargain with a flexible seller.

xxvii

339 340 340 343 344 344 345 346

189) EXAMPLE: LEMONADEContainers for liquid which keeps track of how much liquid they are holding and of what kind, and allow quantities to be moved from one container to another. 13.13. MULTIPLICATION OF UNITS

190) EXAMPLE: DEPTHReceptacles that calculate internal volume and the amount of room available, and cannot be overfilled. 13.14. TOTALS

191) EXAMPLE: NICKEL AND DIMEDA 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. 13.15. MAKING THE VERB TO WEIGH

346 351 351 351 352 352 353 353 353 354 355 355 358 359 360 360 360 362 363 364 364 364 366 366 366 367 368

192) EXAMPLE: DIMENSIONSThis example draws together the previous snippets into a working example of the weightbridge.

193) EXAMPLE: LEAD CUTS PAPERTo 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 14: TABLES 14.1. LAYING OUT TABLES 14.2. LOOKING UP ENTRIES 14.3. CORRESPONDING ENTRIES

194) EXAMPLE: DUBAIAn elevator which connects any of 27 floors in a luxury hotel. 14.4. CHANGING ENTRIES 14.5. CHOOSING ROWS 14.6. REPEATING THROUGH TABLES

195) EXAMPLE: PORT ROYAL 4A cell window through which the player can see other people who were in Port Royal in the current year of the game-time. 14.7. BLANK ENTRIES 14.8. BLANK COLUMNS 14.9. BLANK ROWS

196) EXAMPLE: IF IT HADN'T BEEN FOR...A sound recording device that records the noises made by player and non-player actions, then plays them back on demand. 14.10. ADDING AND REMOVING ROWS

197) EXAMPLE: ODYSSEYA person who follows a path predetermined and stored in a table, and who can be delayed if the player tries to interact with her. 14.11. SORTING

198) EXAMPLE: JOKERS WILDGraham Nelson and Emily Short

xxviii

Inform 7 Designer's Manual368 370 371 371 376 377 377 378 378 380 380 382 383 383 388 389 389 391 392 392 394 394 396 397 398 398 399 399 399 399 400 400 401 401

A deck of cards which can be shuffled and dealt from. 14.12. LISTED IN...

199) EXAMPLE: NOISY CRICKETImplementing liquids that can be mixed, and the components automatically recognized as matching one recipe or another. 14.13. TOPIC COLUMNS

200) EXAMPLE: MERLINA REMEMBER command which accepts any text and looks up a response in the table of recollections.

201) EXAMPLE: QUESTIONABLE REVOLUTIONSAn expansion on the previous idea, only this time we store information and let characters answer depending on their expertise in a given area.

202) EXAMPLE: THE QUEEN OF SHEBAAllowing the player to use question words, and using that information to modify the response given by the other character. 14.14. ANOTHER SCORING EXAMPLE

203) EXAMPLE: GOAT-CHEESE AND SAGE CHICKENImplementing a FULL SCORE command which lists more information than the regular SCORE command, adding times and rankings, as an extension to the example given in this chapter. 14.15. VARYING WHICH TABLE TO LOOK AT

204) EXAMPLE: FAREWELLPeople who respond to conversational gambits, summarize what they said before if asked again, and provide a recap of conversation that is past. 14.16. DEFINING THINGS WITH TABLES

205) EXAMPLE: SWEENEYA conversation here each topic may have multiple questions and answers associated with it, and where a given exchange can lead to new additions to the list.

206) EXAMPLE: INTRODUCTION TO JUGGLINGAssortment of equipment defined with price and description, in a table. 14.17. DEFINING VALUES WITH TABLES 14.18. TABLE CONTINUATIONS

207) EXAMPLE: FOOD NETWORK INITIATIVEUsing a menu system from an extension, but adding own material to it for this game. CHAPTER 15: UNDERSTANDING 15.1. UNDERSTAND

208) EXAMPLE: XYZZYBasics of adding a new command reviewed, for the case of the simple magic word XYZZY.

209) EXAMPLE: INDIRECTIONRenaiming the directions of the compass so that white corresponds to north, red to east, yellow to south and black to west.

210) EXAMPLE: XYLANCreating a new command that does require an object to be named; and some comments about the choice of vocabulary, in general. Graham Nelson and Emily Short

Inform 7 Designer's Manual15.2. NEW COMMANDS FOR OLD GRAMMAR

xxix

402 402

211) EXAMPLE: ANCHORITEBy 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.

402 403 403 404 404 406 406 406 407 407 407 408 408 408 409 409 410 411 411 412 413

212) EXAMPLE: ALPACA FARMA generic USE action which behaves sensibly with a range of different objects, expanding on the EMPLOY command above.

213) EXAMPLE: CLOAK OF DARKNESSImplementation of Cloak of Darkness, a simple example game that for years has been used to demonstrate the features of IF languages. 15.3. OVERRIDING EXISTING COMMANDS

214) EXAMPLE: THE TROUBLE WITH PRINTINGMaking a READ command, distinct from EXAMINE, for legible objects. 15.4. STANDARD TOKENS OF GRAMMAR 215) EXAMPLE: SHAWN'S BAD DAY Allowing the player to EXAMINE ALL. 15.5. THE TEXT TOKEN

216) EXAMPLE: ISH.A (very) simple HELP command, using tokens to accept and interpret the player's text whatever it might be.

217) EXAMPLE: NAMELESSASKing someone about an object rather than about a topic. 15.6. VISIBLE VS TOUCHABLE

218) EXAMPLE: EDDYSTONECreating new commands involving the standard compass directions. 15.7. ACTIONS APPLYING TO KINDS OF VALUE

219) EXAMPLE: TOM'S MIDNIGHT GARDENA 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.

413 413

220) EXAMPLE: IBID.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. 15.8. UNDERSTANDING ANY, UNDERSTANDING ROOMS

413 415 415 415 416 416 417 418 418 418

221) EXAMPLE: ONE OF THOSE MORNINGSA FIND command that allows the player to find a lost object anywhere.

222) EXAMPLE: ACTAEONA FOLLOW command allowing the player to pursue a person who has just left the room. 15.9. UNDERSTANDING KINDS OF VALUE 15.10. COMMANDS CONSISTING ONLY OF NOUNS

223) EXAMPLE: MISADVENTUREA going by name command which does respect movement rules, and accepts names of rooms as commands. Graham Nelson and Emily Short

xxx

Inform 7 Designer's Manual419 419 420 421 421 421 422 423 423 424

224) EXAMPLE: SAFARI GUIDEThe same functionality, but making the player continue to move until he reaches his destination or a barrier, handling all openable doors on the way. 15.11. UNDERSTANDING VALUES

225) EXAMPLE: PALETTEAn artist's workshop in which the canvas can be painted any colour, and where painterly names for pigments (cerulean) are accepted alongside everyday ones (blue). 15.12. THIS/THAT 15.13. NEW TOKENS 15.14. TOKEN CAN PRODUCE VALUES 15.15. UNDERSTANDING THINGS BY THEIR PROPERTIES

226) EXAMPLE: PEERSThe 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.

424 425 425 426 426 428 428

227) EXAMPLE: TERRACOTTISSIMAThe flowerpots once again, but this time arrange so that after the first breakage all undamaged pots are said to be unbroken, to distinguish them from the others.

228) EXAMPLE: SNIP 2Strings that can be divided arbitrarily and then named by length. 15.16. CONTEXT: UNDERSTANDING WHEN

229) EXAMPLE: BIBLIOPHILIAA 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. 15.17. UNDERSTANDING MISTAKES

428 429 430 430 431 431 431 431 432 433 433 434

230) EXAMPLE: RESPONDING TO QUESTIONS STARTING WITH WHO, WHAT, ETC.Catching all questions that begin with WHO, WHAT, WHERE, and similar question words, and responding with the instruction to use commands, instead.

231) EXAMPLE: THE GORGE AT GEORGEIf the player tries to TALK TO a character, suggest alternative modes of conversation.

232) EXAMPLE: HOT GLASS LOOKS LIKE COLD GLASSResponding to references to a property the player isn't yet allowed to mention (or when not to use understand as a mistake). 15.18. PRECEDENCE

233) EXAMPLE: SOME ASSEMBLY REQUIREDBuilding different styles of shirt from component sleeves and collars.

234) EXAMPLE: LAKESIDE LIVINGSimilar 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 16: ACTIVITIES 16.1. WHAT ARE ACTIVITIES? Graham Nelson and Emily Short

434 439 439

Inform 7 Designer's Manual16.2. HOW ACTIVITIES WORK 16.3. RULES APPLIED TO ACTIVITIES 16.4. WHILE CLAUSES 16.5. NEW ACTIVITIES

xxxi

439 440 440 441 442 442 443 443 444 444 446 446 447 447 448 448 449

235) EXAMPLE: AARP-GNOSISAn encyclopedia set which treats volumes in the same place as a single object, but can also be split up.

236) EXAMPLE: AFTERSHOCKModifying the rules for examining a device so that all devices have some specific behavior when switched on, which is described at various times.

237) EXAMPLE: CRUSOEAdding a printing the description of something activity. 16.6. BEGINNING AND ENDING ACTIVITIES MANUALLY 16.7. INTRODUCTION TO THE LIST OF BUILT-IN ACTIVITIES 16.8. DECIDING THE CONCEALED POSSESSIONS OF SOMETHING 16.9. PRINTING THE NAME OF SOMETHING

238) EXAMPLE: SHIPPING TRUNKA box of baking soda whose name changes to completely ineffective baking soda when it is in a container with something that smells funny.

239) EXAMPLE: TRACHYPACHIDAE MATURIN 1803Bottles 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.

449 450 450 454 454 454 455 456 456 456 456 457 457 458 458 458 459 460

240) EXAMPLE: CHRONIC HINTING SYNDROMEUsing name-printing rules to keep track of whether the player knows about objects, and also to highlight things he might want to follow up. 16.10. PRINTING THE PLURAL NAME OF SOMETHING

241) EXAMPLE: HUDSUCKER INDUSTRIESLetters 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. 16.11. LISTING CONTENTS OF SOMETHING

242) EXAMPLE: UNPEELEDCalling an onion a single yellow onion when (and only when) it is being listed as the sole content of a room or container. 16.12. GROUPING TOGETHER SOMETHING 16.13. PRINTING ROOM DESCRIPTION DETAILS OF SOMETHING

243) EXAMPLE: RULES OF ATTRACTIONA magnet which picks up nearby metal objects, and describes itself appropriately in room descriptions and inventory listings, but otherwise goes by its ordinary name. 16.14. PRINTING A REFUSAL TO ACT IN THE DARK

244) EXAMPLE: ZORN OF ZORNALight 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. 16.15. PRINTING THE ANNOUNCEMENT OF DARKNESS 16.16. PRINTING THE NAME OF A DARK ROOM Graham Nelson and Emily Short

xxxii

Inform 7 Designer's Manual460 460 460 461 461 463 463 463 464 464 465 466 466 467 467 470

16.17. PRINTING THE DESCRIPTION OF A DARK ROOM

245) EXAMPLE: HOHMANN TRANSFERChanging the way dark rooms are described to avoid the standard Inform phrasing.

246) EXAMPLE: FOUR STARSAn elaboration of the idea that when light is absent, the player should be given a description of what he can smell and hear, instead. 16.18. CONSTRUCTING THE STATUS LINE

247) EXAMPLE: WAYS OUTA status line that lists the available exits from the current location.

248) EXAMPLE: GUIDED TOURA 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. 16.19. WRITING A PARAGRAPH ABOUT

249) EXAMPLE: REFLECTIONSEmphasizing the reflective quality of shiny objects whenever they are described in the presence of the torch.

250) EXAMPLE: EMMASocial dynamics in which groups of people form and circulate during a party.

251) EXAMPLE: AIR CONDITIONING IS STANDARDUses 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. 16.20. LISTING NONDESCRIPT THINGS OF SOMETHING

470 473 473 473 475 476 476 477 477 477 477 479 479 485 485 485 486 486 486 488

252) EXAMPLE: HAPPY HOURListing visible characters as a group, then giving some followup details in the same paragraph about specific ones. 16.21. DECIDING THE SCOPE OF SOMETHING

253) EXAMPLE: PEELEDTwo different approaches to adjusting what the player can interact with, compared.

254) EXAMPLE: SCOPE FOR LISTENING DIFFERENT FROM SCOPE FOR SEEINGUsing deciding the scope to change the content of lists such as the list of audible things which can be touched by the player.

255) EXAMPLE: GINGER BEERA portable magic telescope which allows the player to view items in another room of his choice.

256) EXAMPLE: STATELY GARDENSAn open landscape where the player can see landmarks in nearby areas, and automatically moves to interact with them. 16.22. SUPPLYING A MISSING NOUN/SECOND NOUN

257) EXAMPLE: MINIMAL MOVEMENTSupplying a default go, so that leave, go, etc. are always interpreted as out.

258) EXAMPLE: FOR JOEDIG implementation which digs a hole in the location (without requiring the player to type DIG GROUND or something similar). 16.23. READING A COMMAND

259) EXAMPLE: FOREGraham Nelson and Emily Short

Inform 7 Designer's ManualUnderstand fore, aft, port, and starboard, but only when the player is on a vessel.

xxxiii

488 489 489 490 490 491 491 492 493 494 494 495 495 495 496 496 497 497 498 498 498 499 499 499 500 500 502 502 503 504

260) EXAMPLE: CLOVESAccepting adverbs anywhere in a command, registering what the player typed but then cutting them out before interpreting the command.

261) EXAMPLE: FRAGMENT OF A GREEK TRAGEDYResponding to the player's input based on keywords only, and overriding the original parser entirely.

262) EXAMPLE: COMPLIMENTARY PEANUTSA character who responds to keywords in the player's instructions and remarks, even if there are other words included. 16.24. PRINTING A PARSER ERROR 16.25. DECIDING WHETHER ALL INCLUDES 16.26. PRINTING THE BANNER TEXT 16.27. PRINTING THE PLAYER'S OBITUARY

263) EXAMPLE: BATTLE OF RIDGEFIELDCompletely replacing the endgame text and stopping the game without giving the player a chance to restart or restore. 16.28. AMUSING A VICTORIOUS PLAYER

264) EXAMPLE: XERXESOffering the player a menu of things to read after winning the game. CHAPTER 17: RULEBOOKS 17.1. ON RULES 17.2. NAMED RULES AND RULEBOOKS

265) EXAMPLE: NINE AM APPOINTMENTA WAIT [number] MINUTES command which advances through an arbitrary number of turns.

266) EXAMPLE: DELAYED GRATIFICATIONA WAIT UNTIL [time] command which advances time until the game clock reaches the correct hour. 17.3. NEW RULES

267) EXAMPLE: STONEA soup to which the player can add ingredients, which will have different effects when the player eats.

268) EXAMPLE: THE CRANE'S LEG 2A description text generated based on the propensities of the player-character, following different rulebooks for different characters. 17.4. NEW RULEBOOKS

269) EXAMPLE: IN FIRE OR IN FLOODA 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 flaming items which survive being burnt. 17.5. PROCEDURAL RULES

504 507 508 508

270) EXAMPLE: ACCESS ALL AREASThe Pointy Hat of Liminal Transgression allows its wearer to walk clean through closed doors. Graham Nelson and Emily Short

xxxiv

Inform 7 Designer's Manual508 508 509 509 510 511 511 512 512 513 513 516 517 517 518 518 520 521 521 521 536 537 538 538 538 538 541 541 543 547 547 547 548 549 550 550 551

271) EXAMPLE: INSTANT EXAMINE AND LOOKA set of actions which do not take any game time at all.

272) EXAMPLE: BRIBERYA GIVE command that gets rid of Inform's default refusal message in favor of something a bit more sophisticated. 17.6. PHRASES CONCERNING RULES

273) EXAMPLE: UPTEMPOAdjust time advancement so the game clock moves fifteen minutes each turn.

274) EXAMPLE: SWIGMORE U.Adding a new kind of supporter called perch, where everything dropped lands on the floor.

275) EXAMPLE: SOLITUDENovice 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. 17.7. SUCCESS AND FAILURE

276) EXAMPLE: FELINE BEHAVIORA cat which reacts to whatever items it has handy, returning the result of a rulebook for further processing.

277) EXAMPLE: KYOTOExpanding the effects of the THROW something AT something command so that objects do make contact with one another. 17.8. CONSIDER AND ABIDE 17.9. CONSIDER IS NOT THE SAME AS FOLLOW

278) EXAMPLE: PATIENT ZEROPeople who wander around the map performing various errands, and in the process spread a disease which only the player can eradicate. 17.10. IN WHAT ORDER? 17.11. FIRST AND LAST RULES

279) EXAMPLE: REPLACING THE STANDARD ACTION REPORT RULESReplacing the standard action report rules to reflect our own design.

280) EXAMPLE: LETHAL CONCENTRATION 1A poisonous gas that spreads from room to room, incapacitating or killing the player when it reaches sufficient levels.

281) EXAMPLE: LETHAL CONCENTRATION 2Poisonous gas again, only this time it sinks. 17.12. REVIEW OF CHAPTER 17 CHAPTER 18: PUBLISHING 18.1. FINDING A READERSHIP 18.2. HOW A NOVEL IS PUBLISHED 18.3. HOW INTERACTIVE FICTION IS PUBLISHED 18.4. BIBLIOGRAPHIC DATA 18.5. GENRES 18.6. THE LIBRARY CARD 18.7. THE TREATY OF BABEL AND THE IFID Graham Nelson and Emily Short

Inform 7 Designer's Manual18.8. THE RELEASE BUTTON 18.9. THE JOY OF FEELIES 18.10. THE MATERIALS FOLDER 18.11. COVER ART 18.12. AN INTRODUCTORY BOOKLET 18.13. A WEBSITE 18.14. WEBSITE TEMPLATES 18.15. WALKTHROUGH SOLUTIONS 18.16. RELEASING THE SOURCE TEXT 18.17. IMPROVING THE INDEX MAP 18.18. PRODUCING AN EPS FORMAT MAP 18.19. SETTINGS IN THE MAP-MAKER 18.20. TABLE OF MAP-MAKER SETTINGS 18.21. KINDS OF VALUE ACCEPTED BY THE MAP-MAKER 18.22. TITLING AND ABBREVIATIONS

xxxv

551 552 552 553 554 554 555 556 558 558 559 560 561 562 564 564 564 566 566 567 567 568 569 569 570 570 570 571 572 572 573 574 575 576 576 577 578 578 579 579 579 580 580 Graham Nelson and Emily Short

282) EXAMPLE: PORT ROYAL 5Port Royal scenario given instructions for an EPS map.

283) EXAMPLE: BAY LEAVES AND HONEY WINECreating a map of Greece using the locations from previous examples.

284) EXAMPLE: BAEDEKERCreating a floorplan of the cathedral using the locations from previous examples. 18.23. RUBRICS CHAPTER 19: EXTENSIONS 19.1. THE STATUS OF EXTENSIONS 19.2. THE STANDARD RULES 19.3. AUTHORSHIP 19.4. A SIMPLE EXAMPLE EXTENSION 19.5. VERSION NUMBERING 19.6. EXTENSIONS CAN INCLUDE OTHER EXTENSIONS 19.7. EXTENSIONS IN THE INDEX 19.8. EXTENSION DOCUMENTATION 19.9. EXAMPLES IN THE EXTENSION DOCUMENTATION 19.10. IMPLICATIONS 19.11. MAKING NEW ASSERTION SENTENCES 19.12. USING INFORM 6 WITHIN INFORM 7 19.13. DEFINING PHRASES IN INFORM 6

285) EXAMPLE: ODINSMaking [is/are] and [it/them] say tokens that will choose appropriately based on the last object mentioned.

286) EXAMPLE: PINK OR BLUEAsking the player to select a gender to begin play. 19.14. PHRASES TO DECIDE IN INFORM 6 19.15. HANDLING PHRASE OPTIONS 19.16. TYPES ARE NOT KINDS OF VALUE

xxxvi

Inform 7 Designer's Manual581 583 584 584 584 585 585 586 587 587 587 588 588 589 590 590 591 591 591 594 594 595 596 599 599 599 599 600 600 601 601 601 602 602 603 603 603 603 604

19.17. CATALOGUE OF NAMED INFORM 7 TYPES 19.18. MAKING AND TESTING USE OPTIONS 19.19. LONGER EXTRACTS OF INFORM 6 CODE

287) EXAMPLE: STATUS LINE WITH CENTERED TEXT, THE HARD WAYA status line which has only the name of the location, centered. 19.20. INFORM 6 OBJECTS AND CLASSES 19.21. INFORM 6 GRAMMAR, ACTIONS AND RULES 19.22. INFORM 6 PROPERTIES AND ATTRIBUTES APPENDIX A: BUILT-IN EXTENSIONS A.1. STANDARD RULES BY GRAHAM NELSON (VERSION 1/060430) A.2. RIDEABLE VEHICLES BY GRAHAM NELSON (VERSION 1)

288) EXAMPLE: VEHICLE TESTING CENTERAn assortment of rideable and other vehicles, with restrictions about which rooms can be entered with what rides. A.3. UNICODE CHARACTER NAMES BY GRAHAM NELSON (VERSION 1) A.4. UNICODE FULL CHARACTER NAMES BY GRAHAM NELSON (VERSION 1) A.5. BASIC HELP MENU BY EMILY SHORT (VERSION 1)

289) EXAMPLE: BASICSA very small game mostly consisting of help. A.6. BASIC SCREEN EFFECTS BY EMILY SHORT (VERSION 2) 290) EXAMPLE: PILLAGED VILLAGE A status bar showing unvisited rooms in a colored compass rose. A.7. CASE MANAGEMENT BY EMILY SHORT (VERSION 1) A.8. COMPLEX LISTING BY EMILY SHORT (VERSION 2)

291) EXAMPLE: WHICH OF THESE THINGS IS NOT LIKE THE OTHERS?Arranging items in room descriptions so that the most unusual objects are always at the back of the list.

292) EXAMPLE: TAXIDERMYArranging a list so that the items in the list are presented in order from shortest to longest name, and separated by commas and no and.

293) EXAMPLE: SPLIT LARKAdding a delimiter so that items in a list can be set off from one another with dashes. A.9. LOCKSMITH BY EMILY SHORT (VERSION 2)

294) EXAMPLE: LATCHESAdding one lock in the game that is managed by latch rather than by a key.

295) EXAMPLE: TOBACCOPasskeys that open more than one thing each.

296) EXAMPLE: REKEYINGModifying the way passkey descriptions work.

297) EXAMPLE: WATCHTOWERUsing sequential actions to make the player's activities more equal with those of another character. A.10. MENUS BY EMILY SHORT (VERSION 1) Graham Nelson and Emily Short

Inform 7 Designer's Manual298) EXAMPLE: TABULATIONA simple table of hints and help (see also Basic Help Menu). A.11. PLURALITY BY EMILY SHORT (VERSION 1)

xxxvii

605 605 606 607 607 607 608 608 609 609 609 609 610 610 610 612 615 617 617 621 621 621 622 623 623 624 650 650 651 651 651 651 652 652 653 653 659 661 661 662 662 662 663 Graham Nelson and Emily Short

299) EXAMPLE: FLORAL GREETINGSAn example bouquet of flowers. A.12. PUNCTUATION REMOVAL BY EMILY SHORT (VERSION 1)

300) EXAMPLE: PATIENCEIn which question and exclamation marks are pulled from the player's input. APPENDIX B: EXTENSIONS FROM THE INFORM SITE B.1. WHOWHAT BY DAVID CORNELSON (VERSION 4/060624)

301) EXAMPLE: INFOLANDExample of asking who and what a couple of things are in a game. B.2. BASIC PLANS BY NATE CULL (VERSION 2/060615)

302) EXAMPLE: ALCHEMYA demo game showing use of the basic actions. B.3. PLANNER BY NATE CULL (VERSION 1/060528) B.4. ADAPTIVE HINTS BY ERIC EVE (VERSION 1/060611)

303) EXAMPLE: ESCAPE FROM AN OLD HOUSEA short game with several adaptive hints. B.5. BULK LIMITER BY ERIC EVE (VERSION 1/060602)

304) EXAMPLE: THE BASKET, THE BRICKS AND THE SPOONPutting things in a container with not quite enough room for them all. B.6. EXIT LISTER BY ERIC EVE (VERSION 1/060605)

305) EXAMPLE: NAME OF EXAMPLEExample description B.7. CUSTOM LIBRARY MESSAGES BY DAVID FISHER (VERSION 6/060707)

306) EXAMPLE: JEANS & ROCKSome small changes to the standard messages.

307) EXAMPLE: JEANS & ROCK IIDifferent points of view.

308) EXAMPLE: JEANS & ROCK IIIPast tense messages.

309) EXAMPLE: OUT OF WORLDPrinting out of world messages in italic.

310) EXAMPLE: THEE AND THOUChanging the default pronouns. B.8. DEFAULT MESSAGES BY DAVID FISHER (VERSION 3/060707)

311) EXAMPLE: MESSAGES IChanging messages containing fixed text.

312) EXAMPLE: MESSAGES IIChanging messages containing objects. B.9. EXTENDED BANNER BY STEPHEN GRANADE (VERSION 1) B.10. CONSIDERATE HOLDALL BY JON INGOLD (VERSION 1)

xxxviii

Inform 7 Designer's Manual663 664 664 665 665 666 667 667 669 670 670 671 672 672 676 677 679 679 680 680 681 682 682 684 684 685 688 688 689 689 690 690 695 697 697 697 697 697 697 698

B.11. FAR AWAY BY JON INGOLD (VERSION 1)

313) EXAMPLE: CHRISTMAS MORNINGA simple example of distance, and how to overcome it.

314) EXAMPLE: STARFIELD DOMEA more complicated example, with an NPC, and various entrypoints used. B.12. ADVANCED HELP MENU BY JOHN W KENNEDY (VERSION 1)

315) EXAMPLE: SAMPLEXA small game mostly consisting of such help. B.13. REACTABLE QUIPS BY MICHAEL MARTIN (VERSION 2)

316) EXAMPLE: WHEN PRIMATES COLLIDEMatching important words in a phrase, or matching complete phrases, and reacting to quips with rules. B.14. ACTION QUEUING BY JESSE MCGREW (VERSION 2)

317) EXAMPLE: MOVING INActors move various items between rooms. B.15. CONDITIONAL UNDO BY JESSE MCGREW (VERSION 1/061206) B.16. STRING BUFFERS BY JESSE MCGREW (VERSION 1)

318) EXAMPLE: NOTEBOOKAn example of an object containing several messages.

319) EXAMPLE: BORING!Traveling down a hallway when the parser has no patience for performing the same command twice in a row. B.17. SECRET DOORS BY ANDREW OWEN (VERSION 1) B.18. DIRECTIONAL FACING BY TIM PITTMAN (VERSION 1) B.19. ACHIEVEMENTS BY MIKAEL SEGERCRANTZ (VERSION 1/060605)

320) EXAMPLE: WHERE EVER THOU ARTDemonstrating the use of achievements, location scored and items scored. B.20. ATMOSPHERIC EFFECTS BY MIKAEL SEGERCRANTZ (VERSION 4/060624)

321) EXAMPLE: FOREST AND CLEARINGA simple example of regional and room effects, and ignoring messages.

322) EXAMPLE: CITY AND NEIGHBORHOODA more complex example on using Atmospheric Effects on rooms and regions, with regions contained in other regions.

323) EXAMPLE: THE CITY-PLANE OF UNIONShowing how to use the Atmospheric Effects extension using as a setting the City-Plane of Union from the Epic Level Handbook for the latest edition of AD&D. B.21. INSTEAD OF GOING BY MIKAEL SEGERCRANTZ (VERSION 3/060706)

324) EXAMPLE: A SHORT WAY OUT 1A basic example of how to use custom can't go messages.

325) EXAMPLE: A SHORT WAY OUT 2Slightly elaborated version of the above example, using smart exit listing. 326) EXAMPLE: A SHORT WAY OUT 3 Still more elaborated, this time smarter exit listing and overridden default messages for the lister.

327) EXAMPLE: PRINTING THE ROOM DESCRIPTIONGraham Nelson and Emily Short

Inform 7 Designer's ManualCreating an activity for printing the room description, which uses the list available exits phrase. B.22. MULTIPLE EXITS BY MIKAEL SEGERCRANTZ (VERSION 1/060706)

xxxix

698 699 700 700 701 701 701 702 703 703 703 704 704 704 706 706 707 709 709 711 711 713 715 717 719 719

328) EXAMPLE: THE FOREST OF ADVENTUREA part of the above ground section of the Crowther & Woods classic, with some changes. B.23. SHIPBOARD DIRECTIONS BY MIKAEL SEGERCRANTZ (VERSION 2/060703)

329) EXAMPLE: LAND OHOY!Creating a ship from which the player can disembark when next to land. B.24. CHANGED IMPLICIT ACTION BY EMILY SHORT (VERSION 1)

330) EXAMPLE: EBONYDisambiguating sensibly for wear, eat, lock, and unlock, with implicit taking re-assigned to the before rule. B.25. EMPTY TRANSFER BY EMILY SHORT (VERSION 1)

331) EXAMPLE: SORTINGA test case with boxes and enclosed items. B.26. FACING BY EMILY SHORT (VERSION 1) 332) EXAMPLE: DIRECTIONS AND DOORS Allowing the player and his sidekick Clark to see into various rooms. B.27. GREEK TO ME BY ADAM THORNTON (VERSION 1) APPENDIX C: OTHER EXTENSIONS C.1. SIMPLE CYOA BY MARK TILFORD APPENDIX D: HISTORY OF CHANGES D.1. 3R85 (26 JUNE 2006) D.2. 3P53 (9 JUNE 2006) D.3. 3M43 (21 MAY 2006) D.4. 3L95 (14 MAY 2006) D.5. 3K56 (4 MAY 2006) D.6. 3K27 (30 APRIL 2006)

Graham Nelson and Emily Short

Inform 7 Designer's Manual Chapter 1: Welcome to Inform1.1. PrefaceWelcome to Inform, a design system for interactive fiction based on natural language.

1

Interactive fiction is a literary form which involves programming a computer so that it presents a reader with a text which can be explored. Inform aims to make the burden of learning to program such texts as light as possible. It is a tool for writers intrigued by computing, and computer programmers intrigued by writing. Perhaps these are not so very different pursuits, in their rewards and pleasures: The sheer joy of making things... the fascination of fashioning complex puzzle-like objects of interlocking moving parts and watching them work in subtle cycles... the delight of working in such a tractable medium. The programmer, like the poet, works only slightly removed from pure thought-stuff. He builds his castles in the air, from air, creating by exertion of the imagination. -- Frederick P. Brooks, "The Mythical Man-Month", 1972 These notes aim to be concise. They are arranged so that the reader can, in principle, write whole works of fiction as early as the end of Chapter 3. Each subsequent chapter then extends the range of techniques available to make livelier and more intriguing situations. This new release of Inform (Inform 7, the seventh major version since 1993) is a radical departure from most previous approaches to interactive fiction. In particular, it is very different from Inform 6, which newcomers will not need to know anything about. Inform 6 sits inside Inform 7, and is part of the inner workings, but is not visible from the outside. For information about Inform 6, see www.inform-fiction.org. Programming is best regarded as the process of creating works of literature, which are meant to be read... so we ought to address them to people, not to machines. -- Donald Knuth, "Literate Programming", 1981

1

Example: About the ExamplesAn explanation of the examples in this documentation, and the asterisks attached to them.

This is the first of about 300 examples in the documentation. In a few cases, such as this one, they provide a little background information, but almost all demonstrate Inform source text. The techniques demonstrated tend to be included either because they are frequently asked for, or because they show how to achieve some interesting effect. Many computing books quotes excerpts from programs, but readers have grown wary of them: they are tiresome to type in, and may only be fragments, or may not ever have been tested. The authors of Inform have tried to avoid this. All but two dozen examples contain entire source texts. A single click on the paste icon (always placed just left of the double-quoted title) will write the complete source text into the Source panel. All that is then required is to click the Go button, and the example should translate into a working game. In most cases, typing the single command TEST ME will play through a few moves to show off the effect being demonstrated. (You may find it convenient to create a scratch project file for temporary trials like this, clearing all its text and starting again

Graham Nelson and Emily Short

2

Inform 7 Designer's Manual

with each new test.) Each example is loosely graded by difficulty: if they were exercises in a textbook, the asterisks would indicate how many marks each question scores. As a general rule:- A simple example, fairly easily guessed. - A complicated or surprising example. - An example needing detailed knowledge of many other aspects of the system. - A complete scenario, containing material not necessarily relevant to the topic being demonstrated.

In general, the documentation's main text tries never to assume knowledge of material which has not yet appeared, but the trickier examples almost always need to break this rule. The examples are intended not only to illustrate specific sections of the documentation, but also to form up into a comprehensive collection of techniques. We thought of this as being like a recipe book, with chapters on items, rooms, and so on, instead of poultry, fish, and the like: and the Recipe Book page, provided in the Documentation panel, shows what the contents page of this alternative book would have looked like. As part of the testing process which verifies a new build of Inform, each example in turn is extracted from this documentation, translated, played through, and the resulting transcript mechanically checked. So the examples may even work as claimed. But the flesh is weak, and there are bound to be glitches. We would welcome reports, so that future editions can be corrected. At the foot of each example are three icons: from left to right, these close the example, go to the Recipe Book, or go to the alphabetical index.

1.2. AcknowledgementsI should like to dedicate this new edition of Inform to Emily Short and Andrew Plotkin, whose shrewd and sceptical suggestions made a contribution which can hardly be overstated. A long email correspondence with Andrew entirely subverted my original thoughts about natural-language IF, as he convinced me that the new model of rule-based IF was a truer foundation; while Emily's wry, witty analysis and how-about-this? cheered me at low moments, besides providing the impetus and often the specifics for a lot of the best ideas. Emily was the author of almost all of the Examples, an enormous undertaking: not only writing and testing hundreds of stories, but also researching through archived postings and discussions by IF authors to choose the most practically helpful range of topics. Among those who kindly gave up great swathes of time to test, and think about, the early Inform 7, I must give special thanks to Sonja Kesserich, who was so often patient, and so often right. Her easy-going pestering (Sonja's word) led to improvements more or less everywhere, at a time when using Inform 7 was not much fun. I also thank David Cornelson for gathering volunteers; and I thank them, too. From the outset, I have thought of Inform 7 as no longer being a command-line compiler, but a compiler in combination with a radically more humanising user interface: all credit for the reference implementation under Mac OS X belongs to Andrew Hunter. I thank him for his forbearance in the face of much cajolery. How simple the metaphor of an interactive book with facing pages may seem, but the coding was an enormous challenge, and I could not have done it. Though David Kinder's Windows implementation of the user interface does indeed visually follow Andrew's original, the two programs were coded independently, and the programming task taken up by David was formidable indeed. He also uncovered numerous bugs in the compiler which, through one coincidence or another, did not reveal themselves under OS X. Graham Nelson and Emily Short

Inform 7 Designer's Manual

3

The final months before the Public Beta release of Inform 7 were made more enjoyable, as well as more productive, by fruitful discussions leading to a cross-platform standard for bibliographic data and cover art. I would like to thank L. Ross Raszewski, who wrote frighteningly efficient reference software in frighteningly little time; the librarians of the IF-Archive, Andrew Plotkin, David Kinder and Paul Mazaitis; and my fellow authors of IF design systems - Mike Roberts (of the Text Adventure Development System); Kent Tessman (of Hugo); and Campbell Wild (of ADRIFT).

1.3. The facing pagesThis Public Beta of Inform 7 runs on Mac OS X through the graphical user interface created by Andrew Hunter. The main window is an opened book showing two facing pages, and as we shall see it behaves as if these pages are in dialogue with each other: for the most part we write on the left hand page and see responses appear on the right. But all is controllable. The margin between the two pages can be dragged back and forth like the slide on a trombone: each page can be made smaller that the other may grow larger. Moreover, each page can display one of a number of displays relevant to the current project, called panels, one of them being the Documentation panel which displays this manual. The vertical strip of choices at the right hand margin of each page allows you to choose between panels. (The same panel can be showing on both pages at the same time, if that's useful.)

This Public Beta of Inform 7 runs on Windows through the graphical user interface created by David Kinder. The main window is an opened book showing two facing pages, and as we shall see it behaves as if these pages are in dialogue with each other: for the most part we write on the left hand page and see responses appear on the right. But all is controllable. The margin between the two pages can be dragged back and forth like the slide on a trombone: each page can be made smaller that the other may grow larger. Moreover, each page can display one of a number of displays relevant to the current project, called panels, one of them being the Documentation panel which displays this manual. The horizontal strip of choices at the top of each page allows you to choose between panels. (The same panel can be showing on both pages at the same time, if that's useful.)

At the start the only panels available are a blank space in which to write the first lines of a new interactive fiction the Source panel - and this one, the Documentation. Clicking on the other choices will do nothing. he exception is the Settings panel, which contains some preference settings for the individual project - not the whole application. This is always available, but it controls settings which can be left alone almost all of the time.

1.4. The Go! buttonClicking the Go button translates the text in the Source panel into a computer program which enacts the interactive fiction, and automatically sets it going (in the Game panel, which opens as needed). If the Source is empty of text, Inform will be unable to create anything: it needs at least one name of a location where the drama can unfold. For reasons of tradition, such locations are normally called rooms, though people have used them to represent anything from grassy fields to sta