1. A computer-implemented method comprising: receiving a request from a user to play a cue sport that includes a table and a plurality of balls; retrieving user attributes that correspond to the user; detecting, for the plurality of balls, a plurality of ball locations on the table; determining one or more beginning shot opportunities based upon the user attributes and the plurality of ball locations; and providing the one or more beginning shot opportunities to the user.