游戏引擎架构是最先进的

Giu*_*ore 6 language-agnostic

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

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

谢谢

li.*_*idm 5

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

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

基于组件:每个游戏对象/实体是"组件"的组合,提供可重复使用的特定功能,例如动画/移动,对物理反应,由玩家激活等."基于组件的游戏引擎设计",另一个所以问题,详细描述并提供论文等的链接,这应该有所帮助.

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