Skip to content

CPU service-clock sim

A restaurant service simulation in pure C#

A never-shipped showcase from the GameDevelopment.RestaurantSim leaf. A restaurant - here Le Joenno, procedurally generated for Rome with a six-dish menu and a six-cook brigade - runs a full day on a minute-by-minute service clock: mise en place, lunch, the afternoon lull, dinner, and close. A real recipe flavour-pairing and food-safety scorer plates every dish. Tables fill, tickets queue, the brigade fires, and revenue climbs - all on the .NET base library with zero dependencies. The dashboard frames below are the real bake output.

863
covers served
$4,939
shift revenue
88
safety violations
0
NuGet packages
An animated restaurant dashboard stepping through a service day: a phase timeline with a moving clock marker, a dining room of tables filling and emptying, an order-ticket queue growing during rushes, six kitchen-station throughput bars, and a cumulative revenue curve rising
One full service day
The shift, minute by minute

Top: the phase timeline (mise en place, lunch, break, dinner, close) with a moving clock marker. Left: the dining room, tables warming as parties are seated. Middle: the order queue, deepening through each rush. Right: the six brigade stations firing. Bottom: cumulative revenue, with red pips marking food-safety violations.

A single dashboard frame at the dinner rush: most tables occupied, the ticket queue nearly full, all six kitchen stations busy
Peak
The dinner rush

The busiest moment of the day: the room is nearly full, the ticket queue is stacked deep, and all six stations of the brigade are plating flat out.

A dashboard frame at close: the room emptying to a couple of lingering tables, the queue drained, and the full-day revenue curve at its peak
Close
End of service

Service winds down: the queue drains, the last tables clear, and the revenue curve tops out at the day's take of just under $4,939.

  • Mise en place
  • Lunch service
  • Dinner service
  • Kitchen throughput / revenue
  • Safety violation

How it works

The leaf itself supplies three real primitives: a procedural restaurant generator (RestaurantSimApp.Create builds the menu, brigade and pantry from a locale and archetype), a minute-of-day service clock (Tick classifies every minute into its DayPhase), and a genuine plate scorer (EvaluatePlate looks each dish up in the world recipe catalog, scores its flavour pairing, and grades food safety from the measured internal temperature). On top of those, the bake drives a service layer - seating parties, queueing their tickets, and pricing each cover - so the real scorer decides which plates pass and thus what they earn. Every plate, phase and safety call in the frames is real model output. Plain C# on the base library, portable by transliteration and free of any external dependency.