Coverage and scope¶
The Python port supports boot, menus, all five gameplay modes, game-over and quest results, progression, high scores, options/controls, audio, terrain and world rendering. Quest content covers tiers 1–5. Local co-op supports 2–4 players in Survival, Rush and Quests; Typ-o and Tutorial use their own mode rules. All five modes share run initialization and deterministic replay execution.
See setup for invocation. This page describes supported scope, not a claim that every native branch has been verified.
Evidence and its limits¶
| Check | What it establishes |
|---|---|
tests/replay/test_live_run_start.py |
Live mode startup and recorder/playback agree on complete session state, including non-default settings. |
tests/modes/test_live_replay_invariant.py |
Live tick batching, controller input, and perk commands replay to identical complete session state. |
tests/render/test_ground_dump_fixtures.py |
Captured terrain images agree within the test's documented tolerances; requires assets and a display. |
crimson-core/checks/gate.py |
The recovered core agrees with Python's complete run results on the gate's replay fixtures and bot corpus under both bug policies, for one or two players in Rush, Survival and Quests with every control scheme, on 1.9.93's rules and on the 1.9.8 rules. Typ-o, Tutorial and three or four players are outside the verifier's scope; the service verifies one- and two-player runs. |
tests/native_oracle/ |
Ported functions agree bit for bit with the original code run under the native execution oracle on the tested cases. |
just check runs the repository gates. Skipped display-dependent tests do not
prove rendering parity, and startup smoke tests do not replace a full product
walkthrough. A checkpoint samples only part of the state; use complete session
digests for same-build port regression comparisons. Native parity claims need
address-keyed source evidence, a native-oracle test, or the core gate. See evidence records.
Intentional differences¶
--preserve-bugsselects the documented native quirks.- A run on the 1.9.8 rules plays 1.9.8's rule changes only, with 1.9.93's float arithmetic, menus and input; see what stays 1.9.93's.
- Exact multiplayer parity targets the native ½-player paths. The ¾-player extension must preserve those outcomes; see local multiplayer.
- Rendering has explicit options and sampling differences; see terrain and RTX rendering.
- The original's mods are DLL plugins, out of scope in every version. The web and native clients' Mods entry
browses the custom quests published on the leaderboard instead; the Python port
plays them with
crimson quest play. - The original's Other Games advertisement flows and its
online scores client for
scores.crimsonland.comare out of scope. Ranked runs go to the crimson.land leaderboard under the ranked rules. - The Python port has no network play. Online co-op is crimson-core's: two players in the browser (crimson.land/play, joined by an invite link) with rollback, their runs ranked on the co-op boards; see the network co-op specification.
Outstanding native timing, precision, input-scheme and visual differences should be recorded with a reproducer and evidence. A completed implementation plan or a green generated corpus is not a list of all remaining parity gaps.