Skip to content

Atari Book-5 Arcade Skeletons → KN-86 Experience-Tier Candidates

Derives from: synthesis-atari-graphics.md §2 (book 5) + §5 (“ready arcade skeletons”). The two systems in book 5 (pursuit-AI, ELIZA) shipped as prototypes in GWP-658 (see Companion prototypes); this note enumerates the remaining arcade skeletons as experience-tier candidates. Anchors: ADR-0047 (the experience tier — tactical vs experience kinds; invoke → play → typed-outcome → pop; one-blit render; chrome rows persist; 20 fps), ADR-0045 (the hunt keeps ticking under a surface), ADR-0036 (the renderer), [GWP-654] (render/half-block-line — the keystone vector primitive these lean on), [ADR-0011]/economy (the gamble’s credit hooks).


ADR-0047 governs the foreground pixel tiers and splits them on the interaction axis:

  • tactical — pixel-addressed, event/command, discrete-state (turn-based). The ICE board charters this kind.
  • experience — pixel-addressed, active-loop/control, real-time (keys + trackpoint as controls). The drone pilot.

Every skeleton below is tagged with its kind, because the kind decides the router contract (event-redraw vs per-frame tick) and the input contract (commands vs controls). All of them:

  • draw inside Rows 1–73 (Row 0 / Row 74 chrome stay live — Spec Hygiene Rule 5);
  • are invoke-only — a cart/phase pushes the surface and supplies content + logic; the runtime owns the pixels (ADR-0047 Decision 2). No raw pixel access from cart Lisp;
  • resolve to a typed outcome the cart declares into UDS (ADR-0047 Decision 6), feeding the phase chain / objective model;
  • are bounded by the 20 fps shared single-threaded ceiling and painter’s-order redraw (no retained-layer compositor). Fast action must be designed to that ceiling;
  • monochrome → dither, not colour; animate the lookup, not the pixels (synthesis §4).

This is an enumeration, not a build queue. Each entry states the mechanic, the KN-86 framing, the render/FFI surface it needs, its dependency on the keystone line primitive, and the honest perf risk. Build order is a separate decision; the line-dependent ones (paddle, projectile) presuppose [GWP-654] (shipped).


1.1 Cell-scroll dodge — “ICE CORRIDOR”

Section titled “1.1 Cell-scroll dodge — “ICE CORRIDOR””
  • Book-5 mechanic: a fixed avatar, a scrolling field of obstacles; collision = test the next cell’s occupancy before the step. (Book 5’s clearest type-in pattern.)
  • KN-86 framing: the operator’s intrusion icon threads a collapsing ICE corridor — walls scroll toward you; a mis-stepped cell trips the ICE.
  • Kind: tactical (cell-addressed dodge is naturally discrete-step) or experience if driven on a continuous scroll. Default tactical — it’s the cheapest honest fit and reuses the cell grid directly (no pixel sprites required at all; this one can live almost entirely on the cell-* tier).
  • Render / FFI: cell glyphs + a scroll offset (the “fine scroll” idea from synthesis §2 book 1 — sub-cell pixel offset on a region); collision is a pure occupancy test (no new primitive). Soft-glyph plane (ADR-0052) for the scrolling wall texture.
  • Line primitive: not required.
  • Outcome: :cleared / :tripped (+ depth reached) → phase gate.
  • Perf: trivial — the lowest-risk skeleton, and the natural first experience-tier build. Composes with the ADR-0045 hunt (the corridor tightens as background heat rises).
  • Book-5 mechanic: successive waves of advancing attackers; the player holds a line, fire/again, escalating cadence.
  • KN-86 framing: the operator is a firewall — daemons advance across the grid in waves; you spend actions (or a cooldown’d “purge”) to hold the line. Reframes “defense” as ICE you operate, not fight.
  • Kind: experience (real-time waves) — but a tactical turn-based variant (“hold N turns, allocate purges”) is the safer first cut and pairs with the trace pursuit core (§Companion) for attacker steering.
  • Render / FFI: multi-cell sprites by handle (ADR-0047 draw-sprite), painter’s order (background → daemons → HUD), a cooldown meter on the CIPHER-LINE (aux-*). Glyph-cycle animation for the advancing front.
  • Line primitive: optional (targeting reticle).
  • Outcome: :held N waves / :breached → reputation/credit delta.
  • Perf: medium — many moving entities at 20 fps; cap concurrent sprites, drive motion off a tick budget, prefer glyph-cycle over per-pixel.

1.3 Reel + payout gamble — “CASINO / THE FLOAT” (economy-tied)

Section titled “1.3 Reel + payout gamble — “CASINO / THE FLOAT” (economy-tied)”
  • Book-5 mechanic: spin reels (or draw), score a combination against a payout table, settle a wager.
  • KN-86 framing: a back-alley credit float — wager deck credits, spin an amber reel of glyphs, settle against a payout table. The one skeleton that touches the economy directly.
  • Kind: tactical (discrete spin/settle; command-driven). Cleanly event-redrawn.
  • Render / FFI: rotating glyph reels (soft-glyph or glyph-cycle — “animate the lookup”); the wager/settle UI on the cell tier. Economy: the wager and payout MUST go through the sanctioned deck_set_*() mutators / NoshAPI credit primitives (integrity cores + bus publish, per ADR-0045 §Constraints + the economy core) — the minigame proposes a delta, the runtime settles it. Outcome schema in UDS.
  • Line primitive: not required.
  • RNG: deterministic, seeded, auditable (the deck’s LFSR / a carried LCG) — never host entropy; the payout odds are data, the “random within form” principle (synthesis §4) with a fixed house edge.
  • Outcome: :won <delta> / :lost <delta> → economy mutation (sanctioned).
  • Perf: trivial. Risk is design, not perf: an economy-affecting surface needs the credit path locked to the integrity core and the odds tunable as data — treat as a small economy ADR touch, not just a render.
  • Book-5 mechanic: a paddle, a bouncing ball, angle-of-incidence reflection, brick/▒ field.
  • KN-86 framing: DEFLECT — bounce an intrusion packet past an ICE wall / chip away a data block. The canonical real-time control test.
  • Kind: experience (continuous paddle control; trackpoint or keys).
  • Render / FFI: the ball is a sub-cell pixel sprite (smooth position via sub-cell offset, even at 20 fps frame rate — ADR-0047 reconciliation); the field is cells. Reflection math (vector reflect) is pure-logic, lifts cleanly to the C/system helper layer (ADR-0047 Decision 7: collision/easing/vector-math live in C, exposed as verbs).
  • Line primitive: yesrender/half-block-line (GWP-654) for the ball trail / aim guide on the 128×150 half-block canvas.
  • Outcome: :cleared / :missed (+ score) → phase gate.
  • Perf: medium-high — a real-time bouncing object at a 20 fps ceiling reads as “chunky”; tune ball speed to the cadence, keep one ball, design the feel to 20 fps rather than fighting it.
  • Book-5 mechanic: set angle + power, fire a ballistic arc, hit a target; iterate (the artillery/“gorilla” pattern).
  • KN-86 framing: LOB — arc a payload over an ICE wall onto a target node; wind/interference as a modifier. Turn-based aim-and-fire.
  • Kind: tactical (discrete aim → fire → observe → adjust; command-driven). A clean fit — no real-time loop needed.
  • Render / FFI: the trajectory is drawn with the line primitive (a sampled parabola = many short render/half-block-line segments — exactly the vector family GWP-654 unlocks); target + wall as cells. Arc integration is pure-logic (C helper or Lisp).
  • Line primitive: yes — central. This is the most direct consumer of GWP-654 in the arcade set.
  • Outcome: :hit (+ shots taken) / :out-of-shots → phase gate.
  • Perf: low — turn-based; the only cost is redrawing the arc per shot. The best showcase of the line primitive as gameplay (vs linelab’s attract use).

SkeletonCart nameADR-0047 kindLine primitive (GWP-654)EconomyPerf riskFirst-build rank
Cell-scroll dodgeICE CORRIDORtacticaltrivial1 (recommended first)
Reel + payout gambleTHE FLOATtacticalyes (sanctioned)trivial (design risk)2
Aim + power projectileLOBtacticalcentrallow3
Wave defenseFIREWALLexperience (tactical variant first)optionalreputation/creditmedium4
Paddle-ballDEFLECTexperienceyes (trail/aim)med-high5

Recommended sequencing: the tactical, line-free, perf-trivial ones first (ICE CORRIDOR, THE FLOAT), then the line-dependent tactical LOB (proves GWP-654 as gameplay), then the real-time FIREWALL / DEFLECT last (they pay the 20 fps tax). This mirrors the synthesis recommended order (cheap-substrate-first; the heavy real-time thing last) and ADR-0047’s “build one tactical (ICE board) + one experience (drone), extract a kit.”

3. Companion prototypes (shipped in GWP-658)

Section titled “3. Companion prototypes (shipped in GWP-658)”

The two book-5 systems (not arcade skeletons) were prototyped as Fe-Lisp mechanics-lab programs in this thread, and feed the skeletons above:

  • trace (runtime/programs/trace/trace.lsp) — the grid pursuit/evasion mini-AI (“Capture the Quark”). Its symmetric goal-bias + seeded-jitter + wall-avoidance step is reusable as the attacker/steering AI for FIREWALL (1.2) and any cell-grid hunt; it ties to [ADR-0045] (the background hunt that closes in). 10 tests.
  • echo (runtime/programs/echo/echo.lsp) — the CIPHER voice as a reactive ELIZA/Doctor engine (adapted from GNU Emacs doctor.el): equivalence classes + the $ rotating lists + positional dispatch + reflection. Routes through CIPHER on the OLED (ADR-0015). NPC/contact dialogue + interrogation for any surface. 9 tests.

No new resolution profile, grid, glyph dimension, or economy rule is introduced (Spec Hygiene). Every value referenced (1024×600 / 128×75, 128×150 half-block, 20 fps, the cell-*/render/* tiers, the credit mutators) is the canonical one. These are candidate carts — each becomes real only with its own per-surface design (kind, controls, layout, UDS return schema) under ADR-0047, and the economy-touching one (THE FLOAT) needs the credit path signed off against the integrity core before it ships.

Josh’s calls, made in the kn86-inspo workbench. Full map: cart-inspiration-map.md.

GameDestination
CASINO / the float skeleton (Atari)TRADECON
DEFLECT skeleton (Atari)ICE Breaker
ELIZA engine (Atari, shipped as echo)runtime / engineering
FIREWALL skeleton (Atari)ICE Breaker, Sysop Mode
ICE CORRIDOR skeleton (Atari)Nodespace
LOB skeleton (Atari)Shellfire
Pursuit AI (Atari, shipped as trace)ICE Breaker
Soft-glyph plane (Atari, shipped ADR-0052)attract / boot