Skip to content

Repository files navigation

🌐 English | 中文

Microduck Arena

3v3 reinforcement-learning football, fully in your browser.

License MuJoCo ONNX Runtime HF Space

Six AI ducks battling it out in a neon Tron arena

⭐ If you like this project, please give it a star — it means the world!


🎮 Live Demo

▶ Play Now — zero install, zero backend, just open and watch the ducks go.

MICRODUCK FOOTBALL 3V3 — Kick Off title screen


✨ What is this?

Six robot ducks. One neon arena. A ball. All the physics and AI run natively in your browser — MuJoCo compiled to WebAssembly simulates every joint at 50 Hz, while 9 ONNX neural-network policies (trained with reinforcement learning) make each duck walk, kick, and score on its own.

3D Microduck model on the title screen

No servers. No pre-rendered video. Your browser is the game engine.


🌟 Why Star this repo?

  • 🆓 Fully open source — MIT license, fork it, learn from it, ship it
  • 📦 Zero backend — pure static site, deployable to any CDN or container host
  • 🦆 Browser-native physics — MuJoCo WASM rigid-body simulation at 50 Hz
  • 🧠 Real RL policies — 9 neural networks running via ONNX Runtime Web
  • 🌐 WebRTC multiplayer ghosts — P2P duck sync with no server in between
  • 🎓 A learning goldmine — reinforcement learning, WebAssembly, 3D game dev, P2P networking, all in one small codebase

Sandbox mode — duck, ball and HUD in the Tron arena


💬 Join the Community

WeChat Developer Group — scan the QR code to join the MicroDuck-Arena developer group. Share ideas, ask questions, or just watch the ducks together!

WeChat group QR code — MicroDuck-Arena Developer Group

QR code valid until Sep 14. Expired? Open an issue and we'll refresh it.


📸 Screenshots

3v3 football match in progress
🏟️ 3v3 Football — RED vs BLUE
Sandbox mode scene
🦆 Sandbox — free-roam a single duck

🚀 Quick Start

git clone https://github.com/00make/microduck-arena.git
cd microduck-arena/app
npm install
npm run dev

Dev server: http://localhost:5173

Mode URL
🏟️ Football (3v3, default) /
🦆 Sandbox (single duck) ?mode=sandbox

Requires Git LFS — models, meshes, and policies are stored as LFS binaries. Run git lfs install && git lfs pull if the app complains about invalid JSON.


🛠 Tech Stack

Layer Technology
Framework Vite + React 19
3D React Three Fiber + Three.js
Physics MuJoCo WASM (50 Hz)
AI ONNX Runtime Web (9 policies)
Multiplayer WebRTC P2P (Trystero)

More details: architecture & deployment notes.


🙏 Credits


📄 License

MIT © 00make. See LICENSE.

Enjoying Microduck Arena? Drop a ⭐ and share it with a friend!

About

Microduck Arena — 3v3 reinforcement-learning football, fully in your browser. MuJoCo WASM physics + ONNX neural policies at 50 Hz.

Topics

Resources

Stars

5 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages