Commit Graph

12 Commits

Author SHA1 Message Date
Brian Fertig 5380a8eab4 feat: add Super Kart — SNES-style Mode 7 kart racing game
Complete kart racing game featuring 12 procedurally generated tracks
across 3 cups, 9 unique racers with distinct stats, headless physics
simulation, and a secret track editor (?superkart-editor=1).

Core features:
- Mode 7 ground renderer with parallax horizon backdrops
- 12 hand-tuned tracks (speedway, beach, swamp, scrapyard, volcano, nightcity)
- 9-racer roster with balanced archetypes (all-rounder, drift pirate, etc.)
- Headless race simulation for deterministic AI and headless verification
- Item system (bolt, seeker, oil, turbo, overdrive, emp, coins)
- Position-weighted item roulette and rubber-banding
- AI opponents with skill-based driving and stuck-recovery
- Full track editor with live preview, validation, and export
- 275 verification checks covering schema, physics, AI soak, and determinism

Data files: data/superkart-racers.json, superkart-rules.json, superkart-artwork.json
Game data: assets/gamedata/superkart/ (cups.json + 12 track files)
Tools: genSuperKartTracks.js, verifySuperKart.js
2026-07-17 14:25:18 -06:00
Brian Fertig a897058b71 Level Adjustments 2026-07-12 15:52:33 -06:00
Brian Fertig fa4ef2233b feat(peggle): overhaul 7 powers with enhanced mechanics, visuals, and audio
Add character assets (sprites/videos) and sound effects for Aiko, Blackwind,
DV-8-2303, Kage, Nadia, Nicole, and Steve.

Power overhauls:
- Extreme Ball: lasts 2 shots, cascade splits into 4 balls on 2nd bounces
- Cannonball: adds Space Blast-style explosion on green peg trigger
- Beam Up: retargets to a clear-path orange peg on return
- Overclock: lasts 2 shots, grants free ball every 6 pegs, pitch-rising hum
- Laser Sweep: follow-up sweep on random orange peg after 1s delay
- Shadow Slash: follow-up slash on random orange peg after 1s delay
- Cosmic Bloom: adds small Space Blast around green peg
- Rewind: glitch effect, portal opens targeting clear orange peg, refunds on drain

Add visual effects (shockwave rings, portal animation, glitch bars, split
particles), happy reaction dedup per ball, and comprehensive verification
tests for all new mechanics.
2026-07-12 15:29:55 -06:00
Brian Fertig 3942b0b89e Peggle Adjustments 2026-07-12 09:14:06 -06:00
Brian Fertig bb91a21c8d feat(peggle): weighted orange selection, Body Slam physics rework, and level adjustments
- Replace uniform orange peg selection with weighted sampling, favoring circle pegs over brick sections (~2:1 ratio) to keep gameplay peg-centric
- Rework Body Slam (The Smasher) power to launch at 0.7× speed with reduced gravity, aligning physics with updated power documentation
- Adjust orange/green peg counts for levels 26, 27, 30, and 32 to fine-tune difficulty
- Add Maurice character assets (PNG & MP4)
- Clean up redundant portrait emotion triggers and add verification tests for weighted sampling and slam ball behavior
2026-07-12 00:42:13 -06:00
Brian Fertig 733406a2a5 Added a bunch more levels 2026-07-11 23:36:01 -06:00
Brian Fertig f7d9ee12f1 feat: enhance peggle powers and add swdbg portrait reactions
- Multiball now spawns 3 additional balls fanned at ±18° instead of 1 mirrored ball
- Fireball scales ball radius by 3x
- Zen Ball grants 3 stacking charges, consuming one per shot
- Reduce base launch speed to 920 and add rotateVec utility for velocity rotation
- Update verification tests to match new power behaviors
- Add opponent portrait emotional reactions in SWDBG for expensive purchases and bounty defeats
2026-07-11 21:07:25 -06:00
Brian Fertig 2e8424a4af chore(peggle): update peg color palette to match spritesheet
Update PEG_TINT and PEG_LIT color constants to match the dominant fills
of the peg frames in peggle-sprites.png, ensuring procedural bricks and
fallback pegs stay in scheme. Document that these constants should be
re-sampled if the spritesheet is repainted.
2026-07-11 18:47:42 -06:00
Brian Fertig 58d51503eb Level Adjustments 2026-07-11 18:39:42 -06:00
Brian Fertig 51199534a6 More powers and videos 2026-07-11 17:22:40 -06:00
Brian Fertig fba1f0c53d feat(peggle): expand to 25 levels with friend intros and redesigned level select
Expand Peggle from 5 to 25 levels (5 per friend) with unique shapes and
progressive difficulty. Each friend block (Ethel, Kona, Zanthor, Fireball,
Victor) gets distinct names, backgrounds, and level layouts.

- Redesign level select: one row per friend showing portrait, name, power,
  and their 5 level tiles
- Add friend intro screens: video (or portrait fallback), bio, and power
  explainer before each friend's first level
- Intros skip on replay/try-again; input hold prevents accidental cannon
  launches after UI clicks
- Add intro videos for Ethel and Kona; document the video system
- Update level generator with `pentagram()` helper and 5 variants per friend
- Verify block integrity, intro markers (1,6,11,16,21), and level name uniqueness
2026-07-11 16:42:44 -06:00
Brian Fertig 7898d13d18 Peggle Modifications 2026-07-11 15:43:21 -06:00