There is more focused on the game http://www.koonsolo.com/news/model-view-controller-for-games/
The main idea is to separate the model, render the model according to the presentation and manage the model (user and / or other objects). For example, it means that your model code is a representation of the world within the country, does not know specifically how it will be displayed in the view. Consequently, the entire graphics engine can be changed without touching the code of the base model. A controller is a part of your code that deals with user input, and then calls in the model to do something. The controller code is also quite carefully separated from the model code and can be replaced with various control devices without changing the model.
As a rule, everyone tries to minimize function calls by the model on something else. The controller typically uses model function calls to modify it, and the view uses different model calls to access what is needed to create a (user-visible) model view.
This becomes more and more attractive when you start trying to make a formal separation between domain objects and the object management code in the model, and it can be difficult to place certain code in the model, in business logic (in applications that formalize it) or in the controller code. However, for small games this is not so important.
The short answer to the question is that, in general, the model will not request controllers or view generation code.
source share