UğurcanEser
WorkBarbar Smash

Barbar Smash

A 3D restaurant rush game in the browser for a smash burger restaurant

Overview

Barbar Smash is a Diner Dash style 3D restaurant game made for Barbar Street Food, a smash burger restaurant in Mimaroba, Istanbul. The restaurant’s hall is reimagined as a Viking longhouse, and its mascot, the helmeted and bearded Barbar from the logo, runs it alone: he seats hungry barbarian groups, takes their orders from the real menu, carries burgers on his round shield and collects the bill.

The game is made to be played at the table while the food is being cooked: a day takes about one and a half to three minutes, and the first one starts without a title screen. It plays on phones held upright or sideways, on tablets and on desktops with a mouse and keyboard, and can be installed as a web app that also works offline. It is in Turkish.

A busy hall on Day 9 with orders over every table The home screen with the hero and the day to play The first day, with a hint to seat the guests at the door The last day at night, under the northern lights

Gameplay

  • One verb, tap: tap the guests at the door and then a free table to seat them; tap tables to take orders, serve trays and collect the bill. Taps are queued, so you can plan a route ahead.
  • The real menu: guests order the restaurant’s own burgers, chicken, sides and drinks, and later days add extras such as cheddar and sauce requests.
  • Chains and SMASH: doing the same job several times in a row builds a chain bonus. When the hall boils over, Barbar slams his shield on the floor: everything on the grill finishes, every guest gains patience and the clock stops for a moment.
  • Thrown drinks: from Day 5, cans are picked up at the counter and thrown across the hall to the table.
  • Six kinds of guests: villagers, hungry wolves, shield maidens, families with children, a bard and a king with his guards, each with its own silhouette, colour and habits.
  • Ten days: up to three stars per day, gold for upgrades in the Barbar Market, a Flavor Book of the dishes served and cosmetics for the hero. Nobody gets stuck: one star opens the next day.

How it was made

  • 3D in the browser: a Three.js scene with an orthographic camera, instanced characters and a quality setting with low, medium and high tiers that also adapts to the device.
  • Models as code: the characters, food and hall are Blender Python scripts in the repository, built headless and packed with gltfpack. The models are gzipped at build time and unpacked in the browser.
  • Sound without audio files: music, effects and the barbarians’ grunts are synthesized with the Web Audio API, and every sound has a visual twin, so the game is fully playable muted.
  • Deterministic simulation: the game logic is integer only and seeded, and all random content of a day is generated when it loads. The same commands give the same gold in every browser, a half-finished day resumes from its command log within 30 minutes, and bot players set each day’s star targets.
  • Installable web app: it starts in seconds on a phone, works offline, and a new version waits until it cannot interrupt a round.

Technologies

  • TypeScript, Vite, Three.js, postprocessing, WebGL 2, Web Audio API
  • Blender (Python scripts), gltfpack
  • Installable web app (PWA), served from the restaurant’s website and Cloudflare Workers

Quality

  • About 1,840 Vitest unit tests and 300 Playwright tests that play whole days in a real browser, including a gallery of every model, effect and screen
  • Budgets for download size, start-up time and frame time, checked before every release

More work

All work