Skip to content

Data format team ​

Use this team for a file the game reads: an archive, a level, a save, a sound or a table of rules. It decodes the format, proves the decoder on every file, and gives the port a reader.

Steps ​

OrderAgentBriefHands on
1re-identifier"Is <file type> a known engine or library format?"The format's origin in FINDINGS.md, with the evidence
2re-matcher (when a crate or library exists)"Compare <crate> with the game's decoder"A comparison report: matches, or the first difference
3re-decoder"Decode <file type>"docs/formats/<type>.md; a prototype reader that consumes every byte of every file
4re-porter"Port the <type> reader"A reader in the port with tests over every file
5re-verifier"Verify the <type> reader"Every file decodes; files the game writes round-trip byte for byte
6re-lander"Land the <type> format"A commit

Outcome ​

  • A format document: the layout, field by field, with offsets and evidence.
  • A reader that reads every file of the type to the last byte.
  • For files the game writes (saves, settings), a writer that reproduces the original bytes.

Choices for the main session ​

  • When re-decoder finds fields it cannot explain from the files alone, send re-tracer to the code that reads them.
  • Skip re-matcher when no ready implementation exists.

Code: Apache 2.0. Content: CC0 1.0. No game material: bring your own copy.