Reflex Arena ⚽🏐🏸🎾


Inspiration

Every sport on Earth is played with the body. Every game on a screen is played with the thumbs.

That's the gap. That's the whole inspiration. Two sentences.

I'd watch a goalkeeper throw herself sideways to tip a 90mph penalty over the bar — muscles firing, spine twisting, fingertips stretching into physics — and then I'd go home, load up a sports game, and press X. Same sport. One version uses the full human body. The other uses one square centimetre of skin.

And here's the thing that bugged me most: every laptop already has a camera. A device that can see your entire body in real time. And what do we use it for? Video calls. We gave the most powerful sensor in the house the most boring job in technology.

I'm 13. I own a webcam, a laptop, and a pair of working knees. So I asked a simple question: what if the camera watched you play sports… and kept score honestly?

That word — honestly — is where it got interesting. Because I started realising most sports games don't just simplify how you play. They lie about how well you played. They predict your moves, smooth your mistakes, and quietly hand you points for things your body never actually did. The score goes up. You feel good. None of it was real.

I wanted a game where if you saved the penalty, your hand was actually there. And if you missed, you missed. No algorithmic consolation prizes.

Real sport doesn't forgive you. Why should a sports game?


What It Does

Reflex Arena straps a sports arena to your webcam. You stand up, the camera watches, and your body becomes the controller. MediaPipe Pose tracks 33 landmarks — wrists, elbows, knees, ankles, everything — in real time. No special hardware. No controllers. Just you.

🏟️ 4 First-Person Sports

You physically stand in a regulation 7.32 × 2.44 m football goal and face penalty kicks — real 3D ball physics, late-curving shots, the works. Then Volleyball defense (block and dig), Badminton intercepts (react and swat), and Tennis returns (track, position, swing). Your living room is the stadium.

⚡ 5 Game Modes

  • RUSH — Targets fly in. React. That's it. Pure speed.
  • Daily Challenge — One seed, the entire planet, one leaderboard. Same test for every human on Earth.
  • Adaptive — The game learns your speed, then sets the difficulty to just barely beyond it. Annoying? Yes. Effective? Absolutely.
  • Gauntlet — Limited lives. Escalating chaos. Good luck.
  • Duel — Hands-only, feet-only, cross-body, or full Chaos rounds.

🧬 Reflex DNA

A 5-axis performance profile — Reaction · Precision · Movement · Redirection · Consistency — that maps you to one of 8 athletic archetypes. You might be The Lightning Striker (explosive but wild) or The Metronome (steady and surgical). It's a scouting report for your reflexes.

📜 The Honesty Contract

One rule that governs every line of code: if the camera didn't see it, it didn't happen. Prediction can smooth the animations. It can never touch the score. This is the soul of the project.

No camera? Hit TAB. Instant mouse mode. Same game, different input — because nobody should be locked out of playing.


How We Built It

Solo build. ~10,300 lines of Python across 41 modules. No game engine.

The stack: Python 3.11, pygame on SDL2, OpenCV for capture, MediaPipe Pose for body tracking, ModernGL with hand-written GLSL shaders for the neon bloom, NumPy for the math.

The architecture has one job: don't lie.

  • Two threads, zero blocking. Camera and vision run independently. Only the newest frame survives — stale data gets deleted immediately. The game loop never pauses to wait for AI. Never.
  • Timestamps at capture, not inference. Your reaction time is measured from when your body visibly moved after the target appeared — not when the AI finished processing. Kalman filters make the animations pretty. They are permanently banned from the scoreboard.
  • Calibration fits every body. A 7-point affine fit maps the arena to your actual reach. Equally fair to a 13-year-old and a 6'2" adult. (This specifically fixed the problem of my uncle being insufferable at my own game.)
  • GPU with a parachute. Shaders run on ModernGL. If the GPU crashes, the game silently rebuilds as a CPU window. Same gameplay, zero drama. The player never knows.
  • Camera and mouse: separate universes. Different leaderboards. Comparing a full-body dive to a mouse flick would be like timing a sprinter against someone on a scooter.

Everything you see — the stadium, the 3-tier crowd, the floodlights, the hexagonal goal net, the gloves, the rackets — is procedurally generated in code. I can't draw. So I taught geometry to be my art department. It works for free and never misses a deadline.


Challenges We Ran Into

AI can't keep up with a game loop. Pose inference takes real time, and you can't pause a penalty kick mid-flight to wait for a neural network. Fix: asynchronous threads, latest-frame-wins, stale frames get deleted on sight. Latency isn't a bug you patch — it's an architecture you choose on day one.

The prettiest feature almost killed the project. Kalman smoothing made movements look gorgeous — and silently inflated scores by "completing" motions the player never finished. The hardest bug I've ever fixed, because technically nothing was broken. The code worked perfectly. The philosophy was wrong. New rule: prediction draws the pixels, observation signs the scoresheet. Separation of powers — but for sports games.

No artist on the team (the team is one person). Every visual — stadium, crowd, floodlight cones, gloves, rackets — is procedurally drawn from math. Turns out triangles and gradients make a decent art department.

You can't unit-test a human body. How do you write automated tests for "dive left and slap a volleyball"? Answer: 5 test suites — headless logic tests, windowed smoke tests, bridge round-trips, GPU fallback checks. Because "works on my webcam" is not a quality standard.


Accomplishments That We're Proud Of

🏆 The Honesty Contract actually holds. One sentence — if the camera didn't see it, it didn't happen — quietly governing 10,000+ lines of code. It's the hill I'd die on in a debate.

🏆 A leaderboard that means something. Every score on the camera leaderboard was earned by a real body moving in real space. No aim-assist, no input prediction, no generous hitboxes. In 2026, honest measurement is almost radical.

🏆 My friend full-body dived to save a virtual penalty and destroyed a real chair. Game: 1. Furniture: 0. That's the moment I knew the sports immersion actually worked.

🏆 Zero game engines. Zero shortcuts. Custom UI kit (819 lines), custom shaders, custom physics, custom procedural art. One builder, an unreasonable amount of caffeine, and a very patient family.

🏆 The GPU fallback has saved more gaming sessions than some AAA studios ship with. The best feature is the crash that never happened.


What We Learned

Real sport is honest — sports games should be too. Nobody gives you fair measurement by default. Not games, not apps, not algorithms. If you want honesty, you engineer it yourself, line by line, decision by decision.

Prediction is a great teammate and a terrible referee. Let it make things look good. Never let it keep score. I'll carry that lesson way beyond games.

Latency is a design choice, not a hardware problem. Timestamp at the source. Drop the stale. Never block the loop. Three rules. Zero exceptions.

Fallbacks are how you respect your players. The GPU parachute, the mouse-mode fallback, the graceful camera failure — nobody applauds the crash that didn't happen, but it's the feature that matters most.

You don't need a studio, a budget, or permission to build something real. The most advanced sports sensor ever made is the human body. It ships free with every athlete. The entire games industry forgot it existed. I just reminded them.


What's Next for Reflex Arena

🗺️ Product Roadmap

Version Codename What's Coming
v0.4 Net Play 🏓 Table Tennis as sport #5. Global server-synced Daily Challenge — one seed, whole planet, one podium. Ghost replays to race the day's best run.
v0.5 Rivals 🤝 Live online Duel — webcam vs webcam, real-time split-screen chaos. Weekly tournaments, seasonal brackets.
v0.6 Dimensions 🎮 Unreal Engine 5 visual upgrade via the WebSocket body-state bridge already shipping in-game. Full 3D stadium. Same honest scoring.
v0.7 Open Arena ♿ Accessibility-first: seated-play mode, limited-mobility presets, Reflex Rehab for physiotherapy. AI coach targeting your weakest DNA axis.
v1.0 The Big League 🏆 Cross-platform launch. Mobile companion. School PE edition with class-vs-class boards. First official Reflex Arena esports season.

The Vision

A global reflex benchmark — an open, camera-verified standard for human athletic reaction. Like a fitness test the internet can finally trust. Not owned by a company. Not gamed by an algorithm. Just bodies, cameras, and the truth.

Because the screen was never meant to be the boundary of sport.

It was always just the window into it.


*Built solo by Abhinav K, 13 — one webcam, two threads, and zero excuses. 🏅

Built With

Share this project:

Updates

Submission history