Computational Game Dynamics: Principles & Practice