s2protocol-rs
A nom parser for the Starcraft 2 Protocol Replay format.
Generating code:
The rust code for the protocol87702 was generated by running:
RUST_LOG_SPAN_EVENTS=full RUST_LOG=debug
In order for this to work, the repo from Blizzard must be cloned at ../s2protocol
.
Sources
Motivation
The goal is to learn how to parse binary files format with nom
and to learn
how the Starcraft 2 Replay file is so incredibly small for the amount of
information it packs.
From the available data, generative art can be created, for example by using nannou (PoC missing) bevyengine/bevy can be used to see:
- An Enhanced Replay Minimap
- Additional statistics. See the repo sebosp/swarmy for an example on how this can look like.
Status
- Replay Tracker for protocol87702
- Calculating the unit movement is not done yet,
- Decoding the tag/recycle is missing to match Game Events.
- Game Events are not parsed yet.