ClockworkRS Docs

Project Evaluation — State of the Base & Build Order (2026-06-29)

A full audit of the rsmod base to decide what to build before layering more Leagues V mechanics.

A full audit of the rsmod base to decide what to build before layering more Leagues V mechanics. Goal: a near-1:1 Leagues V (Raging Echoes) replication. Conclusion up front: the engine is excellent and OSRS-accurate; the game content is an early vertical slice. Leagues mechanics (tasks, relic/mastery effects, region gating) fundamentally depend on that content existing, so we build the base game systems first.


⏱ Status update (2026-06-30) — read this first

  • Milestone M1 (Tier A) — DONE & verified. Drop tables (A1), player death item-keeping (A2), and NPC ranged/magic AI (A3) are built, plus a bulk import of combat data for 1192 monsters. The player-attackability "bug" turned out to be a client setting, not a server/cache issue. Combat is complete enough to move on; remaining items are polish (per-npc projectiles, special attacks, prayer effects — see COMBAT-NOTES.md), not blockers.
  • AI-driving harness detour (shelved): built a from-source RuneLite fork (github.com/ anthonyloukinas/rsmod-client) so an automation plugin could drive the client headlessly. It builds + reaches login and JS5/revision/RSA all work, but the game-login connection (wb.bf) is a deep protocol blocker (RSProx's domain) — shelved, fully documented in rsmod-client/rsmod/NOTES.md. For now AI testing uses the screenshot/scripts harness (server/scripts/ui.ps1 etc.); a dedicated VM is the planned long-term home for unattended AI driving.
  • PIVOT (decided with the owner): before any more Leagues meta-layer (Tier D), implement every base skill and its training methods (Tier B) first. Relics/masteries/tasks all modify skills, so the skills must exist for those effects to be meaningful. (The early Phase-2 relic-XP slice was out-of-sequence Tier D — fine as a proof, but Tier B comes first.)
  • NEXT: a large parallel skill-research effort — deep-research every OSRS skill into docs/skills/<skill>/ (training methods, XP rates, items, level requirements, minigames, interactions, assets), then a synthesis pass for cross-skill/mechanic intersections — so implementation is as close to one-shottable as possible. Plan: docs/skills/SKILL_RESEARCH_HANDOFF.md.

1. Executive summary

LayerCompletenessNotes
Engine / API (engine/, api/ — 56 modules)~85–90%Production-grade, unit/integration-tested, OSRS-accurate.
Game content (content/)~10–20%Lumbridge slice + 1 skill + melee PvM loop + our Leagues UI layer.
Leagues meta-layer (content/leagues)UI ~donePanels/relics/masteries/regions navigable; effects/tasks need real systems to hook.
Upstream rsmoddormantmain last commit 2025-09-30 (our fork point); no new commits in ~9 months. We build everything ourselves.

The engine can already simulate the whole game — full map loads with collision, pathfinding, regions/instancing, the complete type system, item/combat data from cache, SQLite persistence, and RSProt networking. What's missing is scripted content: skills, monster behavior+loot, quests, minigames, world interactions.


2. State of systems (audit detail)

Solid foundation (engine, ready to build on)

  • World/map: every keyed map square decodes — tiles, collision, locs, npc/obj spawns, polygon areas (api/cache/.../map/GameMapDecoder.kt). The whole walkable world exists.
  • Movement/pathing: complete BFS routefinder + LoS/LoW (engine/routefinder/), walk/run, teleport primitives, dynamic regions/instancing (api/repo/.../region/).
  • Items/equipment/inventory: equip/unequip, worn bonuses feeding combat (api/player/.../bonus/ WornBonuses.kt), transactions, stackable/noted, ground spawns. ~35k lines of obj enrichment.
  • Persistence: SQLite + Flyway; saves position, varps/varbits, all stats/XP, inventories + worn + bank, run energy, xp rates. Account pw-hash + TOTP 2FA.
  • Combat formulas: accuracy + max-hit for melee/ranged/magic across PvN/NvP/PvP/NvN, attack timing, hit queues, retaliation, prayer + equipment integration — extensively tested to OSRS values.
  • NPC AI: full mode machine (wander/patrol/follow/escape/face) + aggression/hunt with correct OSRS rules (api/game-process/.../npc/).
  • Frameworks present: special attacks (api/specials), spells (api/spells), shops (api/shops), prayer drain, XP/level/invisible-boost/xp-mod systems.

Implemented content (the vertical slice)

  • Combat: a playable melee PvM loop works end-to-end — a player can melee an NPC and it melees back, with accurate rolls, prayer, retaliation, npc death + respawn.
  • Woodcutting: ~85% of its own scope (all tree tiers, all axes, success rolls, depletion/respawn).
  • Magic: the 20 standard elemental combat spells.
  • Banking (robust, tabbed), Equipment, Prayer, Shops framework, Canoe travel.
  • World: generic loc handlers (doors/ladders/staircases/bank booths/etc.) map-wide; Lumbridge town scripted (NPCs/dialogue/shop). No other city scripted.
  • Leagues: panels + relic/mastery/region selection UI + nav, plus the relic XP-modifier pipeline.

The gaps (what's missing for 1:1)

Critical / foundational

  1. Drop tables — entirely absent. NPCs drop only bones (NpcDeath.spawnDeathDrops is a TODO). No drop-table type, per-npc data, weighted rolling, or rare-drop-table. Highest-leverage gap — without it, combat is unrewarding and most Leagues tasks are meaningless.
  2. ~18 of 23 skills unimplemented. Only Woodcutting (+combat Magic). Cooking/Fishing are empty stubs. No reusable gather/produce skilling framework (woodcutting is hand-rolled).
  3. NPC ranged/magic combat not wired (formulas exist; AI only does melee).
  4. Player death item-keeping missing (keep-3/skull/gravestone is a TODO; respawn hardcoded).

Content breadth 5. No bespoke monster/boss content (no custom mechanics, no Echo bosses). 6. No quests, slayer, farming, clues, diaries, minigames — only cache type defs + journal UI scaffolding. These are the backbone of Leagues tasks. 7. No Grand Exchange; minimal travel (canoe only; no spell/jewelry teleports, fairy rings, etc.). 8. Only Lumbridge scripted of the entire (loaded) map.


3. The key insight for sequencing

Leagues is a meta-layer over the base game. Its tasks fire on gameplay events ("kill X", "reach level Y in skill Z", "loot item I", "complete quest Q"); relics/masteries modify skills/combat/drops; region gating restricts where you can do all of the above. None of it is meaningful until the base systems exist. So the order is: build the base game's core loops → then the Leagues layer hooks into real systems. This matches the original DESIGN through-line (mechanics are server-side and independent of cache rev) — we just under-estimated how little base content rsmod ships.

The encouraging part: because the engine is complete and accurate, this is content authoring on a solid foundation, not engine work. And one system — drop tables — unblocks both "rewarding PvM" and "most Leagues tasks" at once.


Each tier is a coherent, demonstrable milestone. Within a tier, items are roughly independent.

Tier A — Make PvM real (the fastest path to a fun core loop)

  • A1. Drop-table system — type (main/tertiary/rare-drop-table), per-npc data (toml + cache param), weighted rolling, quantity ranges, into the existing NpcDeath delivery path. Single highest-value task in the whole project.
  • A2. Player death item-keeping — keep-3/skull, gravestone or pile, respawn options.
  • A3. Wire NPC ranged/magic AI — monsters fight with all styles (formulas already exist).

Tier B — Skilling framework + core skills (the bulk of OSRS play)

  • B1. Reusable skilling action-loop (gather + produce + success rolls), abstracted from woodcutting — a force-multiplier so each skill isn't hand-rolled.
  • B2. Gathering: Mining, Fishing (clone the woodcutting pattern). Hunter, Runecrafting later.
  • B3. Production: Cooking, Firemaking, Smithing, Crafting, Fletching, Herblore.
  • B4. Support: Agility, Thieving, Farming, Slayer, Construction, Prayer (bones/altars).

Tier C — Content breadth

  • C1. Bestiary — real monsters with stats (from cache) + drop tables (data-sourced) across the map.
  • C2. World — script key regions/NPCs; spellbook + jewelry teleports; banks/altars/ranges placed.
  • C3. Systems — Slayer tasks, Farming patches, Clue scrolls, the quests Leagues needs, minigames, GE.

Tier D — Leagues integration (resume earlier work, now with real systems to hook)

  • D1. Tasks engine (the old Phase 3) — event-bus matcher → points/task-count; now meaningful.
  • D2. Relic/mastery effects (the old Phase 2) — faithful, because skills/combat/drops now exist.
  • D3. Region gating + scoring — the full Leagues loop closes.

5. Content-sourcing strategy (important)

Hand-authoring all OSRS content (drop tables for ~3,000 NPCs, every skill's data, item stats) is enormous. Mitigations:

  • The cache already provides item stats, NPC combat stats, spawn locations, the map, and interface assets. Much "data" is present — what's missing is mostly drop data and behavior.
  • Bulk-import data (drop tables, spawn lists, skill resource tables) from open sources (OSRS Wiki data dumps, RuneLite, mature open RSPS) into rsmod's toml/param formats, rather than typing by hand. Behavior still needs scripting, but data import is a huge accelerator.
  • Generic, data-driven handlers (like the existing generic-locs / woodcutting param pattern) let one script cover hundreds of resources/monsters.

6. Scope & milestones (be realistic)

True 1:1 Leagues V is a multi-year, full-OSRS-content effort. Suggested milestones to make progress tangible:

  • M1 — "Rewarding PvM": Tier A (drop tables + death + multi-style monsters). A player can fight monsters and get real loot. Small, high-impact.
  • M2 — "Trainable core": Tier A + B1–B3 (skilling framework + gathering + production skills). Most of the day-to-day OSRS loop is playable.
  • M3 — "Leagues-ready slice": + a slayer/clue/quest sample + the Tasks engine (D1), so a real subset of Leagues tasks can be completed for points in the Lumbridge/Misthalin region.
  • M4+: breadth — more regions, bosses (incl. Echo bosses), full skill set, relic/mastery effects, region gating, scoring → converging on 1:1.

Recommended next step: start Tier A1 (drop-table system). It's the highest-leverage single piece, unblocks rewarding combat immediately, and is a prerequisite for the majority of Leagues tasks.

On this page