游戏引擎架构是最先进的

时间:2011-07-12 16:28:08

标签: language-agnostic

我一直在阅读很多关于游戏引擎架构的内容,并且想知道以下内容:当前被认为是游戏引擎最佳架构的是什么?

如果我们能找到一些学术资源(如论文或类似资料)而非孤立开发者的轶事经验,我将非常感激。

由于

1 个答案:

答案 0 :(得分:5)

“最好”是非常主观的。不是专业的游戏开发者,我不能完全回答你的问题,但我听说过基于组件的游戏引擎和(功能)反应引擎。还有使用实体层次结构的选项,例如,"Evolve Your Hierarchy"中所描述的,但是从我所看到的情况来看,它被放弃了,而不是基于组件的引擎。

分层:使用继承来提供功能(“Evolve Your Hierarchy”显示了Car子类化Vehicle的示例,其子类Moveable具有子类Entity)。如上所述,问题在于决定应该放置哪些功能:如果在继承树中放得更高,它会为具有可能无法使用的功能的子类负担;把它放得太低,你最终会复制/重构代码,以便将功能带到需要的地方。

基于组件:每个游戏对象/实体是“组件”的组合,提供可重复使用的特定功能,例如动画/移动,对物理作出反应,由玩家激活等等。"Component based game engine design",另一个SO问题,详细描述并提供了论文等的链接,这应该有所帮助。

(功能)反应:通常在诸如Haskell之类的功能语言的上下文中进行研究。据我所知,中心概念是一流的时变值,行为是根据这些值和其他构建块来描述的,例如表示离散事件的事件。 "What is functional reactive programming"提供了比我更好的描述。我相信.NET的WPF数据绑定是概念的一个例子。据我所知,这仍在进行实验/研究,但Wikipedia article for reactive programming(不是FRP,请注意)链接到为Lisp,Python,Java和其他语言编写的库。