Real Fight

About this game Real Fight

Development notes

One move list, three dials

All seven fighters are generated from one move list. Each sets only frame-speed, damage and reach multipliers, plus health and a super; damage × reach ÷ frame multiplier falls between 0.95 and 1.13 for all seven. Hitstun never scales, so what links into what is identical across the cast, and 'every jab two frames faster' is one edit, not seven.

Deterministic for rollback

The fight runs at a fixed 60 ticks a second whatever the screen's refresh rate, positions are integers in 1/256-pixel units, and the rules read no clock or random numbers. Your inputs are delayed 2 frames, the opponent's are predicted for up to 8 before the game waits, and the server advances only frames for which it holds both inputs. The AI draws its randomness from the match seed and frame number, so a rewind replays it exactly.

Animation follows the hitbox

Motion-capture clips run at human speed: the jab clip takes 0.4 s to land, a 5-frame jab 0.08 s. Each clip is stretched or squeezed so the limb's furthest reach falls on the move's first active frame; the hitboxes stay the engine's own.

Updated:

Play now →