A realistic CG billiards simulation can be accomplished when based on a physical foundation which provides data for a 3D simulation. Artificial opponents are always a welcome addition when it is a challenging opponent. This paper reports on our approach to develop such a simulation. To achieve the required accuracy when computing the shots and ball motion we used as a starting development point the FastFiz library. FastFiz is a physically accurate library designed for billiard simulation, however, it does not fully serve the purposes of a real-time CG simulation and several enhancements were required for it to serve our purpose. A novel approach for an artificial player, based on simulated annealing, is also presented and we compare it to t...