Inspiration
Frag Arena was deeply inspired by the classic, fast-paced flash game Gun Mayhem. We wanted to capture that high-intensity, chaotic platformer combat loop where weapons fall dynamically from the sky, and mastering aggressive firearm recoil is just as critical as spatial movement. We aimed to adapt this frantic desktop brawler style into a highly responsive, modern experience optimized directly for Reddit's ecosystem.
What it does
Frag Arena is a 2D physics-driven platform brawler where players battle on fixed stages. Utilizing a dynamically shifting arsenal of 10 customizable weapons—ranging from low-recoil Uzis to high-impact rocket launchers—players must collect dynamic supply crates, manage ammunition limits, and weapon cooldowns to survive. The primary objective is to strategically weaponize extreme horizontal and vertical knockback forces to push opponents completely off the platforms before they do the same to you.
How we built it
The game leverages a modern tech stack consisting of Phaser 3 on the client frontend, Devvit Web for server orchestration on Reddit, and tRPC handling type-safe communication.
Because our team did not have a dedicated pixel artist, we treated this limitation as a major engineering test: Frag Arena features absolutely zero external graphic assets. Every interface asset, player part, projectile element, and stage layer is programmatically drawn and styled directly using Phaser's code-driven rendering systems.
This asset constraint forced us to write a full Procedural Animation Framework for our stickman rigs. Instead of heavy, pre-baked sprite sheets, player limbs dynamically evaluate mathematical Inverse Kinematics (IK) loops in real-time to track movement state. The knee joint position $K$ is continuously solved relative to the pelvis anchor $H$ and moving foot target $F$ through the law of cosines:
$$\cos(\angle H K F) = \frac{L_1^2 + L_2^2 - D^2}{2 \cdot L_1 \cdot L_2}$$
Where $L_1$ and $L_2$ represent structural limb lengths, and $D$ measures the immediate vector distance magnitude between the hip and the ground tracking target.
Challenges we ran into
The single greatest developmental hurdle was designing intuitive mobile controls for a highly frantic game loop. Traditional 8-button layouts on flat mobile glass screens frequently cause dead inputs and thumb drifting. Because a player needs to run, aim, fire, jump, and drop platforms simultaneously, a classic multi-button configuration proved unplayable.
We overcame this by programming a unified multi-touch gesture map that reads touch velocities. Holding down movement zones registers left/right running acceleration, but dragging a thumb vertically across the surface changes input states instantly:
$$\Delta y = y_{\text{current}} - y_{\text{start}}$$
If the vertical delta passes our active threshold ($\Delta y < -\text{threshold}$), an instant upward velocity boost is applied to handle double jumps smoothly without forcing the player to lift their thumb or stop firing.
Accomplishments that we're proud of
We are incredibly proud of building a fully responsive, physics-driven brawler that runs at a fluid 60 FPS entirely through procedural drawing routines. Successfully anchoring the skeletal stickman limbs to the pelvis eliminated visual clipping, resulting in remarkably clean procedural running cycles and arm weapon tracking entirely generated by lines of mathematics.
What we learned
We discovered that the visual rendering constraints of a hackathon engine can be effectively converted into strengths. Leaning heavily into Phaser 3's core programmatic geometry capabilities allowed us to bypass heavy asset preloading loops entirely. This approach ensured that the application loads near-instantaneously inside a nested Reddit iframe, removing player entry friction.
What's next for Frag Arena
With the fundamental movement, crate spawning, and core weapon mechanics fully verified, we have prepared structural placeholders for long-term progression loops to be deployed in subsequent framework updates:
- Story Mode: A curated tier system allowing players to fight an increasingly difficult progression ladder of tactical AI profiles. Achieving specific round conditions will unlock advanced weapon configurations in the user profile.
- Global Subreddit Leaderboards: A persistent backend scoring ladder using a server-side Devvit Redis architecture to track dynamic speedrun clear times and record global victory margins across Reddit communities.
Log in or sign up for Devpost to join the conversation.