m3ultra
cdafb83a33
Six new fighters: RAVER CHEF EXEC JINX ELVA UMBRA (batch-built, base+torn); trim dizzy to standing sway
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-29 00:07:43 +10:00
m3ultra
0f83637fcc
Roster batch tooling: 6 new fighters from the asset library
...
- pipeline/batch_roster.py: model + clip-kit per fighter, renders
base+torn, packs, hitboxes, tunes, portraits — sequential batch
- --strip flag (mesh removal) added; Mixamo pack models turn out hollow
under clothes, so this batch ships base+torn; true clothes-off waits
on rigging the wardrobegod nude bases (phrtt2, daphne)
- tune_fighters: manifests + default finisher timing for raver/chef/
exec/jinx/elva/umbra; getup move tuned
- select screen wraps to a 4-per-row grid
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 23:38:16 +10:00
m3ultra
d743216b54
Character select screen + fatality-style finisher system
...
- Select scene (new main scene): roster cards from characters/* with
portraits, dual cursors (P1 A/D+J, P2 arrows+O), picks via GameState
- finisher flow: KO puts loser in DIZZY with a 5s flashing FINISH! window;
winner lands QCF+K in range -> finisher move (Brutal Assassination /
Hell Slammer B) with darkened stage, victim plays synced death anim;
window expiry or any stray hit = normal collapse
- new moves rendered for both fighters in all wardrobe states:
dizzy (Stunned), finisher, death (Standing Death Backward)
- CHAR_TUNE per-character move overrides in tune_fighters.py
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 23:27:51 +10:00
m3ultra
9f5a8a7de9
Retire stick-figure placeholders to characters/_placeholders — default roster is kachujin vs vesper
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 23:10:23 +10:00
m3ultra
347804135d
Gear wardrobe state (Phase B): vesper geared with MODELBEAST boxing gloves + headgear
...
- gear GLBs generated on MODELBEAST (flux product shot -> bg_remove ->
trellis_mac), staged in foitin_assets/gear/
- pipeline: --attach bone-parents rigid gear (armature-scale compensated,
'|'-separated spec); render_geared.sh holds calibrated transforms
- vesper: 3-state degradation geared -> base -> torn; specials knock gear
off first, then shred clothes; kachujin stays 2-state (per-character data)
- spec doc: wardrobe section in CHARACTER_SPEC.md
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 22:23:05 +10:00
m3ultra
54a54f2467
Torn-clothing wardrobe mechanic (Phase A)
...
- engine: wardrobe states per character (manifest wardrobe.states),
frames@<state> variant frame-sets per move with base fallback,
tears:true moves advance state, hp threshold forces final state
- pipeline: --torn punches jagged alpha holes into clothing textures
(alpha-clip materials) and renders @torn variants; pack maps them
- both fighters: full torn frame-sets for all 12 moves
- special gets designed forward lunge (clip travel was backward)
- verified: demo QCF+P connects, knockdown shows torn frames
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 21:09:06 +10:00
m3ultra
6c1c48c7c6
Phase 2: crouch/win/lose moves, vesper differentiated (bouncing idle + hurricane kick special)
...
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:53:44 +10:00
m3ultra
da1cceadc2
Two real fighters: KACHUJIN and VESPER, 11 moves each from Mixamo combat clips
...
- per-frame hips-centred rendering + root-motion export (the BKB .geo
approach modernised): traveling clips stay pivot-stable, movement data
goes to root_motion_frames in data.json
- engine: frame-indexed root motion, pushbox widened for real sprites
- clip set: ginga idle, walks, jump, block, punching/boxing/martelo
normals, chapa-giratoria QCF special, hit react, knockdown
- verified in-game: demo jab connects, damage applied, mirroring correct
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:50:56 +10:00
m3ultra
8e58b88262
Blender render pipeline + first real character from asset library
...
- pipeline/render_moves.py: headless Blender 5.x renderer — imports rigged
FBX/GLB, remaps Mixamo bone namespaces (mixamorigN:), fixes FBX axis/scale,
normalises height, centres ground pivot, renders transparent ortho sprites
- engine: sprite_scale in manifest (scales sprite + all boxes), --p1/--p2
roster picks for testing
- characters/trainer: woman_athleisure_01 (Mixamo, web-ok) rendered through
the full pipeline as integration proof — idle/jab/hit from NPC clips,
silhouette auto-hurtboxes, verified in-game vs alpha
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 19:02:39 +10:00
m3ultra
b067bf7f0b
Scaffold: deterministic 60Hz combat core, drop-in character format, MODELBEAST pipeline
...
- Godot 4.7 project; fixed-tick FSM fighter, facing-relative input buffer
with numpad motion parsing, box collision, training-mode hitbox overlay
- characters/ = self-describing drop-in folders (spec in _spec/); two
generated placeholder fighters (alpha, beta)
- pipeline/: pack_character.py + autohitbox.py (pose/silhouette hurtboxes)
- STUDY.md: reverse-engineering study of the BKB reference games
Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
2026-07-28 18:45:44 +10:00