Book: The Annotated Adventure (Table of Contents).

The Annotated Adventure, by Warren Robinett (2016).

This book is about the design and implementation of Adventure for the Atari 2600 video-game console, the first action-adventure game. This game was implemented in a highly-constrained computing environment. Available memory was 4096 bytes (4K) of ROM, and 128 bytes (1/8 K) of RAM. The system's processor was an 8-bit processor running at 1.2 MHz.

(As of Feb. 2016) The book is completed, but not yet released. It is currently being read by a few selected readers, and is expected to be available later in 2016.

Table of Contents

PART I: INVENTION OF THE ADVENTURE GAME
1. Introduction
2. Crowther and Woods's All-Text Adventure Game
3. Adapting Adventure to the Video-Game Medium
4. The Game World of Atari VCS Adventure
5. Why Did Adventure Succeed?

PART II: THE CODE FOR ADVENTURE IN C
6. Overview of the Code for Adventure
7. Startup and Main Loop
8. The RoomList and ObjectList Data Structures
9. Moving Yourself Through the Game World
10. Carrying Objects
11. Portals: Castles and Keys, Mazes and the Bridge
12. LampGlow and Dark Mazes
13. The Chalice
14. The Dot and the Secret Room
15. Creatures with Desires and Fears
16. Dragons
17. The Bat
18. The Magnet
19. Game Levels and Game Initialization
20. Sound Effects
21. Chronology of the Development of Adventure

PART III: THE ATARI VCS PLATFORM
22. VCS System Architecture
23. The 6502 Processor: Architectural Summary and Instruction Set
24. Programming the 6502
25. The TIA (Stella) Custom Chip
26. The PIA Chip: RAM, I/O Ports, and Timer
27. VCS System Timing
28. Adventure's Kernel (Display Routine)

PART IV: THE CODE FOR ADVENTURE IN ASM
29. Data Structure Definitions
30. Variables in RAM
31. Display Code in ASM
32. Startup and Main Loop in ASM
33. Game Initialization in ASM
34. User Interface in ASM
35. Adventure's Creatures and Objects in ASM
36. Sound-Generation Code in ASM
37. Graphics Data
38. RoomList and ObjectList

PART V: DISCUSSION
39. Old-Fashioned Game Development
40. Memory Usage: RAM and ROM
41. CPU Usage
42. Efficient Coding
43. Object-Oriented Coding in Adventure?
44. Events and Behaviors in Adventure
45. Emergent Behaviors
46. Interactive Graphical Simulation
47. Bad Guys and Artificial Intelligence

PART VI: CONCLUSIONS
48. A Retrospective on Adventure
49. Looking at the Code: Worth the Trouble?
50. The Evolution of Video Games
51. The Purposes of Art


APPENDICES
A. VCS Block Diagram and Memory Maps
B. Instruction Set of the 6502 Processor
C. TIA Chip and PIA Chip Registers


More information can be found on my website: warrenrobinett.com