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,cookedand 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.






