Snooker147&Poolster Performance
Both Snooker147 and Poolster use the acclaimed JHC SoftWare "Poolster Billiard Engine" Version 1.0 which essentially encapsulates the physics of the motion of a billiard ball. Because the physics is accurately represented, the actual motions of the balls are very close to those found in real-life.
Realism was always the main aim for both Snooker147 and Poolster, and the billiard engine lets us approach this ideal. Even although both these games (perhaps more accurately, simulations) are 2D, the realism of the ball behaviour has been highly praised by many customers. This realism is brought about by 2 main things: collisions and ball spin.
Ball Spin
The property which distinguishes the motion of a billiard-ball from, say, a puck on ice, is spin. At any instant, the ball has some spin and some velocity, and because of friction with the table cloth, these interact and energy is exchanged between them.
For example, if a stationary ball is struck in its centre with a cue, the ball will initially move with a given velocity and it will have zero spin. However, as the ball travels forwards, friction between the ball and the table cloth will cause the ball to roll, rather than slide (as would happen to a puck on ice). By definition, if the ball is rolling it is spinning, therefore the ball gains spin as it travels. Eventually, the amount of spin will equal the speed of ball travel; this is what we mean when we say the ball is rolling i.e., it has no excess spin.
However, if our moving ball collides with another ball head-on, it will stop, but the spin will remain; although now the spin will be excess spin because it is larger than the ball's velocity (which is now zero). This spin, through interaction with the table cloth, will cause the ball to begin to accelerate in a forward direction.
For example, a drag-shot:
As an example, the plots below show the displacement (position) and spin of a cue-ball as a function of time. The ball is initially struck with lots of back-spin (negative on the plot) and a forward (positive) velocity; shown as point A on the plots.
![]() |
As the ball moves (its displacement increases), the velocity and spin interact: the spin becomes more positive, and the velocity becomes more negative. At point B, the spin actually becomes positive (i.e., the ball has lost all of its backspin and it is beginning to roll forward). Eventually, at around point C, the ball has lost all of its spin and velocity (due to frictional losses) and the ball becomes stationary.
![]() |
Note how important the interaction between the spin and velocity is. The negative spin causes the velocity to be reduced much faster than would have happened if only friction was involved. This has the result that the ball can initially move faster, but travel less. This is the classic drag-shot, which is often used in snooker for long shots which require a slow-moving collision. If the ball was just struck gently, there would be much less control, and any interaction with the nap of the cloth, or roll on the table, would affect the aim.
Additionally, if the ball described collided head-on with another ball before point B, then the shot would be a screw-back, where the cue-ball would return along its direction of travel after the collision because of the extra backspin.
This exchange between spin and velocity is what makes the motion of balls in Snooker147 & Poolster so realistic and it means that:
-
after a collision with another ball, the cue ball will generally move in an arc, rather than in a straight line;
-
applying top spin will cause follow-through after a collision;
-
applying bottom spin can cause a screw-back(or english), a drag-shot or a stun-shot.
The behaviour of these shots is exactly the same as in the real game. Understanding these phenomena in Snooker147 or Poolster, can actually improve your real game.
Copyright © 2009 JHC Software Limited. All rights reserved.
JHC Software Limited Registered in England, No. 5414801. VAT No. 860
0909 34