Developers
Make games for the room.
A game is a folder
Four files. Copy an example, change the rules, see it on every phone.
game.jsonThe manifest: title, tagline, category, players, orientation and accent colour.server.tsThe rules. Runs on one phone in a background worker and decides every score.client.tsThe screen. Runs on every phone, draws the state and sends taps.styles.cssYour game's look, on top of the PloxOS shell.
export default defineGame({
manifest,
events: z.object({ type: z.literal("tap") }),
create(ctx) {
const state = { round: 0 };
const publish = () => ctx.setState({ ...state, scores: ctx.scores() });
return {
onStart() { publish(); ctx.after(1500, next); },
onEvent(playerId, event) { ctx.addScore(playerId, 1); publish(); },
};
function next() {
if (state.round >= 5) return ctx.end();
state.round += 1;
publish();
}
},
});The SDK
Everything a party game needs, nothing it does not.
Timers on one clock
Deadlines run on the Cube's clock, so every phone counts down together.
Seeded random
Shuffle and pick fairly, the same way on whichever phone runs the rules.
Scores
Add points in the rules. The Cube keeps the evening's scoreboard.
Private state
Send something to one player only, like a hand of cards.
Storage on the Cube
Keep small things between games, like campaign progress.
Carry on
Two small hooks let your game move to another phone mid match.
Phone first
Portrait first, touch targets you can hit without looking, one clear action per screen and big type.
2D or 3D
Plain HTML for quick games, or a full 3D scene. School Wars and Bolt Brawl both run in 3D on the phones.
Join the developer list.
The SDK is not public yet. Leave your email and we will be in touch when it opens, or write to us at hello@ploxinteractive.com.