Inspiration
This past summer I went to dave n busters with my friends. We enjoyed all the games, but the common consensus was it was too loud and the games were limited to 1 player or 2 players. We wanted to all be included. When the mystery track dropped I immediately thought of netflix games. I just thought they were really boring. I prefer wii, but it seems like you have to buy the full wii set to play those games. Why can't you just have a computer and your phone and have your friends play together. Set up should be simple and intuitive which is why I made Phil n Friends for people who want a fun group activity without breaking the bank buying additional hardware and enjoy it at the comfort at my home.
What it does
Phil n Friends turns a laptop or TV into a shared arcade, with phones acting as motion controllers. Players scan a QR code to join and use physical movements to play four games:
- Strike Lanes: Swing and release your phone controls to bowl, using wrist rotation to add spin.
- Sky Wobble: Tilt to balance on a floating island while wind and shrinking platforms make survival harder.
- Cloud Karts: Steer your phone like a wheel and shake it to activate a boost.
- Rally Court: Time your swings, serves, and smashes in doubles tennis. Players can also upload a photo to create a personalized “Buddy” avatar. Session leaderboards, head-to-head records, and a champion podium keep the competition going across games. ## How we built it We built the frontend with React and Vite, using Three.js and React Three Fiber for the 3D environments and Rapier for bowling physics. A Node.js server uses WebSockets to connect the phones to the shared screen. Our motion system processes phone sensor data into tilt, swing, and shake inputs, and combines button releases with recent motion data for bowling. Phones process these inputs locally and send them to the host, which manages the game state. For personalized Buddies, we implemented a pipeline that uses Gemini to transform a player’s photo into a stylized character image, then uses Tripo to generate a 3D model with automatic rigging when supported. Players can start with a default character while their Buddy is being generated ## Challenges we ran into Planning out what types of games I wanted that would implement phone motion and make it challenging enough for 4 people. ## Accomplishments that we're proud of I'm proud of bringing four distinct games into one shared experience, each with its own motion controls and gameplay. ## What we learned I learned how to connect real-time networking, phone sensors, 3D graphics, and physics into one application. ## What's next for Phil n Friends I want to add more motion-based games. I also want to playtest with more groups, improve control sensitivity across devices, and add more accessibility options. Further polishing Buddy generation and character animations would help make every game night feel more personal as well !
Built With
- css
- gemini
- html
- javascript
- lyria
- node.js
- rapier
- react
- three.js
- tone.js
- tripo
- vite
- websockets
Log in or sign up for Devpost to join the conversation.