Inspiration

We were inspired by classic childhood games, time spent on the playground playing marbles at recess. We loved the literal metaphor of the World Labs Marble model, viewing each marble as a world that you can hop into any time. With the toss of a marble, the thought of the whole environment changing for players as a direct consequence of the gameplay was really enticing for us to explore. We're very inspired by outer space, planetary systems & gravity physics dynamics, and the unlimited possibilities to imagine being transported instantly to different worlds with the snap of a finger.

What it does

You can play Marbles with natural hand input in XR and feel the delight of each collision, knocking your opponent's marbles outside of the gravity pull of the orbital sphere, and changing the world environment with each round of gameplay.

How we built it

We used Unity with C#, XRI for the core hand interactions, and the World Labs Marble API to generate the environments for the game. The multiplayer networking code is through Normcore's Realtime.

Challenges we ran into

Wrangling Unity, dealing with build issues, learning the subtleties of XRI and platform differences.

Accomplishments that we're proud of

The core gravity interactions with the skybox marbles and the satisfying core loop of changing the world environment when you knock a marble out of the ring.

Doing our first e2e Pico build and having it work with hand-input on-device.

What we learned

Learned about the World Labs Marble SDK capabilities, Gaussian Splatting asset pipeline, how to effectively cover up generation latency with gameplay mechanics (ie can do skybox swap with splat once it's ready).

Learned about the Pico platform capabilities and how to best utilize the novel input methods of XR for satisfying gameplay.

What's next for Cosmic Marbles

We are going to publish the game on Quest and Pico next, share demos online through TikTok, YT Shorts, and Reels! We are thinking of layering on creature-capturing mechanics and empowering players to generate their own custom environments in-game with voice input.

Built With

Share this project:

Updates