DEV Community

Rowan Vale
Rowan Vale

Posted on

Designing a Data-First Companion Wiki for DragonSword: Awakening

A game wiki becomes much more useful when it is treated as a small data product instead of a stack of prose pages. DragonSword: Awakening is a good example because its 19 playable heroes, Tag-team interactions, upgrade materials, and exploration data all overlap.

Start with a normalized content model

I would keep heroes, roles, elements, skills, materials, recipes, and map locations as separate entities, then connect them through stable IDs. That avoids copying the same material or skill data into multiple pages and makes later balance updates less error-prone.

A hero record can stay small:

{
  "id": "hero-slug",
  "role": "breaker",
  "element": "fire",
  "tagTriggers": ["launch", "stun"],
  "materialIds": ["mat-a", "mat-b"]
}
Enter fullscreen mode Exit fullscreen mode

The public hero directory is the human-readable view, while the same relationships can drive filters and comparison tools.

Build tools from the same source

Once the content is normalized, a team builder should not need a second hand-maintained dataset. It can derive role coverage, Tag-chain compatibility, and missing support functions from the hero records.

The same principle applies to a material planner: let users select upgrade goals, aggregate required items by ID, and show which requirements are shared across heroes. This is more useful than forcing people to maintain a spreadsheet beside the wiki.

Treat maps as structured data

An interactive map works best when each marker stores a type, region, coordinates, prerequisites, and source notes. That makes filtering and later validation much easier than embedding coordinates directly in presentation code.

Design for discovery

The main DragonSword: Awakening Wiki links the datasets and tools together, but every entity page should also provide contextual links back to related heroes, items, bosses, or locations. This helps both players and crawlers discover the graph naturally.

The broader lesson is simple: store facts once, derive tools from the same model, and make every useful record reachable from navigation and search. A companion site built this way can survive patches without turning each update into a manual rewrite.

Top comments (0)