基于组件的游戏引擎设计 [英] Component based game engine design

查看:292
本文介绍了基于组件的游戏引擎设计的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我一直在寻找的游戏引擎设计(专门针对2D游戏引擎,但也适用于3D游戏),并有兴趣在如何去一些关于它的信息。我听说许多发动机正在向一个基于组件的设计时下,而不是传统的深对象层次。

I have been looking at game engine design (specifically focused on 2d game engines, but also applicable to 3d games), and am interested in some information on how to go about it. I have heard that many engines are moving to a component based design nowadays rather than the traditional deep-object hierarchy.

你知道的关于如何这些各种各样的设计往往是实现信息的良好的联系?我所看到的发展层次结构,但我真的不能找到更多详细的信息(大部分人似乎只是说使用的组件,而不是一个层次,但我发现,它需要多一点的努力来切换两种模式之间我的想法)。

Do you know of any good links with information on how these sorts of designs are often implemented? I have seen evolve your hierarchy, but I can't really find many more with detailed information (most of them just seem to say "use components rather than a hierarchy" but I have found that it takes a bit of effort to switch my thinking between the two models).

在这个任何好的链接或信息将AP preciated,甚至书籍,虽然链接和详细解答这里将是preferred。

Any good links or information on this would be appreciated, and even books, although links and detailed answers here would be preferred.

推荐答案

更新2013年1月7日如果你想看到基于组件的游戏引擎与好混(在我看来)高级无编程的方法来看看在 V-播放引擎。它很好地集成了QTS QML属性绑定功能。

Update 2013-01-07: If you want to see a good mix of component-based game engine with the (in my opinion) superior approach of reactive programming take a look at the V-Play engine. It very well integrates QTs QML property binding functionality.

我们做了一些CBSE研究在我们的大学比赛,我多年来收集的一些资料:

We did some research on CBSE in games at our university and I collected some material over the years:

CBSE游戏文学:


  • 游戏引擎架构

  • 游戏编程精粹4:一个Managin游戏实体游戏
  • 系统
  • 游戏编程精粹5:基于组件对象管理

  • 游戏编程精粹5:通用组件库

  • 游戏编程精粹6:游戏对象组件系统

  • 面向对象游戏开发

  • Architektur德·科恩斯einer游戏引擎UND Implementierung麻省理工学院的Java(德国)

在C#中的基于组件的游戏引擎的一个很好的和干净的例子就是大象游戏框架

A very good and clean example of a component-based game-engine in C# is the Elephant game framework.

如果你真的想知道组件读什么:基于组件的软件工程!
他们定义组件为:

If you really want to know what components are read: Component-based Software Engineering! They define a component as:

一个的软件组件的是符合一个组件模型,可以根据组合物的标准被独立部署和组成而无需修改。一个软件元件

A software component is a software element that conforms to a component model and can be independently deployed and composed without modification according to a composition standard.

A 组件模型定义了特定的交互并构成标准。 A 组件模型执行的是专用的一套支持组件符合模型的执行所需的可执行软件元素。

A component model defines specific interaction and composition standards. A component model implementation is the dedicated set of executable software elements required to support the execution of components that conform to the model.

A 软件组件,基础设施的是一组交互设计,以确保使用这些组件和接口构建的软件系统或子系统将满足明确的性能规格的软件组件。

A software component infrastructure is a set of interacting software components designed to ensure that a software system or subsystem constructed using those components and interfaces will satisfy clearly defined performance specifications.

经过2年的游戏经验,认为与CBSE我的意见是面向对象编程仅仅是一条死胡同。记住我的警告,你看你的组件变得越来越小,越来越像装在元件用大量无用开销功能。使用<一个href=\"http://stackoverflow.com/questions/1028250/what-is-functional-reactive-programming\">functional-reactive编程,而不是的。也看看我的新的博客文章(这导致我这个问题,一边写吧:))关于 我为什么从基于组件的游戏引擎架构转换为FRP

My opinions after 2 years of experience with CBSE in games thought are that object-oriented programming is simply a dead-end. Remember my warning as you watch your components become smaller and smaller, and more like functions packed in components with a lot of useless overhead. Use functional-reactive programming instead. Also take a look at my fresh blog post (which lead me to this question while writing it :)) about Why I switched from component-based game engine architecture to FRP.

总屋宇装备工程师在游戏篇:

CBSE in games papers:

  • Component Based Game Development – A Solution to Escalating Costs and Expanding Deadlines?
  • A Flexible And Expandable Architecture For Computer Games (404)
  • A Software Architecture for Games
  • A Generic Framework For Game Development
  • Smart Composition Of Game Objects Using Dependency Injection

CBSE游戏网页链接(按相关性排序):

CBSE in games web-links (sorted by relevancy):

  • Component based objects Wiki (Empty wiki)
  • Evolve Your Hierachy
  • Game Object Structure: Inheritance vs. Aggregation
  • A Data-Driven Game Object System (PDF)
  • A Data-Driven Game Object System (PPT)
  • Component-based prototyping tool for flash
  • Theory and Practice of Game Object Component Architecture (404)
  • Entity Systems are the Future of MMOs
  • ogre3d.org forum: Component Based Objects
  • gamedev.net: Outboard component-based entity system architecture
  • gamedev.net: Entity System question
  • Brainfold entity-system blog (404)

这篇关于基于组件的游戏引擎设计的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆