Billiards But With Food · 2026
Food Fight Pool
Pool, but the balls are food, the cue is a baguette, and your opponent is the house chef.

Food Fight Pool
Pool, but the balls are food, the cue is a baguette, and the table is tonight’s dinner. Take on the house chef or a friend, right in your browser.
Built with: three.js · WebGL · vanilla JavaScript · custom billiards physics · Web Audio API.
Overview
Food Fight Pool is a 3D billiards game dressed up as a restaurant. You break a rack of glossy food with a baguette cue on green cloth, sink your course, then close out on the Golden Meatball. Play the house special against a chef AI, pass the baguette for local two-player, drop into a quick five-food snack, or flip on Food Fight party mode where power-ups appear under silver domes and the table stops playing fair. Nothing to download and nothing to install: it opens in any browser and 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 full rack racks up, scatters, and sinks the way pool should, just with meatballs.
- A chef AI that 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, so a solo match still feels like a real opponent across the table.
- Five ways to play. Classic Entrée Eight against the chef or a friend, a fast first-to-five Quick Snack, and a 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, a warm original soundtrack sets the service, and every match prints out as a receipt with the final tally.
- Runs anywhere. Real-time 3D in the browser, no app and no download, playable with a mouse on desktop or a thumb on a phone.
Tech and Architecture
The table, food, and lighting are built in three.js, wired together in vanilla JavaScript ES modules with no framework and no build step. A custom billiards physics layer drives the break, ball-to-ball collisions, spin, cushions, and pocket detection, while the chef AI reads the table and aims with a ghost-ball model. The whole audio bed, an original restaurant-themed music set plus the pocket, foul, and power-up sounds, runs through the Web Audio API, and the entire menu, HUD, and receipt interface is HTML and CSS layered over the canvas.
Process
Directed and built end to end as a self-contained game: the food-billiards design and its five modes, the 3D table and food art direction, the physics and chef AI, the Web Audio soundtrack and effects, and the restaurant-menu interface that turns a game of pool into dinner service.
Gallery
Gallery coming soon
More visuals from this project are on the way.