基于组件的游戏引擎设计

我一直在研究游戏引擎设计(特别关注2D游戏引擎,但也适用于3D游戏),并且对如何去实现它的某些信息感兴趣。 我听说现在很多引擎正在转向基于组件的设计,而不是传统的深层对象层次结构。

你知道有关这些设计通常如何实现的信息有很好的联系吗? 我已经看到了你的层次结构的发展,但是我无法找到更多的详细信息(其中大部分似乎只是说“使用组件而不是层次结构”,但我发现需要一点努力才能改变我的想法在两个模型之间)。

任何良好的链接或信息将不胜感激,甚至书籍,虽然这里的链接和详细的答案将是首选。


更新2013-01-07 :如果您希望看到基于组件的游戏引擎与反应式编程的高级方法(在我看来)之间的良好组合,请查看V-Play引擎。 它很好地集成了QT的QML属性绑定功能。

我们在我们大学的游戏中对CBSE进行了一些研究,并且多年来收集了一些材料:

游戏文学中的CBSE:

  • 游戏引擎架构
  • 游戏编程宝石4:Managin游戏实体游戏系统
  • 游戏编程宝石5:基于组件的对象管理
  • 游戏编程宝石5:通用组件库
  • 游戏编程宝石6:游戏对象组件系统
  • 面向对象的游戏开发
  • Java(德语)游戏引擎和实施工具的架构
  • C#中基于组件的游戏引擎的一个非常好和干净的例子是Elephant游戏框架。

    如果你真的想知道哪些组件是读取的:基于组件的软件工程! 他们将组件定义为:

    软件组件是符合组件模型的软件组件,并且可以根据组合标准独立地部署和组合,而无需修改。

    组件模型定义了特定的交互和组合标准。 组件模型实现是支持符合模型的组件执行所需的专用可执行软件组件集合。

    软件组件基础结构是一组交互式软件组件,其设计用于确保使用这些组件和接口构建的软件系统或子系统将满足明确定义的性能规范。

    CBSE的两年游戏经验中我的观点认为,面向对象编程只是一个死路一条。 记住我的警告,因为你看着你的组件变得越来越小,更像是组件中包含的功能,而且有很多无用的开销。 改用功能性反应式编程。 另外看看我的新博客文章(在写这篇文章的时候引导我回到这个问题:))关于为什么我从基于组件的游戏引擎架构切换到FRP

    游戏论文中的CBSE:

  • 基于组件的游戏开发 - 提高成本并扩大期限的解决方案?
  • 电脑游戏的灵活可扩展架构(404)
  • 游戏的软件体系结构
  • 游戏开发的通用框架(WebArchive)
  • 使用依赖注入的游戏对象的智能组合
  • 游戏网页链接中的CBSE(按相关性排序):

  • 基于组件的对象Wiki(空维基)
  • 发展你的阶层
  • 游戏对象结构:继承与聚合
  • 数据驱动的游戏对象系统(PDF)
  • 数据驱动的游戏对象系统(PPT)
  • 基于组件的flash原型制作工具
  • 游戏对象组件体系结构的理论与实践(404)
  • 实体系统是MMO的未来
  • ogre3d.org论坛:基于组件的对象
  • gamedev.net:舷外基于组件的实体系统体系结构
  • gamedev.net:实体系统问题
  • Brainfold实体系统博客(WebArchive)

  • 似乎缺乏关于这个问题的信息。 我最近实施了这个系统,并且我发现了一个非常好的GDC Powerpoint,它解释了经常落后的细节。 该文档在这里:游戏对象组件体系结构的理论和实践

    除了Powerpoint之外,还有一些很好的资源和各种博客。 PurplePwny有一个很好的讨论,并链接到一些其他资源。 丑陋的婴儿工作室围绕组件如何相互交互的想法进行了一些讨论。 祝你好运!


    虽然不是关于游戏引擎设计主题的完整教程,但我发现这个页面有一些关于游戏组件体系结构使用的详细信息和示例。

    链接地址: http://www.djcxy.com/p/47703.html

    上一篇: Component based game engine design

    下一篇: What is functional programming?