# IRON FIST HARBOR (Fable 5 build)

A 2D fighting game built by Claude Fable 5 in 2 passes:
- **Initial ship**: 6m 16s / 40 turns / $2.67 — best-of-3, super meter, hold-back blocking, KO/rematch
- **Juice pass**: 9m 54s / 28 turns / $2.31 — pose swapping (idle ↔ attack ↔ hurt sprites), hit sparks, hit-stop / freeze frames, screen shake, slow-mo on super, floating damage numbers, KO impact + camera zoom

Total: 16m 10s / 68 turns / $4.98 + $0.28 image gen

**Setup**: Toro the brawler vs Kage the ninja, on a sunset harbor stage. Both characters fully painted by gpt-image-2 (3 poses each: idle, attack, hurt). Stage is a full-bleed gpt-image-2 plate.

## Run
```
npm install
node scripts/gen-sprites.ts   # caches on disk, ~$0.28 cold
npm run build
npm run preview
```

## Files
- `src/game.ts` — round loop, hit detection, CPU AI, super meter, KO state, juice (particles + shake + hit-stop + slow-mo + damage numbers)
- `src/main.ts` — boot + canvas setup
- `src/assets.ts` — chroma-key sprite loader
- `src/input.ts` — keyboard state
- `scripts/gen-sprites.ts` — gpt-image-2 sprite gen
- `public/sprites/` — 7 painted sprites: {toro,kage}-{idle,attack,hurt}.png + stage.png
- `BMO-PROMPT-original.txt`, `BMO-PROMPT-continue.txt`, `BMO-PROMPT-juice.txt` — the three prompts given to Fable

Live: https://bmo.ryanboye.com/fable-streetfighter/
