ONE MORE RUN / DEV TOOLSVERSION 0.1.1

COMPARE STARTUP, ACTIVE AND RECOVERY

Action Timing Lab

A shorter windup brings contact forward. Less recovery lets an action finish sooner. Compare those changes separately, then take the timing sketch into Action Director.

Free · Works offline · No login or uploads · By Juda H

Keep an offline copy

Download 0.1.1: offline tool and complete source · SHA-256 · Five-minute tutorial

Unzip and follow the local-server setup in the guide. The package includes source, examples, tests and MIT licenses. No installer or account.

Counts are simulation ticks, not rendered frames. Changing the rate keeps the counts and changes elapsed time.

Already have an ActionSpec?

Inspect phase windows in an existing file. This separate, read-only view catches inclusive-boundary overlaps without rewriting your assets or events.

A FIVE-MINUTE EXPERIMENT

Make the windup shorter. Keep the rest honest.

  1. Load example. Take A uses 12 startup, 6 active and 24 recovery ticks. At 60 ticks/s, that is 700 ms.
  2. Compare Take B. Its startup is 9 ticks. Contact starts 50 ms earlier; the 6-tick active window and 24-tick recovery stay the same. Total: 650 ms.
  3. Change one variable. Try recovery 18 in Take B. Total becomes 550 ms, but contact still starts at 150 ms. Earlier contact and earlier readiness answer different questions.
  4. Save your experiment. Save lab project preserves both sets of counts and their tick rate. Open it here to reproduce the comparison.
  5. Hand off at 60 ticks/s. Export .action.json, open it in Action Director, then add your animation, hitboxes and motion there. The export contains phase windows and a performer, so it starts as a timing sketch.

What the numbers mean

Startup is the number of ticks before the active phase. Active is the authored contact opportunity. Recovery is the remaining authored phase before the next action. Total = startup + active + recovery; milliseconds = ticks × 1000 ÷ tick rate. Tick numbering starts at zero.

For the example, Take A exports startup 0–11, active 12–17 and recovery 18–41. ActionSpec event endpoints are inclusive. duration_ticks: 42 is the terminal boundary; this tool leaves no phase event on tick 42.

A timing sketch has limits

Shorter does not automatically mean better. This tool does not simulate hit confirmation, hitstop, cancel conditions, collision, animation blending or player input. It cannot judge game feel or balance. Hitstop is deliberately excluded from total duration: host-game pause behavior needs a separate test.

ActionSpec 1.x accepts only 60 ticks/s. At 30 or 120, you can compare and save lab projects, but ActionSpec export is disabled. No hidden rounding. The inspector reports authored windows; it does not prove schema validity or follow conditional branches.

Why use this beside Action Director?

Use this page for a quick numerical A/B experiment, or to spot overlapping phase labels in a saved action. Use Action Director for visual rehearsal, assets and engine handoff. The full editor already handles those jobs.

Action Director source and releases · Detailed guide and verification · Version history