Skip to content

DataSheetLang

A “patch recipe” DSL for reliable, repeatable DataSheet changes.

MMORPG servers live or die by content cadence and reliability.

We want a predictable rhythm of updates and a workflow that makes changes safe to review, test, and repeat.

The problem: manual patching doesn’t scale

Section titled “The problem: manual patching doesn’t scale”

Game server data is full of relationships. A small change often touches multiple files, multiple IDs, and multiple rules. Hand-editing is fragile:

  • Easy to miss a reference or forget a “second file” that must be updated too
  • Hard to review at scale (diffs become noisy and inconsistent)
  • Risky to repeat for future patch transitions (copy/paste drift)
  • Difficult for non-programmers to contribute safely

A DSL (Domain-Specific Language) is a small language designed to solve problems in a specific domain. Instead of being “general purpose” like C# or JavaScript, a DSL focuses on one job and tries to make it easy, readable, and hard to misuse.

You may already use DSLs in real life:

  • SQL: a language focused on querying and shaping data
  • Spreadsheet formulas: tiny languages for calculations (“=SUM(A1:A10)”)

DataSheetLang is our domain-specific language for MMORPG server DataSheets: it turns patch intent into a clear YAML “recipe” that we can review, validate, and apply consistently.

(Also yes, DataSheetLang → DSL. Pun fully intended.)

  • Faster iterations with less chaos — ship updates more often without burning the team out
  • Safer changes (especially economy/progression) — fewer “oops” moments from missed references
  • Better collaboration — game designers can propose readable patch specs, and the team can review them
  • Long-term maintainability — the project can outlive any single person or editor workflow