Inspiration
Some of our best gaming memories were born from the Wii: the nostalgia of swinging your remote around, playing tennis, getting strikes in bowling, scoring home runs, and so much more. The motion controls in the Wii remote were revolutionary for the time. Nowadays, everybody has a motion controller in their pocket: their mobile phone. Off the high of this nostalgia, we built Nailong Battle!
What it does
Nailong Battle! is a two player sword fighting / sumo style first person PvP game where your phone is the sword. You scan a QR code on a laptop and you're fighting in seconds, right within your browser.
- Got beef? Don't fight in real life, settle it in Nailong Battle! instead :) (trust me it's very impactful i got really mad at my teammates but Nailong Battle! saved their lives)
- Hit your opponent to knock them back - the harder you swing, the more knockback you deal!
- Knock your opponent off the platform to win the round - first to 2 rounds wins!
- Pick from four classes, each with their own power up!
- All with immersive haptics that guarantee a fun experience for all!
How we built it
- Game server: Node.js runs the fight at 60 frames per second, so both players are always in sync
- Phone controller: we fuse the phone's gyroscope and accelerometer to track the sword's angle and swing speed, and stream to the server over WebSockets to drive the sword in real time
- Graphics: Three.js renders everything: from the characters, sabers, particles, and the serene SF scenery
- Haptics: migrated our browser solution to an Expo app because we wanted juicy haptics
- Built with Cursor and caffeine, from running Grok agents in parallel to running ourselves on Figma lattes (whoever made it so that agents can playtest features in the built-in browser is a genius BTW, absolute life saver)
Challenges we ran into
The Wi-Fi blocked our devices from talking to each other :( so we learned how to route everything through a tunnel. Phone gyroscope data is also very noisy, and it took a lot of playtesting before swings felt powerful and gameplay felt satisfying. On top of that, Apple doesn't let websites vibrate the phone, so we built a native app for full haptics :D
Accomplishments that we're proud of
Anyone with a phone can play! Landing a hit is satisfying af, and it's a complete game with classes, power ups, and voice lines (recorded by the wonderful team themselves). Best of all, people stopping by had a great time playing and battling each other!
What we learned
Game design is all about the small details: the main features matter, but even if the movement is off by a little, the whole thing falls apart.
What's next for Nailong Battle!
- ONLINE PLAY!
- MORE 3D NAILONG GAMES!

Log in or sign up for Devpost to join the conversation.