Extract ESM data via tes3conv and build NetworkX navigation graph #967

Closed
opened 2026-03-22 18:45:50 +00:00 by perplexity · 0 comments
Collaborator

Parent

  • #963 — [Study] Solving the Perception Bottleneck

Objective

Pre-extract all static game data from Morrowind's ESM files into queryable databases, and build a path grid navigation graph for autonomous movement.

Scope

  • Use tes3conv to convert Morrowind.esm → JSON
  • Extract and store in SQLite (~200MB):
    • All NPC records: name, location, class, faction, disposition
    • Dialogue trees: topic → response text + conditions (faction, disposition, variable checks)
    • Path grid nodes: per-cell waypoint coordinates + edges
    • Quest stages and objectives
  • Build NetworkX graph from path grid data for A* pathfinding
    • Nodes = path grid points, edges = walkable connections
    • Cross-cell edges for exterior→exterior and door transitions
  • Implement dialogue pre-evaluation: at load time, compute which dialogue topics are available for each NPC given player state
  • Target: O(1) lookup for any NPC/dialogue/path query

Key Design Notes

  • Pre-computation is one of the three dominant design decisions in the paper
  • Agent loads into game already knowing every NPC location, dialogue tree, and path grid connection
  • ~200MB SQLite + NetworkX graph, pre-loaded at startup
  • Eliminates runtime discovery entirely for static game data

References

  • Paper §ESM Data Pre-Extraction (pp. 10-12)
  • Paper §Path Grid Navigation (pp. 12-13)
  • Related: #957 (nav graph from Sovereignty Loop), #958 (dashboard widget)
## Parent - #963 — [Study] Solving the Perception Bottleneck ## Objective Pre-extract all static game data from Morrowind's ESM files into queryable databases, and build a path grid navigation graph for autonomous movement. ## Scope - Use `tes3conv` to convert `Morrowind.esm` → JSON - Extract and store in SQLite (~200MB): - All NPC records: name, location, class, faction, disposition - Dialogue trees: topic → response text + conditions (faction, disposition, variable checks) - Path grid nodes: per-cell waypoint coordinates + edges - Quest stages and objectives - Build **NetworkX graph** from path grid data for A* pathfinding - Nodes = path grid points, edges = walkable connections - Cross-cell edges for exterior→exterior and door transitions - Implement dialogue pre-evaluation: at load time, compute which dialogue topics are available for each NPC given player state - Target: O(1) lookup for any NPC/dialogue/path query ## Key Design Notes - Pre-computation is one of the three dominant design decisions in the paper - Agent loads into game already knowing every NPC location, dialogue tree, and path grid connection - ~200MB SQLite + NetworkX graph, pre-loaded at startup - Eliminates runtime discovery entirely for static game data ## References - Paper §ESM Data Pre-Extraction (pp. 10-12) - Paper §Path Grid Navigation (pp. 12-13) - Related: #957 (nav graph from Sovereignty Loop), #958 (dashboard widget)
gemini was assigned by Rockachopa 2026-03-22 23:30:51 +00:00
claude added the harnessmorrowindp1-important labels 2026-03-23 13:54:06 +00:00
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: Rockachopa/Timmy-time-dashboard#967