Frenzy Ball is a physics game in the browser at frenzyball.app. You pick teams, choose a mode, and watch the bodies collide. The web app manifest can add it to a phone home screen as a portrait standalone app.
Matter.js steps every mode. Arena Fight is the one whose Settings control can switch engines. Auto is described as Rapier2D on iPhone and iPad and Matter.js elsewhere, and either engine can be forced. The other modes always use Matter.js. Each start builds a seed from the two team ids plus a random suffix. A rematch draws a new suffix, so the same teams do not repeat that seed.
Match entry costs 0 coins. Guests can play England, Argentina, Brazil, and Japan, plus three free wrestlers in Wrestling Royale. Other teams, custom teams, the neon circle skin, and ball trails unlock with virtual coins. Lifetime access is an optional shop item labeled $25. Signed-in players can keep coins, unlocks, and settings, and they can take daily challenges.
Five modes are described below. The picker also includes Arcade Pitch, whose in-game line calls it ball-tracking arcade chaos built for Shorts: big hits, a neon pitch, constant action.
Pitch is portrait football. Two teams of boots chase one ball, with one, two, or three players a side. The default is one. Goalkeepers start on. Team A scores when the ball crosses the top goal line fast enough toward that net, and team B scores at the bottom. A slow ball in a corner wedge does not count. A jammed ball is pushed back into play. The default clock is 60 seconds. Drag control stays off until you enable “Control bottom team.” Then the nearest player on team A follows a finger, mouse, or trackpad. Otherwise the match AI drives the boots.
Circle Clash is a round ring and always 1v1. A ball is in play unless you turn it off, in which case a boot scores by entering the goal. The default is one shared goal mouth at the bottom. With shared goal off, each side defends its own arc, top and bottom. Arena spin starts at 0, so the ring stays still until you raise a slider from 0 to 0.65 radians per second. Boots stay above a minimum speed. The classic ring is free, and the neon arcade skin is an unlock.
Arena Fight is a square box, always 1v1, one fighter per team. Each side starts with 6 hearts and cannot hold more than 6. A saw spawns on the floor and arms whoever picks it up. A saw hit that clears the cooldown and a minimum closing speed removes one heart, then the saw respawns later. A heart pickup adds one heart, still capped at 6. Contact without a saw does not take a heart. At 0 hearts that fighter is eliminated. This is the mode that can run on Rapier2D.
Team Race drops team marbles down a vertical course. The home screen offers 8, 16, 24, or 32 teams, with 32 and one marble per team as the default. Settings can raise balls per team, and the engine stops at 128 marbles. They start in a spinning cage. After a countdown that defaults to 5 seconds, the gate opens and they fall through obstacles. You can set obstacle density, gravity, course length, and a dynamic or fixed camera. The first marble to touch the finish sensor wins. A marble that stays nearly still is nudged, and if it remains stuck it can be moved on.
Wrestling Royale is a ring with ropes and an apron for 2 or 3 wrestlers, each starting at full HP. The default maximum is 100, on a slider from 50 to 200. Pickups start on: a chair deals 22 damage, energy heals 18 HP, a shield lasts 5 seconds, and mega slam is the heavy pickup. Body contact chips 1 HP, or 2 HP on a faster hit, and a finisher deals 14 instead. Crossing the ring-out margin eliminates that wrestler. Health regen, on by default, starts after 4 seconds without damage. The tilted ring camera is the default. The last wrestler still in wins.
Longer steps are on How to play. Mode notes are on Game modes. Articles are on the Blog. Recent posts: