Pool
Saved games stay in this browser only.
About the game
A pool table with a rack of fifteen balls and a white cue ball on a green cloth. You play alone with one goal: sink every ball in as few shots as possible. There are no turns and no opponent, so each shot is about planning the next.
You aim with the mouse, and how far you pull from the cue ball sets the power. A scratch (sinking the white ball) costs a stroke and puts it back on the table. The balls are driven by a physics engine, with friction that makes the balls spin and proper collisions, so combination shots and bank shots work.
The table is drawn in code with synthesised sounds. Your best shot count is saved in the browser.
Playing it here
Click Play and the game opens on its title screen. Press Play there to start. The sound can be turned off with the speaker icon in the corner, and the game also has a fullscreen button.
Controls
Mouse to aim; the distance from the cue ball sets the power; click to shoot. Touch: drag behind the cue ball and release.
A few things worth knowing
Break gently. A softer opening shot leaves the rack easier to read.
Use the cushions. Bank shots reach balls that are hidden behind others.
FAQ
Is there an opponent? No, it is a solo game against your own shot count.
Credits and licence
Pool is one of the games in LittleJS Arcade by Frank Force, and it runs on his LittleJS engine. Both are released under the MIT licence; the licence text is linked from this page. The collection's repository includes notes for AI coding assistants, so the code was written at least in part with AI help. The graphics are drawn by the code and the sounds are synthesised, so the game loads no image or audio files. The source code is on GitHub.