METAL: Circle collisions

so you loose some speed.
also maybe you should have a max speed you can hit the ball with. If you have 2 screens like I do you can drag the mouse way to far away and it wizzes around until at least 1 ball go's in the hole.

You're right, my example works only for square objects.
When the objects are round, the angle has to be considered.
What I can think of, without knowing the correct physics, is:

Draw a line between the two centers of the balls. This is the angle which has to be added to the angle of the movement of both balls I think.

In order to calculate this, you have to get away from the simple x-speed and y-speed rule and use a total speed- and an angle-parameter. Then you can switch the angles and speeds when the balls collide, detect the hit-angle (from the centers of the balls) and add that to both angles. That should work fine.

But, other idea: I think there are a lot of standard-pool-games outside. Why not do one with square-balls? "Squool"? Maybe I'll adapt Flowmotion to that, should be very easy indeed.