LinuxDoors AppImage Store
LinuxDoors Games
Games from LinuxDoors, each a single self-contained AppImage — the whole game and the runtime it needs in one file that you download, mark executable and run. Nothing to install, nothing left behind, and it runs the same on Debian, Ubuntu and other Linux distributions that can launch an AppImage. Back to the full AppImage Store.
One game — free, one file, download and play.
Pool Table$0.00
The source stays open — free to read, build on and share. A price, where there is one, is not for the code as that is opensource. It is for the work around it: the servers and bandwidth that carry the download to you, and the hours a programmer spent designing, building, testing and looking after the app — hours that support them and the people they love, the same as any other profession in the workplace economy.
A share of what the paid apps earn goes back to the Linux and free-software projects they are built on. That community gave its work away so all of this should exist; paying the people who keep it alive is how it stays alive.
Anything marked $0.00 is exactly that — free, no asterisk.
Seven games of pool on a programmed-drawn table.
by LinuxDoors · created September 8, 2026
A LinuxDoors AppImage Software Product
This is an early version
Version 0.1, and the first game LinuxDoors has. It is a whole game and it plays properly, but it is early: there will be things in it that are wrong, and rough edges that only turn up once somebody other than its author is holding the cue. That is what the bug address is for -- opensource3@yahoo.com. If a shot does something a shot should not do, if a rule goes the wrong way, if it looks wrong or gets stuck or will not start, please write and say what you did and what happened. Every report is read, and the physics in it has already been rebuilt more than once on the strength of somebody saying "that is not how a ball behaves."
The seven games
Eight ball -- solids and stripes, then the black. Nine ball -- lowest ball first, and the nine wins it. Ten ball -- the called-shot version, on the tournament table. Straight pool -- every ball is a point. Cutthroat -- three players, and you pot other people's. Snooker -- reds and colours, on a twelve foot table. Practice -- a table, a rack and nobody keeping score. Each racks itself correctly and knows its own rules: which ball is on, what counts as a foul, when a scratch gives ball in hand, and who has won.
The table, from four sides
Straight down is the view you can actually aim in, and where the game opens. Raked tips it back to three quarters, for when you would rather look at the table than play on it. Free lets you walk around it -- drag with the right button to swing the eye about, the wheel to come closer. Down on the shot (press E) puts you behind the white and along the line of the aim, the way it looks when you are actually standing at a table: the eye about a foot and a half above the cloth, a stride back from the ball, stick coming toward you, and aiming turns the whole view with you. Once you strike, it holds absolutely still -- moving the view while the balls are moving makes it impossible to see what happened, so it does not. All four are painted by the same code from the same scene, so the balls sit where the physics says they are whichever one you are looking through.
How the balls behave
The part that has had the most work. Where you strike the cue ball decides what the white does: drag the spot on the little ball in the Strike panel -- hit it high and the white follows through, hit it low and it comes back (around two feet from normal potting range, less from further away, which is how a draw shot actually grades), hit it to a side for English, which bends the path an inch or three over a full table rather than the banana a first attempt produced. There is a button to put the tip back in the middle, because side left on by accident quietly bends every shot after it. The cloth is fast: rolling friction and sliding friction are separate, so a skidding ball scrubs off speed quickly while a rolling one barely fights anything, and the balls settle rather than stop -- the cloth lets go as a ball slows, so it eases out of its roll and creeps the last of it. Energy is accounted for: no collision hands out more than the balls brought into it, checked across thirty of them at every pace and strike, and the most any one made was 98%.
Playing against the computer
Three strengths, and they are honestly different: on a table with one ball to pot, the computer makes roughly one in ten, three in ten, or five and a half in ten. It looks for the shot it can see, works out the pace from how far the ball has to travel, and misses by an amount that depends on how good it is meant to be.
The controls
Point to aim. Hold the button and pull back to draw the power; let go to hit, and pull further for a harder shot. Left and right arrows turn the cue a little; Shift and arrows turn it a very little; Shift while aiming is fine aim when you are down on the shot. Space hits it. E gets you down on the shot or stands you back up. 0 shows the whole table; Ctrl+= and Ctrl+- come closer and back. Right-button drag looks around in the free view; the wheel comes closer, or walks you up and down the line when you are down on the shot. Ctrl+N racks them again. Down on the shot the mouse turns the aim at a steady rate rather than pointing at a spot on the cloth -- from behind the ball the cloth is no guide at all, and pointing at it made the stick unusably twitchy.
On the command line
Pool_Table.AppImage opens on the eight ball table; add a game name to start on a different one -- nine, ten, straight, cutthroat, snooker or practice. Pool_Table.AppImage --version and --help do what they say. Settings live in ~/.config/pool_table/pool_table.save and are written when the game closes; deleting that file puts everything back as it started.
Running it -- nothing to install
Download the AppImage, make it executable, run it -- optionally with a game name to open a different table. On LinuxDoors, which has no FUSE, run it the way LinuxDoors runs any AppImage: ./Pool_Table.AppImage --appimage-extract-and-run, or through linuxdoors-run-appimage, which does that for you and unpacks it once rather than on every launch.
Written for LinuxDoors, though nothing in it is specific to LinuxDoors -- it runs on Debian- and Ubuntu-type systems, and on any other Linux distribution that can run an AppImage.