DataSheetLang
Why we’re building this
Section titled “Why we’re building this”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
What is a DSL?
Section titled “What is a DSL?”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.)
What this enables
Section titled “What this enables”- 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