A data-driven text adventure engine: worlds, items, and NPCs are JSON, and every verb resolves through an extensible handler library. Agents, the player and NPCs alike, act through the same ...