Phaser AE

Table-service floor

Pro packv3.0.0-52DLogic

The rules of a restaurant time-management game, in the style of Diner Dash. You seat the parties and queue the work; a server walks the floor on real routes and does it, two hands at a time, and repeating the same task earns a combo.

This is a Pro pack. Upgrade to Phaser Pro to use it in your games.See Phaser Pro →

Released October 14, 2026 · updated October 20, 2026

Table-service floor: a screenshot of its demo
A note about these graphics

Expansion packs don't come with graphics. This screenshot is one way of drawing what the pack does, made for its demo: none of the sprites, tiles or backgrounds in it are in the pack.

That's by design. A pack is a game's logic, mechanics and effects, and it works with whatever art you give it. Some packs draw effects, backdrops or 3D scenes of their own, but none carries a game's sprites.

So the look is yours. Make the art on phaser.io, bring your own, or let your agent draw it in code: the same pack can look like anything.

What it does

Guests come from the customers pack's service shift: they arrive, wait at the podium with their patience in hearts, order, eat, pay and tip. You seat a waiting party at a table with enough seats, and it sits at once. Then you build the server's to-do list with queue: take a table's order, drop the tickets at the kitchen window, pick up a party's food, deliver it, give the check, clear the table and take the dishes to the bus tub.

The server works the list in order. It walks to the open cell beside each task's place by a real route round the tables and walls, and spends a moment there. Orders become tickets it carries; dropped at the kitchen, a ticket cooks for a set time plus a little more for each item, then waits at the window. Food and dishes take a hand each, and the server has two. Clearing a table puts the bus tub on the list for you.

Planning is the game. A task that cannot be done when the server gets there, because the food is not ready or its hands are full, is skipped with its reason and breaks the combo; a run of the same task builds a bonus that grows with the run's length. Food and tickets for a party that has walked out are thrown away. Everything is reported as events, and snapshot and restore save a shift.

Features

  • Seating — a waiting party sits at once at any table with enough seats.
  • A walking server — real routes round the tables and walls of the floor plan, at a set speed.
  • Seven tasks — order, drop, pickup, deliver, check, clear and bus, queued up to a limit.
  • Tickets and cooking — tickets cook at the kitchen window for a base time plus a time per item.
  • Hands — food and dishes take a hand each, and the number of hands is an option.
  • Skips and combos — an impossible task is skipped with its reason, and a run of the same task earns a growing bonus.
  • Floor plans in text — walls, floor, tables by seat count, the kitchen window, the bus tub, the podium and the server's start.
  • An autopilot — seats parties at the smallest clean table that fits and gives the server the most urgent task, for an attract mode or a test.
  • Events and saves — arrived, skip, combo, cooked and the shift's own, with plain snapshots.

Good for

  • Restaurant time-management games in the style of Diner Dash, level by level.
  • Waiter and café games where planning the server's route is the challenge.
  • Other service floors, such as a canteen or a tea room, drawn as text with their own tables.
  • Attract modes and balance tests, played by the autopilot.
  • Level ladders that add tables, slow the kitchen or shorten the server's list as the levels go on.

Make it yours

createDiner takes seed, floor (the built-in plan has six tables of two and four seats), speed (4 cells a second), act (0.35 seconds a task), cook (3 seconds) and perItem (0.8 seconds), hands (2), tasks (8 on the list at most), combo (5 a task in a run) and service, the customers pack's shift options. A floor plan is rows of text: # a wall, . floor, a digit a table with that many seats, K the kitchen window, B the bus tub, P the podium and S where the server starts.

Two different uses: the built-in floor with the defaults, as a first level; and a narrow café of your own, drawn in text with a dozen two-seat tables, a server with one hand, slower cooking and a short task list, so every trip has to count.

A quick look

A diner opened, a party seated, and the server sent to take its order and drop the ticket:

const diner = game.walkServe.create({ seed: 3 });
diner.seat(partyId, 't2');
diner.queue({ kind: 'order', table: 't2' });
diner.queue({ kind: 'drop' });
diner.step(dt);
for (const e of diner.drain()) if (e.kind === 'combo') showCombo(e.count, e.bonus);

Works with

  • customers — the guests, their patience, orders, payments and tips; this pack imports it.
  • nav — the routes the server walks; also imported.
  • cooking-counter — stations and a counter instead of a walking server, for a cooking game at a counter.

Good to know

  • There is one server, and guests do not walk: a seated party is at its table at once.
  • Upgrades, a hostess and colour-matched seats are not modelled.
  • It draws nothing: your game presents the floor, the server and the guests.

More Logic packs

Show all →