Document .dat specification
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 14.4k
- Forks
- 1.3k
- PR merge metrics
- No merged PRs in 30d
Description
Required skills: Reading code
Difficulty: Easy
The Age of Empires .dat format is AoE's messy way of storing game data and unit stats. There is currently no official specification made available which makes writing and testing parsers very difficult. The format also changes with every game or expansion (and even some DE2 updates). It is not a great situation overall.
We should therefore create an unofficial specification of the several .dat file version that are floating around with added descriptions and comments if available. Our converter code already includes descriptions for some of the entries. More information about the differences between the versions can be found in the genieutils repository.
The specification document could be created as a table that looks roughly like this:
| Entry name | Data type | Description |
|---|---|---|
hp |
int16 |
Hit points |
line_of_sight |
float |
Line of sight |
Extra: If we want to go further, we could also add a nice HTML doc generated from the markdown. The agescx format doc is a good example for how this could look.
Further Reading
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the converter code and the linked openage datfile reader, then compare version differences in the genieutils repository. The specification should document the relevant .dat versions in tables with entry names, data types, and descriptions; an HTML document is optional.
Written by the indexing model from the issue text.
Assessment
- Domain
- documentation, game-dev
- Issue type
- Documentation
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100