Inspiration We wanted to turn the frustration of a climbing game into something you could share—and blame on your friend. Inspired by Getting Over It and the physical comedy of party games, we asked: what if two people controlled different halves of the same climber? One player gets the arms. The other gets the legs. Communication becomes just as important as coordination.
What it does Our game is a browser-based multiplayer climbing party game where players use their phones as controllers and watch the action on a shared screen. Players scan a QR code to join, then work together to grab holds, jump across gaps, and navigate physics-driven obstacles. Teams race through snowy mountains, forest branches, and a campus-inspired building. A guided prologue introduces the controls before the competition begins. There is also a kick button, because apparently coordinating one body wasn’t difficult enough.
How we built it We started with a 2D mountain-climbing prototype using Planck physics. This helped us explore the core mechanic: splitting control of one character between two players. We then expanded into 3D using Three.js for rendering and Rapier for physics. This allowed our characters to swing, twist, and collide while navigating courses that move horizontally, vertically, and diagonally. A Node.js server connects the phone controllers and spectator screen through WebSockets. The phones combine motion sensors with touch controls, while HTML and CSS power the menus, controller interfaces, and HUD. We used GitHub branches to collaborate and combine our work, with Codex and Claude assisting with implementation, debugging, and iteration.
Challenges we ran into The biggest challenge was making a physics-driven character respond meaningfully to two people at once. Grabbing, jumping, and balancing needed to feel understandable without removing the unpredictable movement that makes the game funny. Phone motion controls introduced additional challenges around calibration, browser permissions, and HTTPS. Moving from 2D to 3D also meant revisiting collisions, camera framing, course geometry, and performance.
And yes, there were bugs.
Accomplishments that we're proud of
We turned a simple vertical climbing prototype into a multiplayer 3D game with three distinct environments, phone controllers, and a shared spectator view. We're especially proud of the split-body control system, the playful visual style, and the moments when two players finally coordinate a difficult jump—or immediately undo each other's progress.
What we learned
We learned that adding dimensions also adds debugging.
More seriously, we learned how to connect real-time phone input to a shared physics simulation, build readable 3D environments, and balance responsiveness with physical comedy. Playtesting also taught us that clear controls and feedback matter just as much as adding features. A mechanic isn't finished until someone unfamiliar with the game can understand it.
What's next
We want to refine the physics and controls through more playtesting, expand the courses, and add more interactive obstacles and opportunities for playful competition. We also want to improve accessibility, onboarding, and performance across more phones, while continuing to polish each environment. More chaos. Fewer accidental bugs.
Log in or sign up for Devpost to join the conversation.