Creative ideas + design notes
Commits with substantial prose (≥120 chars) — the rationale behind each move.
6e85f4c · 2026-08-31 · Add mobile touch controls (drive Player 1)
- On-screen buttons overlay the arena during a match: left cluster JUMP/BLOCK/left/right, right cluster POKE/WHACK/throw-baguette/rocket/bomb; touchstart/end + mouse map to the same key state
- Auto-shows on touch devices (and on first touchscreen), only during a match; releases held keys on leave
- Mobile-friendly select: tap a card + tap START launches with current picks (no keyboard ready-up needed)
- viewport maximum-scale=1 to stop pinch/double-tap zoom; portrait rotate hint
- Verified via hasTouch emulation: overlay shows, buttons poke/move/rocket P1, tap-to-start works, 0 errors
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
beedee1 · 2026-08-31 · Polish: distinct per-stat select bars + stronger fighter/floor separation
- Select stat bars: color-coded SPD=cyan / PWR=pink / DEF=gold, taller, with 5-segment notches so each fighter's profile reads at a glance (fixes 'bars too uniform')
- Fighter/floor: two-layer ground shadow (wide soft halo + tight dark core) + cooler/darker cobblestones so warm-toned fighters (Petit Eclair/Le Costaud) stop blending into the street
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2398d24 · 2026-08-31 · Fix select-card layout: scope global canvas rule to #game so mini-portraits stop stretching over the card
Root cause of the badge/name-over-portrait regression: the global 'canvas{position:absolute;inset:0;width/height:100%}' rule (for the game canvas) leaked into the character-select portrait canvases, absolutely positioning each portrait to fill its whole card with name/stats painting on top. Scoped it to #game; portraits now sit in a proper 72x90 block with name + stats stacked below.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
5e37c3a · 2026-08-31 · Apply graphic-designer review fixes #1-5
1. Select screen: 6->3 col grid, bigger cards, name 13px/600, stats 11px, 2x-crisp 72x90 portraits, portrait/stats separator
2. HUD micro-text: ROCKET READY 9->11px bold+shadow; round pips 6->8px with empty-slot rings
3. FIGHT!/announcements: warm-yellow FIGHT! + dark pill backdrop so callouts pop off the neon Eiffel Tower
4. Fighter/floor separation: larger ground shadow + stronger dark torso outline
5. Select cursors: solid 3px border + scale(1.05) active card, bigger P1/P2 ready badges
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
e6c5071 · 2026-08-31 · Weapon loadout: Space=poke, Return=throw baguette, R=rocket, B=bomb
- Generalized projectiles into 3 kinds: baguette (missile), rocket (fast+big, costs meter, nose/fins/flame art), bomb (lobbed arc, explodes with splash damage + boom)
- Per-weapon cooldowns for baguette/bomb; rocket gated on the special meter (bar relabeled ROCKET READY)
- P1 keys: Space/F=poke, G=whack, Return/H=throw baguette, R=rocket, B=bomb (+modifier fallbacks). P2: ,/./ / ; '
- AI throws baguettes/bombs at range, rockets when charged; new boom SFX + French voice lines
- Verified each key spawns the correct projectile (0 errors)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
a39d05a · 2026-08-31 · Broaden P1 controls: arrows move; Space/Return/Cmd/Option/Ctrl/Shift/Delete all fire
- fire[] now includes enter, backspace, delete, meta, control, alt, shift (+ J/K/L jab/whack/launch)
- preventDefault backspace/delete so they do not navigate back
- add #debug test hook (window.__bb) — inert during normal play
- verified: arrows move+face both ways; every requested fire key triggers an attack (0 errors)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
125754f · 2026-08-31 · Play La Marseillaise on load + cobblestone street floor strewn with croissants
- Anthem: opening of La Marseillaise synthesized on the WebAudio melody synth; plays on load (starts on first gesture per autoplay policy), M mutes, stops on mute
- Floor: neon-grid replaced with a perspective cobblestone street (neon-rimmed stones) + scattered street croissants
- Harden roundRectPath against negative radius (thin far cobble rows)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
4fcd312 · 2026-08-31 · Bigger, faster baguette missile + alternate 1P controls (arrows to move, Space/Cmd/Ctrl to fire)
- Missile: velocity 11->19, size/hitbox 22->34, 1.5x render scale, faster spin, longer trail
- Array-based control maps; 1-player P1 also drives with arrows (up=jump, down=block)
- New 'fire' action (Space, Left/Right Command, Control): launches missile if meter full, else whack
- Menu hint + README document the alternate scheme
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
d93d9ac · 2026-08-31 · Redesign fighters as Frenchmen in berets wielding baguettes; special now launches the baguette as a spinning missile (Baguette Missile)
- Fighters redrawn: beret + Breton-striped shirt + moustache, holding a baguette weapon (jab/whack animate the baguette)
- Special (H // ) launches the baguette as a spinning projectile instead of a crumb ball
- Character-select mini-portraits redrawn as little Frenchmen
- Voice + HUD + controls + copy updated (Baguette Missile)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>