Skip to content

Roadmap

clockwork is under active development against a live game client. This page is a snapshot of what's shipped, what's in progress, and what's next — not a promise of dates. If a feature you're relying on shows up here as unfinished, that's the state of it; if a page elsewhere on this site describes something that contradicts this one, this page is more likely to be stale — check the project's issue tracker for the current word.

For permanent design choices (not gaps to be filled in) see Differences from MacroQuest instead.

Marker Meaning
Shipped Live and usable today.
In progress Partially working, actively being built out.
Planned Scoped or designed, not started.
Blocked Waiting on something else landing first.

Combat automation (jidou)

jidou now fights. The rotation executor is wired in: it walks dynamic, reorderable priority passes (each with its own on/off toggle), driven by per-class config profiles, with single-vs-group heal detection and a working pull module. See /jidou. What's left is refinement — weave/Ascension-combo awareness so a non-landing ability doesn't starve the passes below it, closing per-class rotation gaps, and RGMercs UI parity. clockwork also ships the alternative, self-contained /gyonin rotation engine.

What Status
Rotation executor — dynamic, reorderable priority passes with per-pass on/off toggles, one cast per pulse Shipped
Per-class config profiles + single/group heal detection Shipped
Instance automation — auto instance runner with per-zone profiles and health checks (early: a few zones so far) In progress
Weave / Ascension-combo awareness — non-landing abilities can currently starve lower priority passes In progress
Pulling module — full parity (unified camp logic, multiple pull modes, peer vitals watch) In progress
Buff-starvation fix across several shipped class configs (an over-broad "self-maintained buffs" list can starve rotation rows below it) In progress
Autoloot — pipeline works end to end, blocked on knowing free bag space before looting Blocked
jidou UI parity with RGMercs (HUD mode, theming, 2D map) — status, settings, and target windows plus a compact HUD mode, a theme engine, animated widgets and toasts (native ImAnim tweens), a peers window and a 2D map now exist; remaining parity polish is ongoing In progress
Item/clicky use inside rotations Planned
A handful of specific per-class rotation gaps (e.g. a Fury precast chain, Swashbuckler flanking detection) Planned
What Status
Offline-baked zone navmeshes — clockwork bakes its own (VDB → Recast/Detour via eq2meshgen), superseding the earlier .jbm approach. The .voc scene-graph format is now fully decoded, so placed props (torches, fences, whole effect assemblies) sit at their true world positions instead of collapsing to the origin and trapping bots; every zone (800+) is baked and shipped Shipped
Navmesh/path overlay + click-to-navigate — mesh, path, and point-of-interest overlays are live; drawing them over the real (non-top-down) camera view needs camera-matrix access clockwork doesn't have yet In progress
Swimming/flying movement — 3D movement primitives exist (fishing move-to, direct-move) and /nav followclose now follows a leader in flight and underwater; general swim/fly pathing is still being built out In progress
Modern-overland "missing floor" — a handful of zones still lack decoded CDLOD heightmap terrain in the mesh bake Blocked
Full raid-roster detection — the client's raid-subgroup layout in memory hasn't been located yet, which caps how complete Raid and raid-scoped multibox broadcasts (/dgra//dgre) can be Blocked

Multibox

What Status
Background hotbar/key broadcast across peers — the full input-relay pipeline is built and reverse-engineered, but hasn't been run against a live client yet In progress
A general cross-client messaging bus — /dga//dge are wired directly for now and will become this bus's first built-in user once it lands In progress
Raid-scoped broadcast reliability Blocked — see raid-roster detection above

UI automation

What Status
<List>-control row reading (unlocks quest-journal picks, group/raid panel rows, and more) — mostly scoped, close to landing Planned
Recursive UI-tree inspector with a live property grid Planned
2FA / security-challenge login flows — normal auto-login works, these don't yet Planned
Console color-token support (\aw/\ag-style chat coloring) Planned

Lua API

What Status
Quest-update event — eq2.on_quest_update raises every quest's full objective checklist on each details update (the ISXEQ2 EQ2_onQuestUpdate analog), with a per-quest cache in lib.questjournal. Delta-only for now: a login-time replay so it can describe quests accepted before clockwork loaded is the next step Shipped
Any-actor cast state — the per-actor casting cluster (spell id, start, duration, interrupted flag) is now readable for any actor, not just yourself, so Target/Spawn[..]/group members expose what they're casting; plus eq2.ability_name(id) and eq2.now_unix_ms() Shipped
LuaJIT FFI — enabled behind eq2.ffi with a guarded struct registry, so scripts can declare and read game structs directly Shipped
Direct memory access — generic eq2.mem.* read and write primitives (with eq2.sig.* signature scanning) for building thin features in Lua Shipped
ImGui.Image / ImageButton — real textures now render: DDS icon sheets are loaded into an image cache and bound safely (binding a raw game-owned texture id is still refused, since doing it wrong crashes the client) Shipped
A key-binding system — react to a real physical keypress, not just polling inside an ImGui frame Planned
ImPlot bindings Planned

Core / engine

What Status
Crash minidump pipeline — a crash logger exists today; a full Crashpad-style minidump doesn't yet In progress
Central game-thread work queue — the foundation later phases are built on In progress

Known issues

  • A Lua crash tied to stale script state, roughly half a second after character death. Open, not yet root-caused.
  • A rare client crash at character select, triggered by a connection-teardown race condition.

Non-goals

Explicitly out of scope, not just "not done yet":

  • No C-ABI plugin interface. Lua is the only extension surface — see Differences from MacroQuest.
  • No .mac macro language.
  • No committed cross-PC/LAN multibox target. Same-box multibox is what's built and tested; the design doesn't rule out LAN, but it isn't a promise.
  • No EverQuest II XTarget equivalent — the game itself has no such window.
  • No anti-cheat evasion or hardening shipped. EverQuest II has no anti-cheat today; this would only be revisited if that changes.

See also