Finally I made my own Billard Game. Almost a week tinkering around with vibe coding (Opsus 5.5)

Wait 5 sec.

I wanted a billiards game where spin, throw and the cushions behave like they do on a real table, so I built one. It's called EFFET (the French and German word for spin, what Americans call English) and it runs in the browser. **Play it here:** https://nikomedia.at/games/billard/ Free, no account, nothing to install. **What you can play** * 8-ball and 9-ball under WPA rules, with called shots, push-out and the three-foul rule * Carom under UMB rules: straight rail, one-cushion and three-cushion * Against the computer (beginner, advanced, pro) or two players on one device * Free practice on the pool table and the carom table **How shooting works** You set the tip position on the cue ball, the cue elevation (for massé) and the power. Or you hold the right mouse button and stroke: pull back, push forward, and the speed of your hand becomes the speed of the shot. When the cue ball sits close to a rail or another ball, the cue is raised automatically, the way you would have to at the table. After a shot you can watch it again in slow motion. "Shoot again" puts every ball back where it was, so you can practice the same shot as often as you like, the break included. There are two rooms to play in, a Viennese coffee house and a pool hall loft, both modeled and lit in Blender. **The physics, for those who care** The engine is written in Rust and runs as WebAssembly in a web worker. It's event-based, following Leckie & Greenspan: instead of moving the balls in tiny time steps, it calculates exactly when the next event happens (a collision, or a ball going from sliding to rolling) and jumps straight there. A full shot takes a few milliseconds to compute and gives the same result on every machine. It models squirt, throw with speed-dependent friction between the balls, the cushion hitting the ball above its center (after Han 2005) and rounded pocket jaws. Many constants come from Dr. Dave Alciatore's technical proofs. A separate 2D physics lab draws each ball's path, colored by sliding and rolling, and has test shots for stop, follow, draw, the 30° and 90° rules, throw, squirt, running and reverse English and massé, each with the result you should expect. The computer opponent doesn't cheat. It uses the same physics and rules as you, test-plays its candidate shots and picks by the outcome and the position it leaves. On pro it pots about 9 of 10 shots in 9-ball and plays safeties when nothing is on. **Not done yet** * Desktop only for now: you need a mouse and keyboard, there are no touch controls. * Runs best in a current Chrome or Edge (WebGPU). Other browsers fall back to WebGL 2. * Cloth friction for carom is still a first estimate. In a tight rack all balls touch at once, but the engine resolves collisions one after another, so the break is an approximation for now. **Feedback welcome**, especially from people who play on real tables. Do draw, follow and side spin feel right? Are the cushions too lively or too dead? Anything that feels off helps me. The interface is in English and German.   submitted by   /u/No-Pause7613   to   r/WebGames [link]   [comments]