The need to stay hidden from opponents is a common feature of many games. Defining algorithmic strategies for hiding, however, is difficult, and thus not usually a non-player character activity outside of very simple or scripted behaviours. In this work we explore several algorithmic approaches for ensuring a character can remain hidden with respect to another, moving agent. We compare these strategies with an upper-bound solution based on a known opponent path, giving us a mechanism for evaluating both relative efficacy and for understanding the different factors that affect success. Experimental evaluation considers multiple levels, including ones adapted from commercial games, and also examines the impact of relative movement speed and different observer movements. Our analysis shows that simple cost-effective approaches to hiding are feasible, but success strongly depends on level geometry, with a large gap remaining between heuristic and optimal performance.