Skip to content

tickcli

Live rooms for browser games. Write the game in one HTML file; tickcli adds the lobby, invite links, reconnects and smooth movement on every screen. Works with its own tiny shell, three.js, Phaser, PixiJS or your own loop.

Real games, playing live

Each clip is a few seconds of real play in one room. All 11 games

Terminal window
npm install tickcli ws
npx tickcli ./games # every .html file in ./games gets live rooms

No game code on the server

One player’s browser (the host) runs the rules. The hub keeps who is in the room, the shared state, the order of changes and the limits. A new game never needs a deploy.

Any engine

The built-in shell for one-file games, context: "webgl" for three.js, and headless: true for engines that run their own loop: Phaser, PixiJS, Babylon.js, Kaplay.

Smooth on every screen

Others are drawn a little in the past and eased between updates: positions, angles the short way round, and 3D rotations as quaternions.

Party, co-op and board games

Party and co-op games, races, board games with people watching, team battles, dungeon crawlers, knockout tournaments, on a computer or a phone.

const g = Game({ headless: true, multiplayer: { max: 8, player: { x: [0, 800], y: [0, 600] } } });
// in your engine's update, once a frame:
if (g.state === "playing") g.me.set({ x: hero.x, y: hero.y });
g.sync(make, place, remove); // one sprite per other player, eased