Khinkali Rush: The Neighborhood · expansion v3

The same /play/khinkali-rush/ URL now includes a persistent restaurant-building loop. Georgian is the default; add ?lang=en for English. This remains the custom Canvas 2D restaurant, not PixiJS or Three.js. No other game's source or saves were changed.

What is implemented

Eight upgrades with earned kitchen coins: larger two-portion copper pots (40), warm two-slot shelf (70), courtyard bench and extra patience (60), faster stove (100), second tea charge (85), blue tablecloth (55), decorative qvevri and vine (75), and balcony lights (90). Prices are in fictional kitchen coins; there are no real-money purchases. Purchases are made between shifts. The first completed shift can afford the larger pots. A small unboxing animation accompanies the latest purchase at the next opening.

Six regulars: Nino, Gia, Maia, Levan, Nana and Dato have stable appearances, favorite fillings, personality dialogue and service perks. Relationships count one good visit per regular per successfully completed shift. Stories develop at 1, 3 and 6 visits; the third unlocks a permanent gift drawn into the restaurant. Gifts include window flowers, a brass bell, a family photograph, a decorative toast horn, spices and a felt hat.

Three service choices: Quick Lunch has more single-portion orders, quicker arrivals, less patience and slightly better tips. Family Supra requires two matching plates per order, with fewer orders and more patience. Bebo's Special biases visiting customers toward the day's filling while regulars retain favorites. The original house menu is also available. Shift 1 keeps the simple original teaching sequence.

Optional cooking mastery: collect a ready portion within three seconds for a quality bonus. Missing the window does not spoil it; normal ready dishes remain usable until the separately signaled overcooking timer, introduced in later shifts. Quality survives shelf storage and returning a dish, rather than being rerolled. Successive perfect portions build the combo.

Eight themed rushes across shifts 3–10: marshrutka arrivals, rainy courtyard, cousins, market lunch, a supra, rehearsal, rtveli visitors and the courtyard celebration. These share a predictable queue mechanic: an eight-second warning previews the actual upcoming filling and portion counts, then visitors enter as space becomes available. Waiting offscreen never drains patience. A short lull follows the rush when the shift is not already complete. Rain and vehicle effects decorate selected events; the event themes do not represent eight different physics systems.

Georgian character: fictional banter about hospitality, extra portions, extended family, balcony news, friendly recipe rivalry and lengthy toasts. A separate five-card notebook covers khinkali, supra, tamada, churchkhela and rtveli. The characters are not assertions about all Georgian people. Native Georgian language and cultural review remains recommended.

Controls

Tap a filling basket; Bebo folds and cooks automatically. Tap a glowing pot and then the customer whose picture matches, or drag directly from pot to guest. A family order finishes only after both plates. Tap the owned warm shelf to store, collect or swap a held dish. Tap a held dish to return it to an empty pot.

Keyboard: 1/2/3 fillings, Q/W pots, A/S/D customer positions, Z/X shelf slots, T tea, Escape pause. World-aligned focus controls support Tab/Enter. Pausing or backgrounding stops timers. No time pressure is added to the first guided order.

Files and storage

neighborhood.js contains authored content, upgrade validation, service rules and idempotent settlement. community.js implements the shop, service planner, friendship journal, notebook and scene additions. model.js is the rendering-independent simulation. game.js connects input, drawing and storage. art.js, the HTML shell and the public player URL remain compatible with the restaurant rebuild.

The local key remains tamashi:khinkali:restaurant:v2, but its payload is now version 3. Existing restaurant stars, unlocked shifts, best score and tutorial state are preserved. On migration, an earlier record is backed up once under tamashi:khinkali:restaurant:v2:before-neighborhood-v3 when browser storage permits. Returning v2 players with play history receive one 40-coin renovation gift. New records also persist wallet, owned upgrades, friendships, gifts, selected service, summary statistics and a bounded receipt history. Winning banks the full shift earnings; losing banks half. Reopening the same result does not pay twice.

All records stay in this browser. No accounts, server-side progress, analytics, ads or payments are added. The original pre-restaurant Khinkali save and other games' records are not modified. Use browser site-data settings to erase restaurant records. The site's privacy-page button still clears only favorites and recent history. Val Town source and the code export remain public.

Verification

  • tests/restaurant-simulations.ts: 185 model checks including all ten shifts across four menus, with and without all upgrades (80 complete configurations). Also tests family portions, shelf conservation, quality, friendship gifts, cash settlement, tutorial safety and save migration.
  • tests/verify-restaurant.ts: 37 checks of actual hosted HTTP responses, six browser assets, byte-for-byte parity with seven locally tested browser files, preserved hub links and unchanged hashes for the other four new game modules.
  • tests/verify.ts: existing 104 shared website regression checks.
  • Downloadable browser harness: 43 Chromium interaction and layout checks, including actual canvas clicks through the first payday, earned-coin purchase, service choice, family delivery, shelf controls, pause and save reload. Later gift/decorated-scene screenshots use test fixtures; they are not evidence of a human playthrough.

The Chromium harness loads the source in memory with emulated localStorage because live browser navigation is blocked in the build environment. Native-module/CSP browser verification, physical Android/iOS, fullscreen/audio behavior and human difficulty/fun-factor testing remain outstanding. Server fetches verify HTTP delivery, not browser execution. Automated wins show that solutions exist, not that all difficulty is balanced.

Cultural reference sources consulted: Georgia Travel's Khinkali, Georgian Supra, Tamada and Churchkhela pages. All artwork and character dialogue are original; the musical motif is synthesized and not a recording of traditional music.