当前位置:  开发笔记 > 后端 > 正文

MVC设计模式是否用于商业计算机游戏

如何解决《MVC设计模式是否用于商业计算机游戏》经验,为你挑选了3个好方法。

MVC设计模式是否用于商业电脑游戏?

特别是在高性能游戏方面,我很好奇游戏行业是否有MVC的商业用户?



1> munificent..:

它很少用于游戏中.我花了一段时间才弄明白为什么,但这是我的想法:

MVC的存在是为了区分两种表示.模型是数据的抽象表示.这是机器查看应用程序状态的方式.视图(和控制器)以对人类有意义的方式表示该系统的更具体的可见实例.

在大多数商业应用中,这两个世界是完全不同的.例如,电子表格的模型只是一个2D网格值.它不必考虑单元格的像素宽度,滚动条的位置等等.同时,电子表格视图不知道如何计算或存储单元格值.

在游戏中,这两个世界彼此更加接近.游戏世界(模型)通常是位于某个虚拟空间中的一组实体.游戏视图也是位于某个虚拟空间中的一组实体.边界体积,动画,位置等,你认为是"视图"一部分的所有东西也直接被"模型"使用:动画可以影响物理和人工智能等.

最终的结果是游戏中模型和视图之间的界限是任意的,没有帮助:你最终会在它们之间复制很多状态.

相反,游戏倾向于沿着域边界分离事物:AI,物理,音频,渲染等将尽可能保持独立.


好答案.我想补充一点,当创建视图不是时间关键的并且每隔几秒就完成时,将视图与模型分开是容易和明智的.当您开始需要每秒更新60次并且延迟不超过10-20ms的视图时,您必须开始将其与模型数据一起安排,至少出于效率原因.
这也是一个好点.硬性能要求通常会导致体系结构的解耦性降低.

2> Andrew McGre..:

这在很大程度上取决于游戏.

例如,第一人称射击游戏,可能不是.

一个飞行模拟器,很有可能是MVC(X-Plane和FlightGear实际上都使用MVC,你可以从他们的插件API中得知).SimCity,你当然可以这样做并且有意义(不知道他们是否确实这样做了).也许是实时战略.宝石迷阵,谁知道.



3> Vivin Paliat..:

我不知道任何使用它的商业游戏; 可能有一些.但是,我能够找到一篇论文(PDF),其中提到了计算机游戏中使用的MVC模式.这可能会给你一些洞察力.

推荐阅读
手机用户2402851155
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有