Part II: The Standard Library
Architecture of the library • Running the code examples • A minimal story
Populating the game world • Descriptions, appearances, and synonyms • 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 • All about appearances • Pristineness of nested objects
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, perform, after • 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 • Choice mode
Movement • Other NPC actions • Taking orders • Ask and tell • Choice-based conversation
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 • Directions • Predicates for debugging • Common checks and complaints • Asking simple questions • Identical objects