Repository navigation
Prehistorik 2 native port — v0.4.0
The bridge-free product milestone: the shipped game now carries none of the verification/snapshot/VM machinery — the workbench is a detachable plug-in used only for recording, snapshots, and byte-exact verification. On top of v0.3.2.
🏗️ The detachable workbench (the milestone)
- The boundary is machine-enforced: shipped code (
recovered/views/native/enhanced/codecs+ the entry scripts) may never importpre2.bridgeordos_re— not even lazily;scripts/lint.pyfails the build otherwise. The workbench imports the product, never the reverse. - Demo replay is a product feature:
play_native.py --play-demoreplays recorded runs (front-end presentation + byte-exact tick replay) with zero workbench code. - The deployed tree ships no bridge, no VM, no game data — verified per release.
📖 Human-readable, field-backed state
- All gameplay code reads/writes named state (
player.xvel,g.energy,enemy_slots[3].state) through the evidence-annotated view layer — ~260 raw-offset sites eliminated. - Every mutable byte of the game's data segment is named (fields, indexed records, or declared arenas): the cartography proof counts zero written-unnamed bytes over the demo corpus.
- The machine-readable offset map generates into the bridge (
field_registry.py, drift-guarded); the bridge serializer converts a live game state to/from a human-readable named snapshot and diffs two states by field name. - The whole seam is corpus-proven: per-tick round-trip identity, mutation coverage, and backend equivalence over all 4,146 fields across every recorded demo (919/207/187/68/15 ticks — all byte-identical to the original ASM oracle).
📦 Downloads
| file | platform |
|---|---|
pre2native-v0.4.0-win64.zip |
Windows x64 (standalone, no Python needed) |
pre2-v0.4.0-arm64-v8a.apk |
Android (arm64) |
Both need the original game files (*.SQZ, *.TRK) next to the executable / picked at first launch — no game data is distributed.
🤖 Generated with Claude Code