Star on GitHubStar1.1k stars

Case study

Snowball War: a bounded REA-assisted minigame reconstruction

The author uses REA’s Ghidra workflow to investigate the DOS Ski or Die binary, document Snowball War rules and rebuild that one minigame in Rust with SDL2. The public notes distinguish recovered tables and mechanics from approximations and deliberate presentation changes.

Targets
Game
Category
Community REA investigations
Relationship
Author-reported mixed workflow
Sources reviewed

Requirements & limits

  • Prerequisites: Requires the user’s matching DOS/EGA game files and Python 3 for asset extraction. The Linux build uses Rust stable (author-tested with 1.93), Cargo and SDL2 development libraries; Cargo.toml specifies the SDL2 binding 0.37.
  • Attribution: The reported analysis used Ghidra 12.1.4 and JDK 21 through the REA CLI after unpacking EXEPACK. Caller-supplied function/code seeds are assertions.
  • Scope: Only Snowball War is reconstructed. Other events and the original engine are excluded; menus are new, and the close-up animation is deliberately restricted to the fort zone rather than reproducing every original placement.
  • Limits: The frame rate is approximated at 35 Hz, the original PRNG was not recovered, pause/exit keys are approximations, and audio playback is missing.
  • License: The pinned LICENSE.md and Cargo.toml offer MIT OR Apache-2.0, while the README’s license sentence mentions MIT only. Original art/audio must be extracted separately.

About this entry

The description was reviewed against primary sources.

Report an outdated entry Suggest a translation fix

Primary sources

  1. README.md GitHub · tuunanet/rea-ski-or-die-reconstruction · Revision 0eac067
  2. Cargo.toml GitHub · tuunanet/rea-ski-or-die-reconstruction · Revision 0eac067
  3. LICENSE.md GitHub · tuunanet/rea-ski-or-die-reconstruction · Revision 0eac067
  4. docs/reverse-engineering-notes.md GitHub · tuunanet/rea-ski-or-die-reconstruction · Revision 0eac067
  5. tests/gameplay.rs GitHub · tuunanet/rea-ski-or-die-reconstruction · Revision 0eac067

More in Games

All 318 entries in GamesGames case studies (239)

↑↓ move↵ open⌘↵ new tab