Inspiration

We play a lot of "friendslop" co-op games together and wanted to make our own, one where communication (or miscommunication) between two friends is the whole point.

What it does

Two players share one cube. One walks the outside, the other is trapped inside, where everything is dark and mirrored. You can't see each other's screens, so you talk through the walls: read codes, count objects, guide each other across invisible paths and pass items to solve all six faces. Solo players get an AI partner.

How we built it

TypeScript monorepo: shared game logic, server and client. Node.js + Socket.io: Game state, lobbies, chat, reconnects. Phaser 4 + Vite: pixel-art rendering, keyboard, gamepad and touch. WebRTC: voice chat that gets quieter the further apart you are on the cube. Gemini + ElevenLabs: personality and voice for the solo AI partner. Vercel + Render: hosting.

Challenges we ran into

Getting the 3D cube physics right was tough.

Accomplishments that we're proud of

A full co-op game in the browser with no downloads needed that's compatible for desktop and mobile. Also implemented proximity chat and a AI partner to play with if you have no one.

What we learned

Splitting work between frontend, backend and maps kept us fast.

What's next for Cubic

More cubes and mechanics, new shapes, skins, and a level editor.

Built With

Share this project:

Updates

Submission history