You are building a production-quality multiplayer browser game named RF-Zero.
Goal:
Build a retro SNES-inspired from F-Zero hover racing game that multiple viewers can join and play live from a deployed URL by the end of this session.
Requirements:
- Next.js + TypeScript (and select the best game engine for this see if you can do three.js)
- Real-time multiplayer using SpaceTimeDB
- Canvas-based or lightweight game rendering
- Lobby or room code
- Keyboard controls
- Track with laps
- Mobile and Desktop playable
- Player positions synced in real time
- Simple leaderboard
- Clear visual polish
- Lots of extra JUICE so that players can get power ups and can slow others down similar to the way you can do things with mario kart and other games
- Deployable to Vercel
Important:
Use ref tools and exa code mcp to look up docs.
First create an implementation plan.
Then build in vertical slices.
Prioritize a playable end-to-end version before polish.
At every major step, explain what you are doing and why.