“The Delta3D Open Source Game Engine”及翻译
来源:互联网 发布:企业宣传片配音软件 编辑:程序博客网 时间:2024/04/29 17:19
“The Delta3D Open Source Game Engine”及翻译
Delta3D开源游戏引擎
所有的游戏引擎和视觉仿真工 具有什么共同点?如同它们表现出来的一样,有很多共同点。事实上,游戏引擎有如此多的共同点,我们考虑能否将其统一为一体——它们应该可以。使得游戏引擎 和视觉仿真工具比较昂贵的因素之一就是一个游戏引擎不同于其它游戏引擎的先进特征。进一步讲,大多数游戏引擎都有其独特的开发渠道。这就导致其可重复利用性差。这种商业模型对于只需处理最新的图形特征的娱乐行业来说已经足够了,但是对于应用予训练的用户来说却行不通。我们需要不一样的思路。
为什么是开源?
你可能禁不住要问为什么军事训练机构要投资于开源游戏引擎。认为他们是为了获得免费得软件一种常见的错误观念。免费的确是一个吸引人的特点,但是它不是决定因素;而是它的灵活可重用性。我们需要在非常大的程度上需要重使用,因为在未来的几年内训练应用的数量是异常庞大的。这其中的许多应用相对于商业游戏来说比较小。很难为了可能只有15分钟的训练采用利用商业方案而使用昂贵的游戏引擎。但是当发展一个应用软件的边际成本符合其内容而不是体系结构时,过去难以支付得模型变的现实可行而成本有效。
通过包含开放源,我们致力于其内容而非 工具。这并不意味着在游戏引擎之上不能建立特定的工具。游戏开发者明白工具实际上比任何其他东西都影响游戏的视觉和感觉。通过集中精力于内容及内容和代码 的重用上,我们保持一个开放灵活开发渠道的同时保持一个开发者使用其自己独特的外观和感觉的同时。
为什么建立一个新的引擎?
你可能要问的下一个问题是,既然已经有几个可用的开源产品,为什么还要建立一个新的开源游戏引擎。通过对这些产品的调查,我们发现他们都只是被一小部分人所应用,其中没有一个拥有显著多的使用群体。如果你将开放源游戏引擎的使用群体与MySQL、Python、或者Open Scene Graph,那么它们没有可比性。游戏引擎群体相对较小。但是我们注意到许多开发者同时使用多个底层的工具开发他们的应用程序。在OSG的bbs上一个共同的话题:为什么没有人将OSG和CAL3D融合?这就是我们建立Delta3D所采取的方法。
Delta3D引擎设计
Delta3D实际上是一个比较薄的统层,它在你可能应用过的开源产品上层。它有一个高层的跨平台(Win32和Linux) C++API,它是为了软化程序员学习曲线,而总是提供给开发者以底层的抽象。开发者可以利用层编辑器开发内容——他们可以往Delta3D API或者其下面工具中直接写入Phython脚本。Delta3D使用标准的Lesser GNU Pulic License(LGPL).它有完整的标准组件并且具有最好的进化途径——如果有更好的选择,任何一个模块都可以被替换。图1表示了Delta3D的体系架构。
图一:Delta3D体系结构。底层的所有产品都是现有的开源工程。Delta3D利用相关工具将其统一成一致的API.
Delta3D还可用于网络并能记录并回放游戏。我们有通过共同的图像发生器接口渲染多个仿真演示的分布式渲染工作原型。在我们实验室,已经用Delta3D在一个CAVE的飞行模拟中融入了失真校正。
Delta3D有以下高层的迅速应用开发工具(参看图2):有对象观察器、粒子编辑器、二进制空间分割编辑器(BSP)、运行调试GUI。一个全特征层编辑器正在开发,到2005年秋可用。Delta3D是多风格的。它通过应用基础类来实现其多风格,这些类根据第一人称射击、实时战略游戏、或任何需要所优化。
Delta3D有包括动态的云雾、蜉蝣、以及气候等高层环境效果。它也是用状态无关单通过适配精细算法(Soarx)渲染连续的各层细微地形,使得它通过向基础数据集中添加噪声而有效的渲染无限的分辨率。目前一项包括在由Soarx算法所渲染的地形上自动生成和定位植被的工程技术在海军工程学院正在启动。利用已有的数据源,我们可以使用现实的植被,在连续的细节层次上生成非常大的地形,它可适用于飞行仿真的同时也可以用于基于地形的游戏开发。
图2 Delta3D工具包括粒子编辑器、对象察看器、视觉调试器。背景是利用Delta3D渲染而为美军开发的。
Delta3D团体
在Delta3D内部有很大开发团队的开源工程。Delta3D继承了所有的这些。比如,Delta3D会将其作为新的特征加入OSG中。其它所有的开源工具也同样共同组成了Delta3D。Delta3D的开发者同样将其技术贡献给它所用到的开源项目。我们是他们开发团队的一部分,同时他们也是我们的一部分。
Delta3D应用
我们建立了一系列教程,以便帮助新用户正确的安装和使用Delta3D。这些虽然非常基础,但是它们能使新开发者书写脚本和代码,并熟悉Delta3D开发渠道的体系结构。如果你会一些C++的知识,你就可以用较短的命令编写Delta3D应用程序。
除了教程,还在线提供完整地API文件。Delta3D网站(http://www. delta3d.org)有论坛以及其他的来自开发者和使用者的帮助.网站提供Delta3D源代码、所依赖的模块、以及程序和模块实例。站点将是可以进行任何交换的场所。Delta3D被设计成具有重用性——从代码和脚本到几何模型、纹理、以及运动纪录数据。
Delta3D的支持者们正投资于其开发,他们想在未来的几年内建立较多应用程序。这一内置式发展团体也会进一步强化Delta3D并且支持所有的开发者和用户。
因为Delta3D是开源的并且组成Delta3D的部分也是开源的,所以在完全开源基础上开发应用程序是可能的——但不是必要的。可以利用模型动画混合器建立模型(http://www.blender3d.org),利用GNU编辑器进行开发,比如GCC和任何开源编辑工具。Delta3D适合于任何运行基础并和Linux系统相兼容。可以利用免费开发软件进行无运行费用的情况下进行游戏开发。
然而,我们也同时设计了与商业软件一体的Delta3D。Delta3D商业化了游戏引擎和仿真工具的共同部分。考虑到独特的组成,Delta3D的目的是使得工具开发者能建立与Delta3D共同运行但非开源的具有特定目的的工具。这与LGPL许可是一致的,因为它没有对Delta3D修改。我们鼓励这种做法,因为它提高引擎价值的同时保留了商业软件所有的本性。
软件的应用
Delta3D已经应用于几个训练游戏应用程序。其中最为成熟的应用是训练海军陆战队如何调整火炮系统。我们起初用私有的视觉仿真工具包建其PC仿真(如图3)。然而,尽管最终用户要求使用这种软件,甚至我们试图放弃使用其应用程序的源代码,与开发工具相关的运行许可仍然不允这样做。我们在Delta3D上重新设计设计和实现了FOPCSIM。现在它的用户遍布美国以及四个国家。
图3:FOPCSIM尽管是一个训练系统,它需要有游戏的感觉。它要求对于海军士兵来说易于安装和使用。
另一个则是应用在舰载火炮系统上。它将应用于等比例在线学习环境,海军可以在其中利用标准的基于网络管理学习系统(LMS)学习如何开炮,这一系统可能包括网页、图片、动画、或者其他的多媒体信息。然后,为了证明在任务中熟练程度,另一个应用程序与之结合,使得训练者能够跟踪学生的进步。这个能力是海军在未来训练和教育战略中是至关重要的成分。
Delta3D有什么优势?
Delta3D正刚刚起步。我们被Delta3D所受到的巨大反映而鼓舞。每天的下载次数和论坛活动越来越多。在统一现存的开源工具方面,许多开发者想到了一起。Delta3D是一个伟大的开端,还有许多事情等着我们去做。
我们正在研制第一代开发工具,来支持Delta3D的开发渠道,但是独立的开发者需要更多。我们期望各类型的特效工具的加入,以应用基础类开始——它在高层定义各类型结构。
Delta3D的网络功能同样需要改进。它具有标准的军事仿真协同作战能力和一般的插口连接,但是我们需要大规模多人在线游戏的能力。
人们常常问我们,随着社团的成长,如何才能使Delta3D升级。如果你购买一件商业产品,你可以获得印刷手册,找到特定的分类,针对特定的问题获取帮助。目前,我们依靠,并且已经加入开源社团作为寻求支援。我们积极地帮助商业伙伴,采取如同Red Hat支持Linux或MySQL.com支持MySQL的方式,来支持Delta3D。
Delta3D是一个思想,它的时代已经到来.利用提供一个强大开源工具,将游戏引擎和视觉仿真市场商品化的时间已经到了, 这一工具使开发者的精力集中在开发的内容而工具本身.我们的客户为应用软件付费一次,他们就可以在没有任何许可要求下散发该程序. Delta3D对现有的开源工具的发展起到巨大推动作用.
我们鼓励所有的人下载Delta3D并试用它.对于游戏开发渠道所遇到的困难,没有万能的解决方法,但是我们相信开源软件符合这一要求.随着游戏游戏世界的迅速变化,需要一个社区与其保同步.加如我们吧!持
致谢
Delta3D是在海军模型与仿真管理办公室、海军教育培训司令部、联合国家训练能力计划办公室的资助下开展的。地形生成是由国家地理情报局提供。作者同时感谢在海军空中指挥部和奥兰多陆军的开发伙伴。
参考文献
Reference
1. A. Balogh, Real-Time Visualization of Detailed Terrain, master’s
thesis, Budapest University of Technology and Economics,
2003; http://web.interware.hu/bandi/ranger.
html.
Readers may contact Rudy Darken at darken@nps.edu.
Readers may contact the department editors at lrosenbl@
nsf.gov or michael_macedonia@peostri.army.mil.
- “The Delta3D Open Source Game Engine”及翻译
- Delta3D Open Source Engine
- open source the 3d android game
- Game Programming Open Source
- Open Source Game Development
- game open source
- Open Source Game Clones
- Open Source Game Clones
- Open Source Game Clones
- open source, distributed real-time search and analytics engine for the cloud
- the Open Source Community
- The Open Source Definition
- Open at the source.
- Koders(Open Source Code Search Engine)
- QuickFIX/J100% Java Open Source FIX Engine
- Open-Source Large Vocabulary CSR Engine Julius
- The App Engine Architecture 翻译
- 开始翻译3D Game Engine .Programming
- 扩展Struts(译文)
- 代理模式、动态代理和面向方面
- Servlet和JSP的协调运行——通过调整Servlet和JSP来提高你的企业应用的运行性能
- 子类行为不能超过父类行为——由模式谈面向对象的基本原则里氏替换原则
- AJAX会取代桌面系统吗?(译文)
- “The Delta3D Open Source Game Engine”及翻译
- 类的递归和组合模式
- 对象的相等与比较
- 使用AJAX的十大理由(译文)
- 使用java简单模拟ping和telnet的实现
- 巧妙使用spring对commons fileUpload的包装
- Nettiers模板属性说明
- 利用脚本启动java程序
- 使用iText操作pdf文件