Inspiration

I launched ourselves face-first into Meta Horizon, speed-ran a 3-day crash course, and panic-built a tiny game in just 3 hours called Mochi Ball. That innocent little blob immediately mutated into Mochi League — a ridiculous, sugar-fueled chaos simulator where squishy balls fall from the sky and everyone screams, misses, and accidentally scores in pure, beautiful panic

What it does

Mochi League is a chaotic 2v2 arcade brawl where players join Red or Blue in a tiny arena and headbutt squishy mochi balls into a monster goal. First team to 5 points wins pure glory.

How we built it

I focused on performance by creating a custom Ball Manager with object pooling to recycle assets. Our custom kicking system calculates the player’s forward direction and applies precise force, ensuring accurate, intentional shots instead of relying on default physics bounces.

Challenges we ran into

Network latency caused balls to feel “heavy” due to server-authority conflicts with client simulation. I also built more resilient state management to handle disconnects and edge cases, keeping lobbies stable during unexpected player drops.

Accomplishments that we’re proud of

I resolved latency issues using dynamic Entity Ownership Transfer, giving ball authority to the colliding player and enabling client-side prediction. We also built a robust game loop that cleanly handles match flow and transitions.

What we learned

In multiplayer arcade games, perceived responsiveness is more important than perfect simulation accuracy. Client-trusting interactions feel better, and fallback proximity checks are essential for reliable physics events.

What’s next for Mochi League

I plan to expand to 4v4 matches, add smart AI teammates to fill slots, and introduce tournament modes with exclusive cosmetic rewards.

Built With

Share this project:

Updates