Answers:
棋盘游戏是可以使用MVC制作的游戏的一个很好的例子,因为游戏逻辑(模型)确实与视觉效果(视图)完全无关。但是,如果考虑使用《战争机器》这样的动作游戏,则3D模型的几何结构是游戏逻辑所固有的,因此,将视图视作可互换的分离就显得毫无意义。Unity3D是组织代码的特定于游戏的更好方式的一个很好的例子。您有一个基础实体类,可以使用组件添加功能,其中一个组件可以处理绘制实体,一个可以处理游戏逻辑等。请查看以下有关该主题的著名博客文章:
http://cowboyprogramming.com/2007/01/05/evolve-your-heirachy/
我对此:
这样,您可以插入伪造的控制器,该控制器读取包含预先记录的输入事件的文件。
还可以做一个简单的视图,仅将内容记录在文件中。
对于测试和调试非常有用。
记住要使模型以恒定的速率(固定的时间步长)进行更新,并且视图和控制器要尽可能快地进行更新(但变量不要太大)。
这种划分是引擎和游戏代码之间的划分,并且非常普遍。沿途有足够的抽象空间。
您的引擎和游戏的特定图形数据可能是视图,游戏代码是模型,而控制器则是您用来告诉引擎将哪种纹理应用于游戏代码中哪个实体的粘合剂。