I tried working with MVC when learning to write games a few times (I found it to be very useful in business apps), but in my experience it becomes a mess if you try to make a game that is not completely trivial. It’s a nice idea, and it’s well worth it to try and keep things decoupled, as long as it helps you in Getting Things Done. Once it gets in the way, just throw it overboard. Somehow games are not so well suited for an MVC approach, with their extreme emphasis on linear real-time operation, fancy graphics, and a very close integration between view and model (unlike business apps in which model and view usually are completely different worlds). MVC is just not so useful in games IMHO.
That said, this explanation of MVC just does not make things any more clear. Any beginner just would get confused by reading this, and people who can make sense out of it already know and understand MVC, and hence do not need this. Most importantly, it does not give a reason why anyone would do this: “Your Model classes are completely portable, decoupled from a graphics library” is what MVC is; it is not the reason for using MVC.
To conclude, some advice which I think would make this a more useful tutorial:
- Give a reason why anyone would bother with MVC
- Provide a lot more explanation: a tutorial on MVC for people who already understand MVC?
- Discuss when NOT to use MVC, or when to stop strictly following this pattern