nyan - yet another notation
nyan is the data storage format for openage.
We developed it because of the lack of any format suitable for storing the enormous complexity of the Age of Empires data in a sane and readable way.
Yes, the data could be written in yaml
, json
, xml
, csv
or a docx
and contain the exact same information.
But you could also use a hexeditor to write the bytes yourself,
or even use butterflies to change the bits on disk.
So we try to maximize the experience for both developers and modders. Users give a shit about how things work internally, and as we're doing this project for fun and not profit and quick results, we developed a data language to suit our needs.
nyan allows us to have a typesafe hierarchical data storage, so all content data can be verified to be compatible at load time.
It is easy to read, write and modify, and most importantly, it can actually store unit upgrades, unit abilities, research, civ bonuses and age upgrades.
nyan is a general purpose data language, the following describes the openage specific usage of it.
For the beginning, you can look at these resources to find examples of the nyan notation:
- nyan docs
- converted game assets from our converter
- openage modding guide for nyan