Overview
Replays capture input events with frame-perfect timing, enabling:- Verification — Validate gameplay claims and scores
- Benchmarking — Measure simulation performance
- Video Rendering — Export to high-quality MP4
- Parity Testing — Compare against original executable
- Timeline Analysis — Extract gameplay events
Replay File Format
Replays use the.crd (Crimsonland Replay Data) format:
- Binary msgspec-encoded structure
- Header with game mode, seed, settings
- Frame-by-frame input events
- Claimed final stats (score, kills, etc.)
- SHA256 hash for integrity
Commands
List Replays
base-dir/replays/ with metadata.
Learn more →
Play Replay
Verify Replay
Render to Video
Benchmark Performance
Extract Timeline
Recording Replays
Replays are automatically recorded during gameplay when using a seeded run:- Game mode and settings
- RNG seed
- Input events with tick timing
- Final stats (score, kills, time)
Deterministic Simulation
Replays rely on deterministic simulation contracts:- Identical RNG — Same seed produces same random sequence
- Float32 Parity — Math operations match original executable
- Frame-Perfect Input — Events occur at exact tick indices
- No External State — Simulation depends only on seed + inputs
Verification Workflow
1. Record Gameplay
2. Verify Score
3. Export Timeline
4. Render Video
Use Cases
Speedrun Verification
Verify claimed times and scores:Performance Benchmarking
Measure simulation throughput:Parity Testing
Compare against original game using checkpoint verification:Content Creation
Render high-quality gameplay videos:Debugging
Extract detailed event timeline:Replay Storage
Replays are stored inbase-dir/replays/:
<mode>-<timestamp>.crd
Advanced Features
Checkpoint Sidecars
Store periodic state snapshots alongside replays:RNG Tracing
Enable detailed RNG call tracing:Partial Replay
Simulate only first N ticks:Limitations
- Replays are tied to game version (breaking changes invalidate old replays)
- Multiplayer replays require network determinism (experimental)
- Visual settings (RTX mode) don’t affect simulation but change rendering
Replay Schema
Replays use msgspec for fast serialization:crimson.replay.types for full schema.
Next Steps
List Replays
Browse saved replays
Play Replay
Watch replay playback
Verify Scores
Validate gameplay claims
Render Video
Export to MP4