代码之家  ›  专栏  ›  技术社区  ›  Iain

游戏框架架构-查看组件还是MVC?

  •  8
  • Iain  · 技术社区  · 15 年前

    我正在尝试为我的游戏构建一个非常轻的可重用框架,而不是每次开始游戏时都从头开始。我有一个组件驱动的架构——例如,实体组成一个位置组件、一个健康组件和一个人工智能组件等。

    我的大问题是 模型组成视图组件 允许模型的多个视图,或者在模型不知道其视图的情况下是否使用Truer MVC,并且这些视图是外部管理的。

    我试过这两种方法,但如果有人知道每种方法的优缺点,哪种方法是行业标准,那么了解这两种方法就太好了。

    4 回复  |  直到 13 年前
        1
  •  6
  •   Robert Gould    15 年前

    取决于你的观众,游戏开发人员,包括我自己都不太习惯MVC模式,虽然大多数人都知道,但由于开发人员伤亡(没有任何严重的技术原因),保持它的整洁并不容易。因此,从经验来看,我已经看到许多游戏框架以MVC开始,但只有一对能够将其保持到最后。我的理论是MVC为小的一次性游戏(通常有几个开发者)增加了太多的复杂性和很少的好处,而且对于大的/复杂的游戏,很难保持真正干净地将大多数游戏对象分隔到这些层中。而且,由于游戏有发布日期,它们多次牺牲了代码的清晰性和可重用性来实现性能和快速的临时解决方案(如果有必要,在续集(如果有)中会被重写)。

    然而,有了上面的警告,最好瞄准高目标,因为如果你成功了,那就更好了:)如果你失败了,那就好到坏。所以你可能应该尝试MVC,但是不要担心如果失败了,专业游戏开发人员都失败了很多次:)

        2
  •  2
  •   zoul    15 年前

    我当然会投票让这个模型对它的观点一无所知。松耦合很好:模型代码更简单,测试更容易,选择更多。

        3
  •  1
  •   Stephan    14 年前

    我知道这个问题可能过时了,但我需要答复。 事实上,我开始在Lua(用l_-ve)编写一个游戏,并开始为它编写一个MVC框架。 首先,使用MVC实际上取决于您想要什么。 我知道我在游戏编程方面的问题,当程序变得更大时,大多数结构变得过于复杂,无法维护。 接下来,我知道当我找到一个愿意为它工作的艺术家时,我会改变所有的图形。但在那之前,我要用我自己的虚拟图形。 我希望艺术家能自由地做他想做的事情,而不依赖于任何分辨率或颜色限制。 这意味着,我可能要改变整个(!)演示代码。甚至可能是物体相互作用的方式(碰撞检测,F.E.)。 游戏逻辑在模型中被捕获,所以我可以集中精力。我认为游戏逻辑是制作游戏最重要的部分。不是吗? 希望你明白我的意思。

    但是,如果你把所有的东西都放在一起:所有的图形,声音,所有的东西;然后你可以直接编码。

    我的MVC是一个超越约定的配置,它会稍微减慢原型设计的速度。 但是,(!)开发的迭代可以更容易地进行。测试,尤其是单元测试的执行速度更快。 我想说,MVC把你的发展速度曲线(通常是反指数曲线)变成了指数曲线。开始时慢,但结束时快。

        4
  •  1
  •   Ramon Chan    13 年前

    MVC在游戏中运行得非常好,至少在我的游戏中是为跨平台设计的。 它实际上取决于您如何实现它以获得好处。