Computer games, one of the most popular forms of entertainment in the world, are increasingly online multiplayer, connecting geographically dispersed players in the same virtual world over a network. Network latency between players and the server can decrease responsiveness and increase inconsistency across players, degrading player performance and quality of experience. Latency compensation techniques are software-based solutions that seek to ameliorate the negative effects of network latency by manipulating player input and/or game states in response to network delays. We search, find, and survey over 80 papers on latency compensation, organizing their latency compensation techniques into a novel taxonomy. Our hierarchical taxonomy has eleven base technique types organized into four main groups. Illustrative examples of each technique are provided as well as demonstrated use of the techniques in commercial games.