EchoQuest v0.20.1: NPC Travel & Admin Tools
Version 0.20.0 gave NPCs the ability to patrol and follow daily schedules. This follow-up patch takes that further: NPCs can now physically move between maps. The blacksmith doesn’t just disappear at closing time — he walks to the tavern on the next map over. The guard captain heads inside the barracks to sleep. When you enter a map, you see the NPCs that are actually there right now, not just the ones whose home map it happens to be.
Under the hood, transitionNpcToMap() handles the full lifecycle: removing the NPC from the source map, spawning them on the destination, and emitting socket events so all connected players see the arrival and departure in real time. The REST endpoint was updated to return visiting NPCs and exclude away NPCs, so the world state is always accurate.
Admin behavior editor
Content creators now have a full NPC behavior editor in the admin dashboard. You can set the behavior type (static, patrol, wander, or scheduled), configure patrol waypoints with position, pause duration, and facing direction, and define daily schedules that include cross-map transitions. A schedule entry can say “at 18:00, walk to tavern_interior at position (120, 80) and switch to wander behavior with custom dialogue.” The editor surfaces all of this in a clean UI with add/remove controls for waypoints and schedule entries.
Two new API endpoints back the editor: one for saving waypoints and one for schedules, both with audit logging so we can track who changed what. We also fixed a couple of bugs from 0.20.0 — a query that referenced a non-existent column for NPC map lookups, and missing fields in the NPC update handler that prevented saving behavior type and wander radius.
Try the EchoQuest Demo — free in your browser. Full game coming to Steam.