Stop describing game worlds, entities and rules using formats made for machines.
Hova is a human-friendly DSL made for world-building, entity definition, modding ecosystems, NPC sets, configuration-heavy systems and narrative universes. Write structured worlds once โ export instantly to JSON, YAML or TOML.
Hova is a Domain-Specific Language for describing worlds.
It is used to define:
- games and engines
- RPG & world-building projects
- modding frameworks
- structured narrative systems
- projects with many entities and metadata
Hova files are written by humans.
They are compiled into JSON, YAML or TOML for machines.
๐ More info & docs: https://hova.space
Hova was created by Gabriel Xavier (dotxavierket) to solve a real problem:
Developers, modders, writers and engine creators repeat data structures too much. They fight ugly configuration formats. They lose clarity.
Hova exists to:
- make entity definition readable
- formalize worlds without pain
- keep creativity without chaos
- export clean data that engines love
If your world has entities, rules, metadata or structure, Hova is for you:
โ Game devs โ Indie studios โ Modders โ Narrative designers โ Engine creators โ Tool builders
This is the question everyone asks. And it's the wrong one.
JSON is an excellent machine format. It is stable, universal and easy to parse.
But JSON was never designed for human authorship at scale.
The real problem with JSON
JSON works great when:
- generated by tools
- used as output
- consumed by engines
JSON breaks down when:
- written by hand
- maintained long-term
- used to describe large worlds
- edited by designers or writers
In game development, world data grows fast: enemies, items, NPCs, factions, rules, metadata.
JSON does not communicate intent. it only stores structure.
Hova's position
Hova does not replace JSON.
Hova exists before JSON.
- Hova is the source of truth
- JSON / YAML / TOML are build artifacts
Just like:
- TypeScript -> JavaScript
- SCSS -> CSS
- Shaders -> bytecode
You don't write bytecode.
You don't write AST.
And you shouldn't have to write JSON by hand.
In short
JSON is for machines.
Hova is for humans.
To Hova:
/world
enemies.hova
items.hova
npcs.hova
After Build (Emiting as json):
/hovabuild
enemies.json
items.json
npcs.json
Hova is NOT a programming language. Hova does NOT execute logic.
Hova is for describing worlds. Clean. Expressive. Deterministic.
Machines consume JSON. Humans deserve Hova.
If you want to be what Hova really does.
Simple:
Medium:
Advanced:
{
"Enemies": {
"Slime": {
"Damage": 15,
"MaxLife": 50,
"Drop": {
"Gold": 5,
"Chance": 0.8
}
},
"KnightGuard": {
"Damage": 23,
"MaxLife": 200,
"Drop": {
"Gold": 25,
"Chance": 0.3
}
}
}
}Problems:
- Deep nesting hides meaning
- No semantic distinction between entities and metadata
- Repetition grows silently
- Refactoring is painful
- Hard to read as a world
anvil Enemies
atomic
atom emit : "json"
atom visual : "minimal"
end
ore Slime
spark Damage int : 15
spark MaxLife int : 50
ore Drop
spark Gold int : 25
spark Chance float : 0.3
end
end
ore KnightGuard
spark Damage : 23
spark MaxLife : 200
ore Drop
spark Gold : 25
spark Chance : 0.3
end
end
end
Benefits:
- Clear intent and hierarchy
- Entities feel like entities, not objects
- Structure reads like a design document
- Easy to expand, refactor and reason about
- Exports clean JSON instantly
| Hova | Meaning |
|---|---|
anvil |
world / root container |
atomic |
metadata + output behavior |
ore |
entity / object |
spark |
property |
Hova models structure. Your engine executes meaning.
Soon (not guaranteed but dreamed):
- Markdown +
.iniexport - Hova IDE
- VSCode plugin
- Better tooling
- Game engine adapters
See full roadmap: Hova Roadmap
Go to https://github.com/G4brielXavier/Hova
Download installer from Releases.
1๏ธโฃ Create shapes.hova
2๏ธโฃ Write:
anvil shapes
atomic
atom emit : "json"
atom creator : "dotxav"
end
ore Square
spark sides int : 4
end
ore Triangle
spark sides int : 3
end
end
3๏ธโฃ Run:
hova forge shapes.hova
Output appears in:
hovabuild/json
Set output:
atomic
atom emit : "yaml"
end
Hova builds:
hovabuild/
json/
yaml/
toml/
Hova is dual-licensed.
If you are a company or plan to monetize a product using Hova, you must use the Commercial License.
Free for:
- individuals
- students
- hobby & open-source
- research
- non-profit
Required for:
- companies
- studios
- SaaS
- commercial production use
See:
- LICENSE-AGPL
- LICENSE-Community.md
- LICENSE-Commercial.md
Commercial contact: ๐ง hovalicense@gmail.com
- Fork
- Create branch
- Commit
- Push
- PR
Ideas, docs, features and fixes are welcome.
View more here: Contribute Hova
Hova isnโt โjust another data formatโ.
Itโs:
- a language for worlds
- a bridge between creativity and machines
- something game dev tools donโt have yet
Hova is indie.
If this helped your game, mod or universe, support development ๐
๐ง๐ท Pix ๐ง nopaxxff@gmail.com
Foreigners can donate via Wise using this Pix.
