# Pool Multiplayer

Is there any interest in a turn based table-top pool multiplayer game? I’m working on another project right now, but thought it might be a cool addition at some point in the future.

1 Like

Can you explain a little please ?

I’m not sure I understand.

your input would be an angle and thrust to hit the cue ball with.

Oh ok. Now it’s clear.

I’m French and the “pool” word was disturbing me, sorry

Have you already coded a pool engine at some point or do you plan to do it ?
Cause I did one 2 years ago and it was a bit trickier than what you would expect.

In theory the physics is not that complicated, basically if two balls collide you multiply their 4 dx, dy by a big 4x4 matrix and you get their new dx, dy.
Also there’s a friction coefficient for the mat and the walls absord some part of the speed.
But nothing really technical there.

The tricky part is that the speed of the balls can go so fast in pixels/ms that usually the collisions happen “between” frames so you cannot just check for collision at each frame or you end up with balls already overlapping a lot.
So you have to work between frames.

With that in mind, if you want to state rules for a multiplayer game, you’d be compelled to give a lot of information about your engine, define precisely the friction, absorbtion, handling of frames for collisions, and basically I’m afraid that there’ll be so much information given that the players could predict exactly the outcome of any play depending on angle and thrust.

So a good bot would probably be able to play a perfect game every single time.

Yes, most of that I had in mind. I don’t know completely how to do it yet, but the physics would all be calculated without involving the graphics, then somehow display something to the players. If there is a way to display frames without using up ‘turns’ I think that would be the way to do it, otherwise maybe just each turn draw out with colored lines or something what happened in the last turn. Most of the more complex games on here do give values for things like collisions and friction, and most reference the source for any further questions. Due to it being a full physics engine, it would be a lot harder for someone to simulate that within the time limit. If we find that it is possible to predict the outcome of any play, we could introduce some small randomness on the shot angle/thrust so as to make longer and more complex shots a bit more difficult to predict. (thats just one idea for making it a bit harder)

Not sure randomness is the key to make it more interesting.
Maybe add rules to make it more challenging for AI.
For example, player A must pocket balls from 1 to 7 in order, player B must pocket balls from 9 to 15 in order and you must also hit the 8 ball prior to the target ball without pocketing it to make the shot valid.
By setting this kind of rules there will be impossible shots.

If you do something in that direction I recommend snooker instead.

1 Like

I do agree with this