built-in shellSpotlighttickcli
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.
npm install tickcli wsnpx tickcli ./games # every .html file in ./games gets live roomsNo 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.
Two lines in your engine
Section titled “Two lines in your engine”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




