Build a sixteen-technique arsenal. Route statuses. Finish the fight.
You
1050100 stamina
1000970950100 stamina
Dummy
HurtboxHitbox
Hit confirmedstanding_light30 damage · 3 pushback · 2 frames active
Hit confirmedcrouching_light20 damage · 2.2 pushback · 3 frames active
Move timeline / event-derived
standing_light
Startup
4f
Active
2f
Recovery
12f
Total
18f
Frame
010203040506070809101112131415161718
Phase
SSSSAARRRRRRRRRRRR
Hit
HH
Cancel
CCCCCCCCCCC
Move timeline / event-derived
crouching_light
Startup
4f
Active
3f
Recovery
9f
Total
16f
Frame
01020304050607080910111213141516
Phase
SSSSAAARRRRRRRRR
Hit
HHH
Cancel
CCCCCCCC
Hexframe move data represented by the animated timeline
Move
Startup frames
Active frames
Recovery frames
Hit frames
Cancel frames
Damage
Pushback
standing_light
1–4
5–6
7–18
5–6
6–16
30
3
crouching_light
1–4
5–7
8–16
5–7
7–14
20
2.2
What it is
A complete working system.
A browser-based fighting-game system and engineering laboratory built around fixed-step combat, authored frame data, replayable state, rollback-ready boundaries, keyboard and gamepad parity, semantic menus, and accessible training tools.
Why I built it
The engineering question.
Fighting games compress hard engineering problems into a visible system: timing, input, simulation authority, animation, collision, debugging, accessibility, and tools all have to agree on what happened.
Engineering highlights
What the project demonstrates.
A playable stage with a practice dummy
Pause-on-contact and frame-by-frame controls
Hitbox, hurtbox, pushbox, and state inspection
Saved positions and repeatable scenario replays
Keyboard, gamepad, and accessible display settings
Architecture / technology
How the project is structured.
Primary capability
Deterministic combat simulation
Characteristics
Deterministic simulation
Rollback architecture
WCAG 2.0 AA interfaces
Training tools
Accessible controls
ControlsRead player buttons and choices made by computer teammates
Game rulesCalculate movement, hits, damage, and status effects
Saved stateStore exact moments for saves, replays, and rollback
GraphicsDraw characters and effects from results that are already decided
Go deeper
Overview first. Evidence when you want it.
The case study explains the architecture, boundaries, tradeoffs, and current state. The running application and repository provide the proof.