Tue 28 Jul 2009 10:36:29 AM UTC, comment #1:
This is probably a result of the fact that the balls that are caught in the ball return slot jiggle and never come to rest although I can't understand why this would happen in your case only. Unless of course it's due to the ODE version you're using or the way it was configured. Can you post which libode package you're using?
If that is the problem you could try the following to see if that fixes it: find where your package installs the file 'game.lua'. This should probably have ended up in:
/usr/lib/billiards/scripts/game.lua
In this file there should be a line looking like this:
lethargy = {0.01, 0.1, 2, 0},
This defines thresholds of ball speed and spin. When they are crossed the ball is assumed to have come to rest and therefore isn't simulated any longer and it "freezes". As it is now it means: "If the ball has a speed of less than 0.01 m/s and spin less than 0.1 rad/sec for more than 2 timesteps or 0 seconds then freeze it." You'll probably want to try raising the thresholds, the first two numbers, because for some reason they're too low in your case and some balls never drop below them. As you may have guessed, if you set them too high the balls will freeze prematurely when struck instead of rolling to a stop naturally. Anyway try to raise the values as much as possible, so that the game is still playable and see if this gets rid of the problem. If everything is all right then, I'll come up with a better way to fix the problem and release a new version.
Apart from that does the rest of the game (that is, when most/all balls are in play) run smoothly? Do the balls, stick or camera exhibit any weird behavior?
|