TITLE Descent — A Vector Lander PROMPT A playable lunar-landing game drawn as if on a 1970s vector CRT (an X-Y monitor, not a raster screen): everything is glowing line segments, with phosphor persistence and beam bloom. An original game in the lander genre with its own terrain, ship and mission texts. Concept: the display technology is the aesthetic; the lines must feel like light. Palette: tube black #020403, phosphor mint-white #B8FFD9 for the hot beam core, green glow #5CFFB0 for bloom and trails; nothing else except a faint dark-green reflection of the room on the curved glass and near-black green tints for the cabinet. Dark page; the "screen" is a rounded-rectangle tube with a subtle barrel vignette, a thin bezel and a small engraved model plate ("VECTRON 21 · X-Y DISPLAY") with two screws and a power lamp under it. Rendering: Canvas 2D with additive blending ('lighter'): each line drawn several times (wide dim glow, medium, thin bright core); brighter dots at vertices where the beam dwells; instead of clearing each frame, a persistence layer is faded with a low-alpha black fill so moving things leave short decaying trails, and a blurred quarter-resolution copy of the picture is screened over it as halation; slight per-frame beam jitter (sub-pixel), occasional flicker, and a gentle barrel warp applied to every endpoint. All text on the screen is drawn with a custom vector stroke font defined in the page (line-segment glyphs for A–Z, 0–9, punctuation and arrows), never with fillText. Game: the lander (a small original module shape with cabin, window, splayed legs, antenna dish and a descent engine bell) starts high with horizontal drift over a procedurally generated jagged lunar terrain that repeats endlessly sideways, with a dim parallax ridge behind it and several flat pads of different widths marked with multipliers (×2, ×3, ×5). Physics: lunar-ish gravity, rotation left/right, main thrust with limited fuel, velocity in two axes; land upright, slowly, on a pad to score (multiplier × remaining fuel bonus). Crash: the ship breaks into its line segments which tumble, bounce and fade with physics, with a spray of sparks and a shock ring. As the ship nears the ground the camera zooms in smoothly (scale 1 → 2.5) for the final approach. Each successful landing starts a harder site: thinner pads, crosswind, less fuel. A mission has three landers; a crash costs one and retries the same site. HUD in vector type: ALTITUDE, HORIZONTAL and VERTICAL SPEED with little arrows, FUEL as a segmented bar, SCORE, SITE number, remaining landers, crosswind, and a blinking DESCENT RATE warning. Messages in deadpan mission-control voice, typed out character by character: "CONTACT LIGHT. ENGINE STOP. THE EAGLE-EYED AMONG YOU MAY EXHALE.", "YOU HAVE CREATED A NEW CRATER 2 KM WIDE." Signature moment: thrust. The engine plume is a flickering fan of vector lines whose length follows throttle; it kicks up line-particle dust from the surface when close, and all of it smears with phosphor decay, lighting the tube. Also an attract mode: before start, the screen shows the title "DESCENT" drawing itself stroke by stroke as a beam trace, a slowly rotating wireframe moon with craters, and an autopilot demo landing in the background. Controls: keyboard (left/right or A/D rotate, up/W/space thrust, Enter start, R restart, P pause, M sound, Esc back to the title); touch: three large vector-outlined buttons along the bottom (rotate left, thrust, rotate right) that light up and hatch when pressed and support multi-touch; a vector-outlined start control and a pause control. Optional sound (off by default, vector-drawn speaker toggle): thrust rumble from filtered noise, low beeps for altitude warning and low fuel, a crunch for crashes. Reduced motion: no jitter or flicker, shorter trails, title shown without the trace animation. Responsive: the tube fits the viewport with correct aspect on phones in portrait (taller, narrower playfield). DESCRIPTION A single cathode-ray tube sits in a dark cabinet above an engraved model plate. Everything on its face is light: mint-white beam cores wrapped in green bloom, vertices that burn a little brighter where the beam pauses, and a phosphor that takes a moment to forget what it was shown. The attract screen traces the word DESCENT one stroke at a time while a cratered wireframe moon turns behind it and an autopilot quietly demonstrates a landing below. Starting a mission hands over a small legged module drifting above jagged regolith; the camera eases in to two and a half times scale as the surface approaches, the engine plume fans out and flickers, dust streaks away along the ground in short glowing lines, and the whole tube brightens with the burn. A clean touchdown earns a dry remark from mission control and a harder site; anything else scatters the lander into its component segments, which tumble, bounce and fade while the phosphor remembers their arcs. VISUAL TECHNIQUES - Canvas 2D beam renderer: every segment batched by brightness and stroked as wide glow, medium halo and thin mint core, with extra dots at vertices - Two-layer phosphor model: an additive persistence buffer faded in steps (with a residue-clearing burn pass) under a crisp current-frame pass, so moving objects leave decaying trails - Halation from a quarter-resolution blurred copy of the picture screened back over the tube, plus a throttle-driven glow on the glass - Custom vector stroke font on a 4×6 grid for all on-screen text, including arrows, a multiplication sign and a slashed zero - Sub-pixel beam jitter, occasional brightness flicker and a barrel warp applied per endpoint - Procedural periodic terrain from layered value noise with carved landing pads, a parallax far ridge with hidden-line testing, and a fixed star field - Thrust plume as a randomised fan of lines scaled by throttle and clipped to the ground, with line-particle dust spawned where the exhaust strikes the surface - Crash break-up: each hull segment becomes a tumbling, bouncing rigid line with sparks and an expanding dashed shock ring - Smooth altitude-driven camera zoom from 1× to 2.5× with a horizontal dead zone - Self-drawing title built from the font's stroke order with a beam head and periodic retrace sweep; rotating wireframe moon with latitude, longitude and crater circles and back-face dimming - CSS tube: rounded glass with barrel vignette, blurred window reflection, fine grain, thin bezel and an engraved plate with screws and a power lamp - Web Audio synthesis: filtered-noise engine rumble, triangle-wave warning beeps, noise-and-sine crash INTERACTION MODEL The page opens in attract mode with an autopilot demonstration. Enter, Space, a click on the outlined START DESCENT control, or a tap on the thrust pad begins a mission. Left/Right or A/D rotate the lander and Up, W or Space fires the engine while held, burning fuel; on touch screens three outlined pads along the bottom do the same, light up and fill with hatching while pressed, and can be held together. The HUD reports altitude, both speeds with direction arrows, fuel, score, site and remaining landers, and blinks when the descent rate is unsafe. Touching down upright and slowly on a marked pad scores the pad multiplier times the fuel bonus and offers NEXT SITE, which has narrower pads, a crosswind and less fuel; any other contact breaks the lander apart, costs one of three landers and offers RETRY SITE, or NEW MISSION when none remain. P or the pause icon holds the flight clock, R restarts the mission, Esc returns to the title, and the speaker icon (or M) switches the synthesised sound on and off; it is off until asked for. The game pauses itself when the tab is hidden, and with reduced motion enabled the beam stops jittering and flickering and the trails shorten.