MU Idle
Idle MMORPG inspired by MU Online with real-time updates
- Boss zones, chaos machine, vault and ascension system
- Real-time progression updates via WebSocket
- Class selection (Dark Knight + more) with persistent character state
- Wiki, rankings and events as first-class routes
- Drag-and-drop inventory via dnd-kit
- Capacitor-ready for Android packaging
Overview
MU Idle is an idle MMORPG that takes the MU Online mythos, classes, monsters, items, bosses, and reframes it as a click-light progression loop. Boss zones, chaos machine, vault, ascension system. Built with the same modern stack as Empire of Choice but tuned for MMORPG mechanics.
Problem
MU Online players are nostalgic but realistic about their time. They want the loot, the ranking, the class fantasy, without grinding 8h/day. The challenge is keeping the MU identity (item options, jewels, character classes) while making the gameplay loop respect real-life schedules.
Solution
Same foundation as Empire of Choice: Next.js 16, Prisma 7, NextAuth, Zustand, Neon. The difference is real-time, boss kills and global events broadcast through WebSocket so all online players see the action without polling.
Each page is a route: /characters, /select-class, /boss-zone, /chaos-machine, /vault, /wiki, /ranking, /events. The ascension system was the biggest schema migration, players who reset get permanent bonuses that compound across runs.
Tech rationale
- React 19 + Next.js 16: Server Components for static pages (wiki, ranking), client islands for interactive game UI
- WebSocket (
ws): push-based broadcast for boss events, lighter than polling - dnd-kit: accessible, performant drag-and-drop for inventory and equipment swap
- SweetAlert2: quick polished modal/toast layer for game feedback
- Floating UI: tooltip and popover positioning for item details
Lessons learned
- WebSocket on Vercel needs care (serverless cold starts), separate WS service is cleaner
- React 19 hooks + Zustand interop is smooth, no friction
- Ascension migration is the kind of schema change you plan three times before running once