Skip to content

Rewrite tech tree (Python + raylib)

Checkboxes are status for the Python + raylib rewrite. Each item includes what it unlocks for parity. Goal: 100% replication of game logic.

Foundations

  • PAQ archive reader + extract CLI -> Unlocks: asset extraction + texture cache.
  • JAZ decoder -> Unlocks: sprites, UI, terrain textures.
  • Texture cache (JAZ/TGA/JPG) -> Unlocks: boot splash, menu, views.
  • Raylib window loop + screenshot hotkey -> Unlocks: visual debugging.
  • crimson.cfg loader/writer -> Unlocks: screen settings + audio toggles.
  • Console UI overlay + commands/cvars -> Unlocks: interactive console parity.

Boot + front-end

  • Splash screen draw + fade timings -> Unlocks: boot parity visuals.
  • Stage-based texture loading -> Unlocks: menu/demo assets on time.
  • Company logo sequence + skip -> Unlocks: intro flow parity.
  • Intro/theme music playback -> Unlocks: boot/menu audio parity.
  • Main menu layout + animation scaffold -> Unlocks: menu navigation work.
  • Main menu buttons wired (Play/Options/Stats/Mods/Quit) -> Unlocks: front-end screen plumbing.
  • Menu terrain persistence (no regen between screens) -> Unlocks: menu navigation fidelity.
  • Panel menu slide animation (panel + BACK) -> Unlocks: Play/Options/etc screen frame parity.
  • Menu sign shadow pass (fx_detail) -> Unlocks: exact menu draw-pass parity.
  • Play Game panel (mode select + dropdown + tooltips + F1 overlay) -> Unlocks: mode selection UI parity.
  • Quest select menu UI -> Unlocks: quest navigation + gating.
  • Demo/attract scaffold -> Unlocks: idle flow and animation sanity checks.
  • Demo loop parity (idle trigger + variant sequencing + restart rules) -> Unlocks: title-screen behavior parity.
  • Demo upsell overlay (demo builds) -> Unlocks: shareware messaging parity.
  • Demo trial overlay (demo builds) -> Unlocks: trial messaging parity (UI + timer logic wired; demo-build validation pending).
  • Demo purchase screen flow (demo builds) -> Unlocks: upsell UI parity.

Data tables + content

  • Weapon table mirror -> Unlocks: weapon behavior modeling.
  • Perk/bonus tables -> Unlocks: perk/bonus logic.
  • Spawn template mapping -> Unlocks: creature labeling + quest spawns.
  • Quest builders (tiers 1-5) -> Unlocks: quest mode simulation.

Rendering + debug views

  • Terrain render-target + procedural stamping -> Unlocks: ground parity and quest previews.
  • Terrain decal baking (fx_queue_render port; used in Survival/Demo via GameWorld) -> Unlocks: baked blood/scorch/corpses on ground.
  • Creature animation preview -> Unlocks: sprite timing validation.
  • Sprite/particle/bonus/weapon atlas previews -> Unlocks: asset alignment.
  • UI + font previews -> Unlocks: HUD/menu layout checks.

Completed (gameplay integration)

  • Wire gameplay scene into the default crimson runner (player + camera + HUD) -> Unlocks: playtesting loop outside debug views.
  • Port player_take_damage + game over flow -> Unlocks: contact damage + death handling.
  • Game over / high score entry UI (Survival/Rush/Typ-o) -> Unlocks: post-run loop parity + score persistence.
  • Quest results / quest failed screens -> Unlocks: quest completion flow parity.
  • Integrate creature updates + spawners into runtime loop -> Unlocks: enemy waves in modes.
  • Integrate combat loop (projectiles -> creatures, death contract -> XP/bonuses/FX/SFX) -> Unlocks: combat parity.
  • Wire FX queues into gameplay ground renderer -> Unlocks: persistent blood/corpses in modes.
  • Implement Survival mode loop (rewrite runtime) -> Unlocks: first playable mode.
  • Replace DemoView toy simulation with gameplay scene -> Unlocks: reuse gameplay loop for attract mode.
  • Options screen (volume/detail/mouse + HUD toggle) -> Unlocks: basic config editing (video/controls parity pending).
  • Implement creature ranged attacks (CreatureFlags.RANGED_ATTACK_*) -> Unlocks: Survival enemy variety parity.
  • Implement split-on-death (CreatureFlags.SPLIT_ON_DEATH) -> Unlocks: splitter enemy parity.
  • Wire gameplay SFX/events (weapon fire/reload, hit, creature death) -> Unlocks: audio feedback parity.
  • Audio routing system with per-creature-type death SFX -> Unlocks: immersive audio parity.
  • Wire Rush/Quest/Typ-o/Tutorial mode loops into the default crimson runner -> Unlocks: additional playable modes.
  • Tutorial stage-based progression with hint system -> Unlocks: tutorial flow parity.
  • Typ-o-Shooter typing mechanics with target matching -> Unlocks: Typ-o mode parity.

Gameplay building blocks (implemented, not fully integrated)

  • Player input + movement state (sandbox view) -> Unlocks: controllable gameplay loop.
  • Weapon firing + reload timers (sandbox view) -> Unlocks: combat timing parity.
  • Projectile system (spawn/update/hit subset) -> Unlocks: damage + FX.
  • Bonus/perk application logic (subset) -> Unlocks: timers + power-up effects.
  • HUD overlay (health/ammo/bonuses) -> Unlocks: in-game UI parity.
  • SFX playback (music + SFX; basic gameplay events wired) -> Unlocks: gameplay/audio feedback.
  • Save/status integration (game.cfg load/save + stats screen) -> Unlocks: persistence + unlock tracking.

Gaps (still missing)

  • Creature runtime parity gaps: AI edge cases and remaining per-weapon behaviors.
  • Some gameplay SFX/events: perk UI selection sound, ranged enemy fire SFX.
  • Multiplayer (2-4 players): multiple players spawn, but inputs are currently mirrored (shared controls).
  • Full Options/Controls parity: key/axis rebinding, video/window mode editing, full widget set.
  • Some progression/unlock wiring and statistics counters are still incomplete.
  • High score list screen (post-run): implemented locally; online scores still missing.

Later parity gates

  • Multiplayer wiring (2-4 players) -> Unlocks: local multiplayer parity.
  • Credits/secret minigames -> Unlocks: secret path parity.
  • Online high scores -> Unlocks: score submission parity.
  • Mods (CMOD) loader -> Unlocks: mod parity.
  • Confirm demo idle threshold from original demo build -> Unlocks: attract timing parity.