Algorithms and Networking for Computer Games
programming in general (Gamma et al. 1995). The basic idea is that the representation
of the underlying application domain (Model) should be separated from the way it is pre-
sented to the user (View) and from the way the user interacts with it (Controller). Figure 1.2
illustrates the MVC components and the data flow in a computer game.
information (e.g. physical laws) form the core structures. It remains unchanged while the
state instance is created and configured for each game process. The core structures need
not cover all the rules, because they can be instantiated. For example, the core structures
can define the basic mechanism and properties of playing cards (e.g. suits and values) and
the instance data can provide the additional structures required for a game of poker (e.g.
ranking of the hands, staking, and resolving ties).