Guide
Game just-frame timing systems explained
Harbor Brawl's combo lab exposed a split audience: casual players mashed buffered light chains with no reward ceiling, while lab grinders demanded one-frame links that 94% of the roster could not land online. The middle — readable execution challenges with graduated payoffs — did not exist. Designers added just-frame tiers: links and specials that accept a normal input window but grant bonus damage, extra advantage, or alternate routes when the player hits a tight timing gate. Perfect just-frames on the flagship BnB route rose from 3% to 31% over two weeks of training-mode telemetry, while the base combo still worked for players who missed the gate.
A just-frame (sometimes called a one-frame link, perfect timing, or “electric” when tied to a motion) is any mechanic where success depends on input precision within a very small window — often one to three frames at 60 FPS. Unlike motion inputs (which care about directional history), just-frames care about when relative to animation state: the gap between recovery ending and the next attack's startup, or the exact frame a button must arrive during a special's charge phase. This guide covers just-frame taxonomy, link math, electric-style motion bonuses, buffer interaction, hit confirm pairing, reward scaling, rollback considerations, the Harbor Brawl refactor, a technique decision table, pitfalls, and a production checklist.
What just-frames are (and how they differ from links and cancels)
Every attack in a fighting game has startup, active, and recovery phases documented in your frame data sheet. A link connects two normals when the first move's recovery plus the second move's startup fits inside the opponent's hitstun. A cancel interrupts the first move before recovery finishes. A just-frame link is a link where the allowable input window is so tight that only frame-perfect (or near-perfect) timing succeeds — typically when advantage minus next startup equals zero or one frame of slack.
Three common just-frame families
- Tight links — manual confirms like
5LP > 5LPwith +4 advantage and 4f startup on the follow-up: the player must press on the exact frame recovery ends. Miss by one frame and the opponent can block or counter. - Motion just-frames — specials that accept a sloppy motion but upgrade when a direction or button lands on a specific frame (Tekken's electric wind god fist is the canonical example: same motion, faster startup on perfect execution).
- State just-frames — inputs that must occur on a particular frame of another action: instant-air specials (jump must be released on frame 1 of jump startup), charge-release on frame N of a hold, or landing cancels that only work on touchdown frame 0.
Just-frames are authored difficulty. You are not accidentally creating them when advantage math lands at +1 — you are choosing to make that route the intended skill check and tuning everything around it (buffers, training feedback, reward).
Frame math: when a link becomes a just-frame
The link inequality is:
hitstun - (recovery - 1) - next_startup >= 0
The - 1 accounts for the fact that you can input on the last
recovery frame in most engines. When the left side equals zero, the link is
a one-frame window. When it is negative, the link is impossible without
hitstun modifiers (counter-hit bonus, crouch vs stand, etc.).
Modifiers that create or erase just-frames
- Counter-hit hitstun — adds 2–4 frames, turning impossible routes into just-frames or easy links.
- Whiff cancel or micro-dash — some games allow movement during recovery that shifts advantage; document whether your engine permits this.
- Hitstop — freezes both characters on hit, effectively extending the visual slack without changing the underlying frame count unless you design hitstop to add hitstun.
- Input buffer — a 3–5 frame buffer can turn a true 1f link into a 4f player-facing window while preserving competitive identity; see below.
Publish internal tables: for each just-frame route, list base advantage, counter-hit requirement, buffer consumption, and whether online rollback adds input delay that eats the window.
Electric-style bonuses: reward scaling without hard gates
The healthiest just-frame designs do not make the combo whiff on imperfect timing — they make it worse. Pattern:
| Tier | Timing slack | Typical payoff |
|---|---|---|
| Standard input | Normal buffer (4–6f) | Base damage, minus on block, standard startup |
| Just-frame (JF) | 1–2f effective window | +10–20% damage, +2–4 frame advantage, or alternate juggle |
| Perfect just-frame (PJF) | Exact frame only | Wall splat, meter refund, armor break, or combo extension |
Tekken's electric vs wind god fist follows this template: both connect, but electric is faster and leads to stronger pressure. Guilty Gear's instant-air routes reward frame-1 jump release with lower-height projectiles that alter mixup timing. Harbor Brawl applied the same shape to a dash attack: sloppy timing gave a punishable 18f startup; just-frame gave 14f and +4 on block; perfect gave 11f and launched on counter-hit.
Reward scaling keeps newcomers in the game while giving experts a visible skill ceiling — provided the base tier is still viable in neutral, not a trap button.
Buffer interaction and input leniency
Input buffers are the main dial for just-frame accessibility. Common approaches:
- No buffer on JF routes — hardest; suitable for optional bonus moves, not BnB starters.
- Shorter buffer for JF tier only — engine stores two windows: 5f buffer resolves to standard move, 1f-only slot resolves to JF variant if other motion requirements pass.
- Visual metronome — recovery flash or sound cue on the exact JF frame; training wheels that lab players disable in ranked.
- SOCD and leniency do not fix timing — directional scrub helps motions, not links. Do not conflate the two systems.
Rollback netcode adds 1–3 frames of effective input delay online. If your JF window is 1f local, it may be impossible online without a ranked -specific buffer or declaring the route training-mode-only. Test on worst-case ping, not LAN.
Pairing just-frames with hit confirms and pressure
Just-frames appear in three competitive contexts:
- BnB combo routes — mid-combo JF link for extra damage; missing drops the route to a shorter chain. Pair with damage scaling so JF rewards do not break balance.
- Neutral confirms — JF special on counter-hit only; base special on normal hit. Conditions the player to watch counter-hit state.
- Pressure reset — JF dash or run cancel that is plus on block only on perfect timing; sloppy version is minus and frametrapped. Ties into blockstring design.
Avoid putting JF gates on every route. One or two signature just-frames per character creates identity; six creates frustration.
Harbor Brawl just-frame refactor (worked example)
Problem: the rushdown roster's flagship BnB required a 1f link after
2MK with no buffer and no feedback. Online completion sat at 3%;
offline tournament players hit 52%. Casual retention on rushdown characters
trailed zoners by 11 points.
- Tiered outcomes — same input sequence; timing resolves to standard (shorter combo), JF (+18% damage extension), or PJF (wall carry).
- 3f ranked buffer — applied only to the JF tier check, not the entire engine, so other links kept prior feel.
- Recovery flash — white outline on frame 0 of linkable recovery; disabled in ranked after tutorial completion.
- Training overlay — shows “early / late / perfect” on each attempt with frame offset.
- Damage scaling cap — PJF bonus damage counted at 150% scaling after third hit so burst damage stayed bounded.
Outcome: online JF rate 3% → 31%; PJF 3% → 8%; rushdown retention gap closed to 4 points. Tournament players still valued PJF wall carry; newcomers completed the standard tier reliably.
Technique decision table
| Your goal | Prefer | Avoid |
|---|---|---|
| Skill expression without hard locks | Tiered JF bonuses on top of working base move | Single-tier 1f BnB with no fallback |
| Online viability | Ranked buffer + ping-tested slack | LAN-only 1f links in core neutral |
| Teachable execution | Training overlay with frame offset readout | Hidden timing with no feedback |
| Character identity | 1–2 signature JF routes per archetype | Entire movelist gated on perfect timing |
| Motion + timing hybrid | Electric-style startup bonus on perfect motion frame | Separate unrelated 1f button mash after motion |
| Rollback safety | Deterministic JF flags in replay state | Animation-blend timing checks |
Common pitfalls
- BnB requires 1f with no buffer — online becomes unplayable; players leave.
- JF reward too weak — nobody labbers; skill ceiling is cosmetic.
- JF reward too strong — optimal play mandates perfection; balance collapses.
- No standard tier — missing JF means whiff punish; button feels broken to new players.
- Buffer global change for one route — unintended easy links elsewhere.
- Counter-hit requirement undocumented — lab route does not work in neutral; community trust erodes.
- Visual cue left on in ranked — competitive integrity complaint.
- Ignoring hitstop and pushback — spacing changes advantage; JF window shifts per matchup.
Production checklist
- List every JF route with advantage math, counter-hit requirements, and buffer policy.
- Define standard, JF, and PJF tiers with damage, advantage, and startup deltas.
- Implement deterministic JF resolution flags for replay and rollback.
- Test completion rates at 0, 3, and 6 frame input delay.
- Build training overlay showing early / late / perfect with frame offset.
- Cap JF bonus damage in scaling tables after N hits.
- Document whether recovery flash is ranked-legal or training-only.
- Verify JF routes against all hurtbox stances (crouch, stand, air).
- Log JF success rate per character in telemetry; tune before launch.
- Cross-check with special cancel tables so JF windows do not overlap ambiguously.
Key takeaways
- Just-frames are authored timing gates, not accidental tight math.
- Tiered rewards (standard / JF / PJF) beat hard-fail one-frame BnBs for accessibility.
- Buffers and ranked delay must be designed together with the JF window.
- Training feedback converts opaque 1f tests into learnable skill.
- Harbor Brawl raised online JF completion from 3% to 31% with tiers, buffer, and overlay.
Related reading
- Frame data explained — advantage math behind link windows
- Hit confirm systems explained — when to commit after the opener lands
- Input buffering explained — slack that makes JF routes learnable
- Motion input systems explained — electric-style motion just-frames