How to play & controls Real Fight
Real Fight is a one-on-one fighting game on a flat 2D stage with 3D fighters, built around one attack button. Pressing it again as each hit lands runs a three-hit string; adding up, down or forward to a follow-up press turns the string into a launcher, a low sweep or a blow-away, and the special button spends meter on a super.
The seven fictional fighters — Bruno (MMA), Rico (boxing), Otto (kung fu), Zane (Muay Thai), Elias (savate), Mira (karate) and Kai (taekwondo) — share those inputs and combo rules. They differ in health (from Mira's 820 to Otto's 1,150), frame speed, damage, reach and their super.
Underneath sits the machinery of an arcade fighter: 60 ticks a second, an 8-frame input buffer, hitstop on every hit, mid, low and high attacks, a breakable guard gauge, combo damage scaling and a 4-frame JUST window. The rules use integer math only, which makes rollback netcode possible online and lets the server re-run a daily fight from your button presses.
Modes
Learn to fight
Seven lessons as Bruno against Rico, from walking to landing a super. Each passes only when the engine registers it, and a frame timeline marks a miss as too early, too late or wrong direction; finishing leads into an Easy AI fight.
Fight the AI
Choose a fighter and AI skill (Auto, Easy, Normal or Hard); your opponent is the next fighter in the roster. Short coaching lines follow moments such as a guard crush, being punished or a whiff.
Play a friend
Two players share one keyboard, each picking any fighter, and the set score carries over through rematches. This mode has no touch controls.
Online match
Pick your fighter in the lobby and queue for a 1v1 over rollback netcode. There is no rematch button; the next match goes through the lobby again.
Today's matchup
One fighter pair for everyone each day, against a Normal AI, scored on rounds won and health left.
Scene loop / Distance drill
On the result screen, pick Best combo, Counter, Punish, Punished or Just guard. A recorded moment loops the opponent's actual inputs for up to two seconds; otherwise you practise the same spacing against an Easy AI.
Controls
| Action | Mouse & keyboard | Touch | Gamepad |
|---|---|---|---|
| Walk, jump, crouch | Arrow keys or WASD | Drag the stick on the left | Left stick or d-pad |
| Attack / three-hit string | J or Space, pressed again as each hit lands | Big red button, bottom right | A |
| Branch (during a string) | Up, Down or Forward + J | Keep your finger on it and swipe up, down or forward | Direction + A |
| Super | K | Blue button left of it | B |
| Guard | Hold L or Shift, or hold back; add Down to guard low | Hold the grey button above it, or pull the stick back | X or Y, or hold back |
| Dash | Guard + Forward or Back pressed together | Tap guard while holding the stick forward or back | X + direction |
| Pause and tools | Esc pause (Q leaves), R restart, B hitboxes, M effects, N music | — | Start confirms and rematches |
| Two on one keyboard | P1 WASD, F/G/H; P2 arrows, J/K/L | — | — |
Strategy tips
Guard by height
Jab, straight, roundhouse, blow and all supers hit mid, so either guard works. Sweeps and crouching kicks must be blocked crouching, launchers and jump-in kicks standing. Branches open once a hit connects, even on block, so after blocking a jab, watch whether the next press goes up or down.
Don't hold guard through Otto or Zane
Each blocked hit adds half its base damage to a 100-point guard gauge, which drains a point per frame only outside blockstun; full means GUARD CRUSH and 40 frames of stun. Otto's three-hit string adds 104 and Zane's 123, so blocking it all from empty breaks you. A just guard, pressed in the last four frames before impact, adds nothing and takes no chip damage.
Make just guards pay
A just guard also shortens your blockstun by 6 frames. In engine tests as Bruno, answering a just-guarded jab with a jab scored a PUNISH against five fighters, all but Rico and Mira; after a held guard it punished nobody.
Know which enders are unsafe
Blockstun doesn't vary by fighter, but recovery scales with speed. In engine tests as Bruno, a jab right after blocking jab-sweep or jab-blow punished Bruno, Otto and Zane (and Elias's blow), while Rico, Mira and Kai recovered first. A blocked launcher hops you into the air, where nobody can guard; the jab hit every time.
Spend the JUST on the super
A JUST press restores 15 points of combo scaling to every hit of the next move and pays 1.5× meter, though the second hit is already at 100% and gains only meter. Bruno's three-hit string does 172, or 186 with a JUST; cancelling the straight into his super does 298, or 341 on the JUST.
Meter favours whoever is getting hit
A hit earns the attacker 1.2× its base damage in meter and the defender 1.8×; blocking earns 0.6× (1.8× on a just guard), and super hits earn nothing. A super costs 1,000 of the 3,000 bar.
Pick the super for the moment
Otto's is invulnerable for 28 frames and hits on frame 31, made to go through attacks. Zane's is one 326-damage blow on frame 22, Elias's lance reaches 160 px, Kai's first three kicks also hit behind him, and Rico's and Mira's start on frame 6.
How the AI plays
When it guards, the AI picks standing or crouching at even odds, so lows and launchers beat about half the guards that stop a jab. Once its attack connects it branches up a quarter of the time, down a quarter and forward a fifth. On Auto it plays up to 20 points tougher while you lead and softer while you trail.
Updated: