Oh, actually I'm also interested in how you made the levels. Because of the computational difficulty of solving similar things (eg the three-body problem is hard) and you've got several variables to work with, did you just experiment with each level and place the holes retroactively based on an interesting shot you found?
Or did you have to do a bucketload of math to work out where to place things?
Or did you have to do a bucketload of math to work out where to place things?