Commit Graph

8 Commits

Author SHA1 Message Date
type-two
ea2bfd0eaa Tier 3: bosses, warehouse+festival themes, portrait title screen
- Title: FLUX marquee logo + 4 portrait class-select cards (keys 1-4 or tap)
- Themes 4-5: WAREHOUSE RAVE (shazam zombie turrets firing slow requests,
  gatekeeper tanks) and FESTIVAL GROUNDS (wobbling warped records); tune pools
  extracted for both (acid/tech-house/minimal, trance/big-beat/prog) -> 1008 tunes
- Spectral Conductor boss (level 8 of each 12-cycle): 20 HP, teleports to a
  corner every 5 hits, doubles generator rate + 1.5x enemy speed while alive
- The Monstrous 78 RPM (level 12): 30 HP, bounces Pong-style, spits warped
  shards, only vulnerable while "changing sides" (dimmed); killing it reveals
  THE WHITE LABEL (??? - ???) in the notebook and starts NG+ density
- Boss arenas have no exit until the boss falls - the booth appears where it died
- Fix: makeGlow crashes on scene restart (createCanvas returns null if key exists)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 19:27:34 +10:00
type-two
7a37348d9a Art batch 3: portraits, villains, tilesets, landing art + the 4-player cab
30 FLUX images via MODELBEAST (queue3 + text rerolls), all local/free:
class portraits x4, player variants x3, Tier-3 villains x7 (spectral conductor,
78rpm, gatekeeper, shazam zombie, scalper, warped record, fire marshal),
warehouse + festival tilesets, props, attract cards, wide key-art banner,
VINYL GAUNTLET marquee logo, and the super-rare 4-player cabinet hero shot.
klein-4b garbles text ~2/3 of the time: rerolled with 'reads exactly' prompts
(logo nailed it 3/3), composited the good marquee onto the cabinet with PIL and
pixel-verified the garbled kickplate patch. Finals in assets/promo/ (committed);
raw gen stays in assets/generated/ (gitignored, reproducible from queue JSONs).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 18:10:46 +10:00
type-two
8e967407c1 Tier 2 complete: digging, treasure rooms, the Archive, infinite mazes
- Digging: hold E (or DIG touch button) by a crate wall, 2s rooted channel, once
  per tile. Loot: 70% +200 vibe, 25% gold record, 4% grail (full vibe), 1%
  bootleg (every bin on the level erupts).
- Treasure rooms: every 3rd level, 20s bonus room strewn with gold, no enemies,
  booth exits instantly, "CLOSING TIME" when the timer dies.
- THE ARCHIVE (4th theme): FLUX-generated dark tileset, real darkness via
  RenderTexture with radial glow holes at player + lamps, dust mites spawn in
  packs of 3, Mite Queen miniboss (12 HP, broods mites every 5s, airhorn-immune,
  drops 3 gold + 1000 pts). Archive tune pool: 195 dnb/hardcore/breakbeat/
  electro 12"s (718 total tunes now).
- Infinite: levels past the 4 authored maps are deterministic seeded mazes
  (recursive backtracker + loops + rooms), difficulty scales with depth.

All verified in-browser via engine stepping.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:35:42 +10:00
type-two
a1f4588deb Tier 2: the Trainspotter's Notebook — real records from discogs_full
assets/extract_tunes.py pulls 523 canon tunes (repress-count ranked, club pool
12"-only) into public/tunes.json across shop/fair/club genre pools; top ~8% of
each chunk flagged grail ("CERTIFIED CLASSIC", gold flash, 2000 pts). Level
clear reveals a real record (artist — title, label, year), the announcer speaks
it, and first IDs land in a persistent localStorage notebook (+1000). Title
screen shows notebook progress. Also: overlay/sub text got backgrounds for
readability, and prompt() is guarded for webviews that lack it.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 17:17:34 +10:00
type-two
d903dd57ca Tier 1: classes, themes, pirates/ghouls, score, vibe states, touch
- 4 Gauntlet classes (stat tweaks + tint) with title-screen select (keys 1-4 or tap)
- Level themes cycle shop/fair/club: per-theme tilesets (9 idle sprites wired) and
  weighted enemy spawn tables
- Record Pirate (steals pickups, flees to its bin; kill = loot back + gold bonus)
  and Crate Ghoul (3 HP tank)
- Gold records ('R' tiles + pirate drops), score (kills/gold/clears), local top-5
  high-score table with initials on the title screen
- Vibe states: peak time = faster vinyl, burning out = slower + red vignette
- "Selector shot the espresso" (vinyl destroys food) + new announcer lines
- Mobile: Scale.FIT canvas, twin-stick touch (left = move, right = fire), HORN button

All mechanics regression-tested in browser via engine stepping.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-16 16:58:25 +10:00
type-two
8341bed22f Sharpen sprites: TILE 32->48, higher-res textures + unsharp pass
Regenerate textures at 48px (chars/walls), 96px floor, with an UnsharpMask to
counter the LANCZOS softening. Bump TILE to 48 so the whole world scales up and
sprites render bigger/crisper; scale movement + range constants x1.5 to keep the
same tiles-per-second feel, and collision bodies to 34px. Mechanics reverified.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 23:52:08 +10:00
type-two
9a42e0eaf8 Step 7: wire FLUX sprites into the game
Chroma-key magenta -> alpha, autocrop, downscale (assets/process_sprites.py ->
public/sprites/). GameScene loads image textures instead of drawing primitives:
tiled darkened floor, crate walls, digger/poser/nerd/sound-guy/booth/pickup
sprites. Bodies sized under the 32px sprites so corridors still fit. Mechanics
verified unchanged (combat, trainspot, level flow).

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 23:39:40 +10:00
type-two
0a71e07078 Vinyl Gauntlet: core game (Gauntlet II re-skin) + FLUX asset queue
Top-down arcade maze shooter in Phaser 3. Steps 1-6 of plan.md complete and
verified: vibe drain, generators/swarm, pooling, combat, Sound Guy, airhorn,
trainspot exit, level flow, announcer. assets/ holds the FLUX prompt manifest
+ MODELBEAST enqueuer for the Step 7 sprite pass.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-14 23:17:19 +10:00