TADS 3 Technical Manual
Table of Contents

Part I: Fundamentals
Creating Your First Project
Tips on Designing your Game
IF Design: In Practice
IF Design: In Theory
Object-Oriented Programming Overview
Some Common Input/Output Issues
Using Build Configurations
Understanding Separate Compilation
Using AutoHotKey with the Workbench Editor (Windows)
Bibliographic Metadata - the GameInfo Format
Part II: TADS 3 In Depth
Where Messages Come From
Action Results
Verify, Check, and When to Use Which
How to Create Verbs
Custom Preconditions
Message Parameter Substitutions
Implied Action Reports
Lists and Listers
Tips: A Context-Sensitive Help System
Creating Dynamic Characters
Choosing a Conversation System
Programming Conversations with NPCs
NPC Travel
Using the Banner API
Part III: Advanced Topics
Banishing (and Changing) Awkward Messages
The Command Execution Cycle
Manipulating the Transcript
Redefining Scope
Multiple Inheritance
Using Nested Rooms as Staging Locations
Handling Odd Noun Phrases
Global Command Remapping
Writing a Game in the Past Tense
Internet Media Types for TADS
Workbench Project Starter Templates
Part IV: T3 VM Technical Documentation
Design Philosophy
Design Goals
Notation and Conventions
Machine Model
The Metaclasses
Byte-Code Instruction Set
Image File Format
Portable Binary Encoding
Character Mapping
Debug Records
t3vm Function Set
Metaclass Identifier List
Saving and Restoring State
TADS Special Characters