Inspiration
Everyone who's lived with a cat knows the ritual: the cat vanishes, and you spend ten minutes lifting cushions, opening doors, checking under the bed. We wanted to turn that small domestic mystery into a VR game — and we'd been looking for an excuse to play with Gaussian splatting, which renders spaces with a realism meshes alone can't touch. Hide-and-seek was the perfect fit: the more real the room looks, the more satisfying the reveal.
What it does
Cat-chers puts you in an enormous, brightly colored kids' bedroom — light blue walls with cloud patterns, a red carpet, balloons drifting near a very high ceiling, an empty fish tank in the corner — and hides cats throughout it. You physically lift and move objects to find them: the table, the chair, a pop-up play tent, the bed, a cat house, a trampoline, a bean bag, cushions, and an enormous cracked-screen TV sitting inexplicably on the floor. Catch the cat and you get an ending you won't expect.
How we built it
The environment is a Gaussian splat generated with Marble from a written prompt, rather than a real-world capture — this let us art-direct an impossible room (absurd ceiling height, cloud-patterned walls, floating balloons) and, crucially, specify a mostly empty floor so we could place interactive objects ourselves. The interactive assets are generated with Tripo, which we can pick up.
The ending sequence is an AI-generated video: a first-person shot of a black cat coughing up a fish that drifts toward the player, gets eaten in three bites, and ends with the camera pushing forward into the darkness of the player's own mouth. We graded it to look like consumer camcorder footage — grain, judder, washed-out warmth — so it lands somewhere between charming and deeply unsettling.
Challenges we ran into
Splats and meshes don't naturally coexist. Getting correct depth sorting and occlusion between a splat-rendered room and mesh-based objects took real work — without it, cats float in front of walls they should be behind, and lifted objects clip through the world.
Prompting Marble for a usable room was its own challenge. Generative environments want to fill space; we needed a large, detailed, characterful room that was also deliberately empty where it counted, since anything baked into the splat can't be picked up.
Understanding VR performance was not easy. We're not used to thinking about how much high dimensional assets can tank frame rate.
The ending video was the fussiest thing we made. Getting a first-person camera that stays level and forward-facing, a fish that floats without swimming, and bites that read clearly without ever showing teeth or lips took a lot of iteration on the prompt.
Accomplishments that we're proud of
We got a hybrid splat-plus-mesh pipeline running at interactive framerates in VR, where you can reach out, pick up a real-feeling object, and find a cat underneath it. The lift-and-reveal moment feels good — that's the whole game, and it wasn't obvious it would work until it did.
We also built a full environment without stepping outside, going from a paragraph of text to a playable room.
What we learned
A lot about the practical seams of Gaussian splatting: where it shines (static environments, lighting, detail) and where it falls apart (anything that needs to move, deform, or be interacted with). We learned that generated splats are a genuinely fast way to build VR environments, as long as you plan the split between "background" and "interactive" before you generate.
And we learned that photorealism raises expectations — once the room looks real, players expect real physics, so the interaction has to earn the visuals.
What's next for Cat-chers
Multiplayer hide-and-seek, where one player places the cats. User-captured scenes, so you can play in your own home. More rooms, more animals, more hiding spots. And more endings.
Built With
- marble
- tripo
- unity
Log in or sign up for Devpost to join the conversation.