跳转到内容

游戏引擎:修订间差异

维基百科,自由的百科全书
删除的内容 添加的内容
Joycheering留言 | 贡献
 
(未显示36个用户的44个中间版本)
第1行: 第1行:
{{expand|time=2007-09-26T20:05:26Z}}
{{unreferenced|time=2013-06-17T07:16:47+00:00}}
{{NoteTA|G1=Games}}


{{NoteTA
'''游戏引擎'''是指一些已編寫好的可編輯電腦遊戲系統或者一些互式实时图像应用-{zh-hans:程序;zh-tw:程序;zh-hk:程式;}-的核心组件。這些系統為[[遊戲設計師|遊戲設計者]]提供各種編寫遊戲所需的各種工具,其目的在於讓遊戲設計者能容易和快速地做出遊戲程式而不用由零開始。大部分都支持多种作業系統平台,如[[Linux]]、[[Mac OS X]]、[[微软]][[Windows]]。游戏引擎包含以下系统:[[渲染]]引擎(即「渲染器」,含[[二维图像引擎]]和[[三维图像引擎]])、[[物理引擎]]、碰撞检测系统、[[音效]]、[[脚本]]引擎、[[电脑动画]]、[[人工智能]]、[[网络]]引擎以及场景管理。
| G1=Games
}}
[[File:Yo Frankie! - desenvolvimento.png|thumb|展示了游戏引擎的外观与作用]]
'''游戏引擎'''是指一些已編寫好的可編輯電腦遊戲系統或者一些互式实时图像应用程式的核心组件。這些系統為[[遊戲設計師|遊戲設計者]]提供各種編寫遊戲所需的各種工具,其目的在於讓遊戲設計者能容易和快速地做出遊戲程式而不用由零開始。大部分都支持多种作業系統平台,如[[Linux]]、[[Mac OS X]]、[[Windows]]。大多数游戏引擎包含以下系统:[[渲染]]引擎(即「[[渲染器]]」,含[[二维图像引擎]]和[[三维图像引擎]])、[[物理引擎]]、碰撞检测系统、[[音效]]、[[脚本引擎]]、[[电脑动画]]、[[人工智能]]、[[互聯網|网络]]引擎以及场景管理


== 概况 ==
== 概况 ==
游戏引擎提供一系列可视化开发工具和可重用组件。这些工具通过与开发环境进行集成,方便开发者简单、快速进行数据驱动方式的游戏开发。为了提高游戏开发人员的开发效率,引擎开发者会开发出大量的游戏所需要的软件组件。大多数引擎集成了图形、声音、物理和人工智能等功能部件。游戏引擎会被称为“中间件”,因为它们可以提供灵活和重用平台,向游戏开发者提供所需要的全部核心功能,从而节省大量的游戏开发费用,降低开发的复杂性,缩短游戏的上市时间,所有这些对于高竞争性的游戏产业来说都是关键因素。诸如[[虚幻系列引擎]]、[http://www.panda3d.org.cn/ 迪斯尼开源游戏引擎Panda3D]、[[zerodin引擎]]、[[毁灭战士3引擎|Doom3引擎]]、[[CryENGINE系列引擎]]、[[3DGame Studio]]、[[RenderWare]]、[[Gamebryo]], [[Virtools]]以及[[Source引擎]]等引擎。


游戏引擎提供一系列可视化开发工具和可重用组件。这些工具通过与开发环境进行集成,方便开发者简单、快速进行数据驱动方式的游戏开发。为了提高游戏开发人员的开发效率,引擎开发者会开发出大量的游戏所需要的软件组件。大多数引擎集成了图形、声音、物理和人工智能等功能部件。游戏引擎会被称为“中间件”,因为它们可以提供灵活和重用平台,向游戏开发者提供所需要的全部核心功能,从而节省大量的游戏开发费用,降低开发的复杂性,缩短游戏的上市时间,所有这些对于高竞争性的游戏产业来说都是关键因素。诸如[[虚幻系列引擎]]、{{Internal link helper/en|id Tech}}、[[Unity3D]]、[[寒霜引擎|Frostbite Engine]]、[[zerodin引擎]]、[[毁灭战士3引擎|Doom3引擎]]、[[CryENGINE]]、[[3DGame Studio]]、[[RenderWare]]、[[Gamebryo]][[Virtools]]、[[RE引擎]]和[[Source引擎]]等引擎。
与其它中间件解决方案一样,游戏引擎通常提供平台抽象层,实现同一款游戏可以在各种平台上运行,包括游戏机和个人电脑,而只需要改动少量的源代码。一般来说,游戏引擎均设计成基于组件的架构,方便进行特定子系统的替换或者添加新的引擎中间件(通常成本较高)从而实现功能的扩展。比如[[Havok物理引擎]][[Miles Sound System声音引擎]][[Bink图形引擎]]等。一些游戏引擎如[[RenderWare]]引擎由一些松耦合的游戏间件组成,可以根据需要定制出游戏引擎。通过组件技术,可以实现游戏引擎的扩展性,而扩展性通常是游戏引擎优先考虑的特性。游戏引擎经常会应用于交互应用的实时图像显示,比如营销演示建筑可视化训练模拟环境建模。


与其它中间件解决方案一样,游戏引擎通常提供平台抽象层,实现同一款游戏可以在各种平台上运行,包括游戏机和个人电脑,而只需要改动少量的源代码。一般来说,游戏引擎均设计成基于组件的架构,方便进行特定子系统的替换或者添加新的引擎中间件(通常成本较高)从而实现功能的扩展。比如[[Havok引擎]][[Miles Sound System声音引擎]][[Bink图形引擎]]等。一些游戏引擎如[[RenderWare]]引擎由一些松耦合的游戏间件组成,可以根据需要定制出游戏引擎。通过组件技术,可以实现游戏引擎的扩展性,而扩展性通常是游戏引擎优先考虑的特性。游戏引擎经常会应用于交互应用的实时图像显示,比如营销演示建筑可视化训练模拟环境建模。
引擎作为一个中间层,他能够将同一个游戏表现在不同的游戏平台之上,诸如:[[个人电脑]]、[[PlayStation]]、[[PlayStation 2]]、[[PlayStation 3]]、[[Xbox]]、[[Xbox 360]]、[[Wii]]和[[任天堂]]游戏机。一些游戏引擎通常被设计为部分组件可以替换或增加新组件,从而增强引擎的表现能力。当然这样的引擎也会更昂贵。可用于增加功能的组件有用于物理计算的[[Havok]],处理声音的[[FMOD]],加快渲染速度的[[SpeedTree]]等。 一些引擎直接设计为组件分离,用户根据需要自己组装引擎组件比如[[RenderWare]]引擎。但这样的设计给引擎的开发带来了更高的难度,因为设计者要更多考虑各组件之间的协调问题。

引擎作为一个中间层,他能够将同一个游戏表现在不同的游戏平台之上,诸如:[[个人电脑]]、[[PlayStation (遊戲機)|PlayStation]]、[[PlayStation 2]]、[[PlayStation 3]]、[[Xbox]]、[[Xbox 360]]、[[Wii]]和[[任天堂]]游戏机。一些游戏引擎通常被设计为部分组件可以替换或增加新组件,从而增强引擎的表现能力。当然这样的引擎也会更昂贵。可用于增加功能的组件有用于物理计算的[[Havok]],处理声音的[[FMOD]],加快渲染速度的[[SpeedTree]]等。一些引擎直接设计为组件分离,用户根据需要自己组装引擎组件比如[[RenderWare]]引擎。但这样的设计给引擎的开发带来了更高的难度,因为设计者要更多考虑各组件之间的协调问题。


一些游戏引擎只包含实时三维渲染能力,不提供其它游戏开发功能。这些引擎需要游戏开发者自行开发所需功能,或者集成其他现有的游戏组件。这此引擎通常被称做“图像引擎”、“渲染引擎”或者“三维引擎”,而非“游戏引擎”。这个术语的定义已经有些模糊,因为很多特征明显的三维游戏引擎被简称为“三维引擎”。一些图像引擎如:[[Genesis3D]]、[[Irrlicht]]、[[OGRE]]、[[RealmForge]]、[[Truevision3D]]和[[Vision]]引擎。现代游戏或图像引擎通常提供场景图形结构,该结构采用面向对象的方式表示三维游戏世界,方便进行游戏设计和高效渲染虚拟世界。
一些游戏引擎只包含实时三维渲染能力,不提供其它游戏开发功能。这些引擎需要游戏开发者自行开发所需功能,或者集成其他现有的游戏组件。这此引擎通常被称做“图像引擎”、“渲染引擎”或者“三维引擎”,而非“游戏引擎”。这个术语的定义已经有些模糊,因为很多特征明显的三维游戏引擎被简称为“三维引擎”。一些图像引擎如:[[Genesis3D]]、[[Irrlicht]]、[[OGRE]]、[[RealmForge]]、[[Truevision3D]]和[[Vision]]引擎。现代游戏或图像引擎通常提供场景图形结构,该结构采用面向对象的方式表示三维游戏世界,方便进行游戏设计和高效渲染虚拟世界。


== 硬件概念 ==
== 硬件概念 ==

3D引擎的渲染系统通常建立在一套高级图像[[API]]之上,诸如[[Direct3D]]或[[OpenGL]],这些API封装了[[GPU]]和显卡的部分功能。级别低一点的如[[DirectX]]、[[SDL]]和[[OpenAL]]也经常使用,他们提供对其他硬件设备的独立支持,诸如输入设备(鼠标、键盘、控制杆)、网卡、声卡。在硬件加速形卡出现以前,开者使用软件渲染。现在软件渲染依然被广泛用于非及时图像的渲染,或者是用的硬件设备不支持硬件渲染。
3D引擎的渲染系统通常建立在一套高级图像[[API]]之上,诸如[[Direct3D]]或[[OpenGL]],这些API封装了[[GPU]]和显卡的部分功能。级别低一点的如[[DirectX]]、[[SDL]]和[[OpenAL]]也经常使用,他们提供对其他硬件设备的独立支持,诸如输入设备(鼠标、键盘、控制杆)、网卡、声卡。在硬件加速形卡出现以前,开者使用软件渲染。现在软件[[渲染]]依然被广泛用于非及时图像的渲染,或者是用的硬體設備不支持硬件渲染。


== 中间层 ==
== 中间层 ==
一些引擎开发者以开发整个游戏引擎而著称,他们试图开发一个具有所有游戏元素的引擎,包括图像、声音、物理、人工智能。比如[[Gamebryo]]和[[RenderWare]]就是这样的引擎。此外近年出现的[[zerodin引擎]]比较受人瞩目,因其引擎专门为开发MMORPG而设计,且节约将近60%开发成本和时间


一些引擎开发者以开发整个游戏引擎而著称,他们试图开发一个具有所有游戏元素的引擎,包括图像、声音、物理、人工智能。比如[[Gamebryo]]和[[RenderWare]]就是这样的引擎。
也有一些开发者只专注于开发引擎的某一部分,但他们取得的成就往往比全功能引擎还高。 [[SpeedTree]]就是一个很好的例子,他适用于大规模植被的渲染,被使用在[[Playstation 3]]、[[Xbox 360]],[[微软]]开发的一些RPG,以及[[上古卷轴]]4:遗忘。

也有一些开发者只专注于开发引擎的某一部分,但他们取得的成就往往比全功能引擎还高。SpeedTree就是一个很好的例子,他适用于大规模植被的渲染,被使用在[[Playstation 3]]、[[Xbox 360]],[[微软]]开发的一些RPG,以及上古卷轴4:遗忘。


一些引擎提供完整的源代码,其他的只提供一个经过封装的API接口,使用者用过调用DLL文件来使用这个引擎。还有一些引擎将引擎二进制包和源代码划分开来,前者被免费授权使用,而后者则需要高额的费用来购买使用授权。
一些引擎提供完整的源代码,其他的只提供一个经过封装的API接口,使用者用过调用DLL文件来使用这个引擎。还有一些引擎将引擎二进制包和源代码划分开来,前者被免费授权使用,而后者则需要高额的费用来购买使用授权。


=== MMOG 中间层 ===
=== MMORPG中间层 ===

[[MMORPG]]的中间层比单机版游戏的中间层更为复杂,但网络游戏的发展促进了这类引擎的开发。一些比较知名的引擎有:
[[MMORPG]]的中间层比单机版游戏的中间层更为复杂,但网络游戏的发展促进了这类引擎的开发。一些比较知名的引擎有:
* [[Gamebryo]]
* {{tsl|en|HeroEngine}}
* [[BigWorld|BigWorld Technology]]
* {{tsl|en|Kaneva||Kaneva Game Platform}}
* {{tsl|en|Multiverse Network}}
* [[Monumental Technology Suite]]
* {{tsl|en|Project Darkstar}}
* [http://realmcrafter.boards.net/ RealmCrafter] {{Wayback|url=http://realmcrafter.boards.net/ |date=20210411000038 }}


== 开发者 ==
== 开发者 ==

游戏引擎开发是一个比较热门的职业,他强调学科间的相互合作,诸如[[几何学]]、[[色彩理论]]、[[电脑程序]]等,主要集中在视觉科学领域。一些公司甚至以开发引擎为乐趣和技术追求,而不是用来卖钱。比如[[Crystal Space]]就是一个比较知名免费[[开放源代码]]多平台游戏引擎。
游戏引擎开发是一个比较热门的职业,他强调学科间的相互合作,诸如[[几何学]]、{{tsl|en|Color theory|色彩理论}}、[[电脑程序]]等,主要集中在视觉科学领域。一些公司甚至以开发引擎为乐趣和技术追求,而不是用来卖钱。比如[[godot]]和[[Blender]]就是知名免费[[开放源代码]]多平台游戏引擎。


== 参看 ==
== 参看 ==

* [[游戏引擎列表]]
* [[游戏引擎列表]]
* [[游戏开发]]
* [[游戏开发]]

== 外部链接 ==
* [http://www.gameres.com GameRes游戏开发资源网]{{zh-cn}}
* [http://www.mygame4.us 3D游戏制作交流站]{{zh-cn}}
* [http://www.gamengines.com 3D游戏引擎网]{{zh-cn}}
* [http://www.cosmic-life.com 幻影游戏引擎网]{{zh-cn}}


{{游戏引擎}}
[[Category:游戏引擎| ]]
[[Category:游戏引擎| ]]
[[Category:電子遊戲研發]]

[[ar:محرك ثلاثي الأبعاد]]
[[az:Oyun mühərriki]]
[[ca:Motor de videojoc]]
[[cs:Engine]]
[[da:Spilmotor]]
[[de:Spiel-Engine]]
[[el:Μηχανή παιχνιδιού]]
[[en:Game engine]]
[[es:Motor de videojuego]]
[[et:Mängu mootor]]
[[fa:موتور بازی]]
[[fi:Pelimoottori]]
[[fr:Moteur de jeu]]
[[gl:Motor de xogo]]
[[hu:Videojáték-motor]]
[[is:Leikjavél]]
[[it:Motore grafico]]
[[ja:ゲームエンジン]]
[[ka:თამაშის ძრავა]]
[[ko:게임 엔진]]
[[mk:Погон за видеоигри]]
[[ms:Enjin permainan]]
[[nl:Engine]]
[[no:Spillmotor]]
[[pl:Silnik gry]]
[[pt:Motor de jogo]]
[[ro:Motor grafic]]
[[ru:Игровой движок]]
[[simple:Game engine]]
[[sk:Herný engine]]
[[sl:Igralni pogon]]
[[sr:Покретач игре]]
[[sv:Spelmotor]]
[[tr:Oyun motoru]]
[[uk:Рушій гри]]
[[vi:Game engine]]

2024年5月15日 (三) 08:53的最新版本

展示了游戏引擎的外观与作用

游戏引擎是指一些已編寫好的可編輯電腦遊戲系統或者一些交互式实时图像应用程式的核心组件。這些系統為遊戲設計者提供各種編寫遊戲所需的各種工具,其目的在於讓遊戲設計者能容易和快速地做出遊戲程式,而不用由零開始。大部分都支持多种作業系統平台,如LinuxMac OS XWindows。大多数游戏引擎包含以下系统:渲染引擎(即「渲染器」,含二维图像引擎三维图像引擎)、物理引擎、碰撞检测系统、音效脚本引擎电脑动画人工智能网络引擎以及场景管理等。

概况

[编辑]

游戏引擎提供一系列可视化开发工具和可重用组件。这些工具通过与开发环境进行集成,方便开发者简单、快速进行数据驱动方式的游戏开发。为了提高游戏开发人员的开发效率,引擎开发者会开发出大量的游戏所需要的软件组件。大多数引擎集成了图形、声音、物理和人工智能等功能部件。游戏引擎会被称为“中间件”,因为它们可以提供灵活和重用平台,向游戏开发者提供所需要的全部核心功能,从而节省大量的游戏开发费用,降低开发的复杂性,缩短游戏的上市时间,所有这些对于高竞争性的游戏产业来说都是关键因素。诸如虚幻系列引擎id Tech英语id TechUnity3DFrostbite Enginezerodin引擎Doom3引擎CryENGINE3DGame StudioRenderWareGamebryoVirtoolsRE引擎Source引擎等引擎。

与其它中间件解决方案一样,游戏引擎通常提供平台抽象层,实现同一款游戏可以在各种平台上运行,包括游戏机和个人电脑,而只需要改动少量的源代码。一般来说,游戏引擎均设计成基于组件的架构,方便进行特定子系统的替换或者添加新的引擎中间件(通常成本较高)从而实现功能的扩展。比如Havok引擎Miles Sound System声音引擎Bink图形引擎等。一些游戏引擎如RenderWare引擎由一些松耦合的游戏中间件组成,可以根据需要定制出游戏引擎。通过组件技术,可以实现游戏引擎的扩展性,而扩展性通常是游戏引擎优先考虑的特性。游戏引擎经常会应用于交互应用的实时图像显示,比如营销演示、建筑可视化、训练模拟、环境建模。

引擎作为一个中间层,他能够将同一个游戏表现在不同的游戏平台之上,诸如:个人电脑PlayStationPlayStation 2PlayStation 3XboxXbox 360Wii任天堂游戏机。一些游戏引擎通常被设计为部分组件可以替换或增加新组件,从而增强引擎的表现能力。当然这样的引擎也会更昂贵。可用于增加功能的组件有用于物理计算的Havok,处理声音的FMOD,加快渲染速度的SpeedTree等。一些引擎直接设计为组件分离,用户根据需要自己组装引擎组件比如RenderWare引擎。但这样的设计给引擎的开发带来了更高的难度,因为设计者要更多考虑各组件之间的协调问题。

一些游戏引擎只包含实时三维渲染能力,不提供其它游戏开发功能。这些引擎需要游戏开发者自行开发所需功能,或者集成其他现有的游戏组件。这此引擎通常被称做“图像引擎”、“渲染引擎”或者“三维引擎”,而非“游戏引擎”。这个术语的定义已经有些模糊,因为很多特征明显的三维游戏引擎被简称为“三维引擎”。一些图像引擎如:Genesis3DIrrlichtOGRERealmForgeTruevision3DVision引擎。现代游戏或图像引擎通常提供场景图形结构,该结构采用面向对象的方式表示三维游戏世界,方便进行游戏设计和高效渲染虚拟世界。

硬件概念

[编辑]

3D引擎的渲染系统通常建立在一套高级图像API之上,诸如Direct3DOpenGL,这些API封装了GPU和显卡的部分功能。级别低一点的如DirectXSDLOpenAL也经常使用,他们提供对其他硬件设备的独立支持,诸如输入设备(鼠标、键盘、控制杆)、网卡、声卡。在硬件加速圖形卡出现以前,开發者使用软件渲染。现在软件渲染依然被广泛用于非及时图像的渲染,或者是用戶的硬體設備不支持硬件渲染。

中间层

[编辑]

一些引擎开发者以开发整个游戏引擎而著称,他们试图开发一个具有所有游戏元素的引擎,包括图像、声音、物理、人工智能。比如GamebryoRenderWare就是这样的引擎。

也有一些开发者只专注于开发引擎的某一部分,但他们取得的成就往往比全功能引擎还高。SpeedTree就是一个很好的例子,他适用于大规模植被的渲染,被使用在Playstation 3Xbox 360微软开发的一些RPG,以及上古卷轴4:遗忘。

一些引擎提供完整的源代码,其他的只提供一个经过封装的API接口,使用者用过调用DLL文件来使用这个引擎。还有一些引擎将引擎二进制包和源代码划分开来,前者被免费授权使用,而后者则需要高额的费用来购买使用授权。

MMORPG中间层

[编辑]

MMORPG的中间层比单机版游戏的中间层更为复杂,但网络游戏的发展促进了这类引擎的开发。一些比较知名的引擎有:

开发者

[编辑]

游戏引擎开发是一个比较热门的职业,他强调学科间的相互合作,诸如几何学色彩理论英语Color theory电脑程序等,主要集中在视觉科学领域。一些公司甚至以开发引擎为乐趣和技术追求,而不是用来卖钱。比如godotBlender就是知名免费的开放源代码多平台游戏引擎。

参看

[编辑]