Challenge the house chef, baguette in hand
Food Fight Pool
Pool, but the balls are food, the cue is a baguette, and your opponent is the house chef.
Overview
A 3D billiards game dressed as a restaurant. Break a rack of glossy food with a baguette on green cloth, sink your course, then close out on the Golden Meatball. Play the house chef, pass the baguette for local two-player, grab a quick five-food snack, or flip on Food Fight mode where the table stops playing fair. Opens in any browser, plays with a mouse or a thumb.
Highlights
- Food billiards that feel real. A custom physics table handles the break, collisions, spin and pocket drops, so a rack scatters and sinks the way pool should. Just with meatballs.
- A chef who plays the table. The house chef reads the layout, lines up a ghost-ball shot and sets its pace by difficulty, from Line Cook to Michelin.
- Five ways to play. Entrée Eight against the chef or a friend, a first-to-five Quick Snack, and Food Fight party mode with dome power-ups, sauce spills, a spinning lazy Susan and bowls that wander.
- A restaurant that reacts. Order tickets track each player’s course, a fumbled shot slams down a Table Manners Violation stamp, and every match prints a receipt with the final tally.
How It’s Built
Table, food and lighting in three.js, wired together in vanilla JavaScript with no framework and no build step. A custom billiards layer drives the break, collisions, spin, cushions and pocket detection. The chef aims with a ghost-ball model. The soundtrack and effects run through the Web Audio API, and the menu, HUD and receipt are HTML and CSS over the canvas.
Process
Directed and built end to end: the five modes, the table and food art direction, the physics and chef AI, the soundtrack and effects, and the restaurant-menu interface that turns a game of pool into dinner service.