Match Predictor

Configure the embeddable mini-game, preview it live, and export a single minified <script> block (Pixi is injected at runtime; paste next to a #game container or let the script create one).

Simulation parameters
Real-time length of the match in the widget.
Time for one full rotation of the field.
Angular width of the goal; allowed range 10–120°.
Downward acceleration (+y). Use 0 to disable.

In-match interactions (optional)

Actions

Performance

Detects device capabilities and applies a balanced/low/high profile automatically.
Caps Pixi rendering during the match (simulation stays real-time). Lower FPS reduces GPU load on slower phones.
Shockwave rings on impacts. Disable to reduce GPU load on slower phones.
Optional debug override for preview and export.
Leave empty for a random seed every game; set a number for reproducible runs.
Goals, field/post impacts, ball collisions (same clips as video composer; embedded in the widget script).
Log headless scan, chosen expected score, and animated final check to the browser console.
All UI strings (buttons, result screen, attempt meter, errors). Also accepts BCP47 tags like en-GB (primary tag is used).
Keep random pairing or lock the widget to specific home/away teams selected from league → season → teams.

Manual team selection


Attempts & prize

Including the first loss (e.g. 3 = three losing games). Use 0 for no limit.
After expiry the counter resets and the user can play again.
Alphanumeric, underscores, hyphens only (other characters are stripped).
Shown as "Redeem Prize" instead of Play Again. Must be http(s):// or a path starting with /.

Opens a dialog with one minified <script> (widget from this app + Terser from CDN when available). Pixi v8 is loaded programmatically before the widget runs; the host page only needs to allow the script to run (and optional #game).

Preview