Part II: The Standard Library
Architecture of the library • Running the code examples • A minimal story
Populating the game world • Defining new predicates • Object locations • Dynamic predicates • Hidden objects
Custom traits • Linguistic predicates and traits • Full names • Standard traits for categorizing objects
Pristine and handled objects • Plural forms • Appearance
Rooms and map connections • Floating objects • Regions • Light and darkness • Reachability, visibility, and scope • Doors and locks • Moving the player character • Path finding
Introduction to actions • How actions are processed • Stopping and ticking • Instead of, prevent, and perform • Narration predicates • Diversion • Refuse and before
Core actions • Actions that reveal information • Actions that print a message • Diverting actions • Communication • Navigation • Miscellaneous actions • Debugging actions
Timed code • Cutscenes • The intro • Keeping score • The status bar • Game over
Complex actions • The parsing process • Parsing actions • Defining new actions • Parsing object names • Directions and numbers • Topics • Adjusting the likelihood of actions • Synonyms • Asking for clarification • Rule order • Example: Defining a new action • Hyperlinks
Pronouns • List manipulation • Object tree manipulation • Predicates for debugging • Common checks and complaints • Asking simple questions • Identical objects