Game programming patterns - Nystrom, Robert (Genever Benning, 2014)