The complexity of AI characters in computer games is continually improving; however they still fall short of human players. In this paper we describe an AI bot for the game Quake II that tries to incorporate some of those missing capabilities. This bot is distinguished by its ability to build its own map as it explores a level, use a wide variety of tactics based on its internal map, and in some cases, anticipate its opponent’s actions. The bot was developed in the Soar architecture and uses dynamical hierarchical task decomposition to organize it knowledge and actions. It also uses internal prediction based on its own tactics to anticipate its opponent’s actions. This paper describes the implementation, its strengths and weaknesses, and discusses future research.