The funny thing about the ball trajectories, originally I was going to do some ray tracing to figure out the best shot to take. But it was fairly inaccurate after just 1 or 2 bounces, so eventually I said screw it and decided to just simulate a bunch of shot instead. The only reason I showed the simulated balls was because it would be awkward if the game appeared to freeze for 20-30 seconds before each shot. It was just a happy accident that it also looked cooled!