① 游戏引擎架构的前言
最早的电子游戏完全由硬件构成,但微处理器(microprocessor)的高速发展完全改变了游戏的面貌。现在的游戏是在多用途的PC和专门的电子游戏主机(video game console)上玩的,凭借软件带来绝妙的游戏体验。从最初的游戏诞生至今已有半个世纪,但很多人仍然认为游戏是一个未成熟的产业。即使游戏可能是个年轻的产业,若仔细观察,也会发现它正在高速发展。 现时游戏已成为一个上百亿美元的产业,覆盖不同年龄、性别的广泛受众。
千变万化的游戏,可以分为从纸牌游戏到大型多人在线游戏(massively multiplayer online game,MMOG)等多个种类(category)和“类型(genre)”,也可以运行在任何装有微芯片(microchip)的设备上 。你现在可以在PC、手机及多种特别为游戏而设计的手持/电视游戏主机上玩游戏。家用电视游戏通常代表最尖端的游戏科技,又由于它们是周期性地推出新版本,因此有游戏机“世代”(generation)的说法。最新一代的游戏机包括微软的Xbox 360和索尼的PlayStation 3,但一定不可忽视长盛不衰的PC,以及最近非常流行的任天堂Wii。
最近,剧增的下载式休闲游戏,使这个多样化的商业游戏世界变得更复杂。虽然如此,大型游戏仍然是一门大生意。今天的游戏平台非常复杂,有难以置信的运算能力,这使软件的复杂度得以进一步提升。所有这些先进的软件都需要由人创造出来,这导致团队人数增加,开发成本上涨。随着产业变得成熟,开发团队要寻求更好、更高效的方式去制作产品,可复用软件(reusable software)和中间件(middleware)便应运而生,以补偿软件复杂度的提升。
由于有这么多风格迥异的游戏及多种游戏平台,因此不可能存在单一理想的软件方案。然而,业界已经发展出一些模式 ,也有大量的潜在方案可供选择。现今的问题是如何找到一个合适的方案去迎合某个项目的需要。再进一步,开发团队必须考虑项目的方方面面,以及如何把各方面集成。对于一个崭新的游戏设计,鲜有可能找到一个完美搭配游戏设计各方面的软件包。
现时业界内的老手,入行时都是“开荒牛”。我们这代人很少是计算机科学专业出身(Matt的专业是航空工程、Jason的专业是系统设计工程),但现时很多学院已设有游戏开发的课程和学位。时至今日,为了获取有用的游戏开发信息,学生和开发者必须找到好的途径。对于高端的图形技术,从研究到实践都有大量高质量的信息。可是,这些信息经常不能直接应用到游戏的生产环境,或者没有一个生产级质量的实现。对于图形以外的游戏开发技术,市面上有一些所谓的入门书籍,没提及参考文献就描述很多内容细节,像自己发明的一样。这种做法根本没有用处,甚至经常带有不准确的内容。另一方面,市场上有一些高端的专门领域书籍,例如物理、碰撞、人工智能等。可是,这类书或者啰嗦到让你难以忍受,或者高深到让部分读者无法理解,又或者内容过于零散而难于融会贯通。有一些甚至会直接和某项技术挂钩,软硬件一旦改动,其内容就会迅速过时。
此外,互联网也是收集相关知识的绝佳工具。可是,除非你确实知道要找些什么,否则断链、不准确的资料、质量差的内容也会成为学习障碍。
好在,我们有Jason Gregory,他是一位拥有在顽皮狗(Naughty Dog)工作经验的业界老手,而顽皮狗是全球高度瞩目的游戏工作室之一。Jason在南加州大学教授游戏编程课程时,找不到概括游戏架构的教科书。值得庆幸的是,他承担了这个任务,填补了这个空白。
Jason把应用到实际发行游戏的生产级别知识,以及整个游戏开发的大局编集于本书。他凭经验,不仅融汇了游戏开发的概念和技巧,还用实际的代码示例及实现例子去说明怎样贯通知识来制作游戏。本书的引用及参考文献可以让读者更深入探索游戏开发过程的各方面。虽然例子经常是基于某些技术的,但是概念和技巧是用来实际创作游戏的,它们可以超越个别引擎或API的束缚。
本书是一本我们入行做游戏时想要的书。我们认为本书能让入门者增长知识,也能为有经验者开拓更大的视野。
Jeff Lander
Matthew Whiting
② 求两本书的pdf 小弟求 游戏物理引擎开发中文版 和 游戏引擎架构 自己在网上下载的缺了六百多页,
http://download.csdn.net/detail/mansir123/9054383 要四部分都下了才可以看。 中文版7225
③ 游戏引擎架构的作者简介
作者介绍:Jason Gregory在1994年开始任职专业软件工程师,自1999年3月开始在游戏产业中任职软件工程师。在圣迭哥Midway Home Entertainment公司开始游戏编程的他,为《疯狂飞行员(Freaky Flyers)》及《Crank the Weasel》开发PlayStation 2/Xbox上的动画系统。在2003年,他转到洛杉矶艺电,为《荣誉勋章:血战太平洋(Medal of Honor: Pacific Assault)》开发游戏引擎及游戏性技术,并在《荣誉勋章:空降神兵(Medal of Honor: Airborne)》中担任首席工程师。他现时是顽皮狗公司的通才程序员,为《神秘海域:德雷克船长的宝藏(Uncharted: Drake's Fortune)》及《神秘海域:纵横四海(Uncharted: Among Thieves)》开发引擎及游戏性软件。他也在南加州大学教授游戏技术的课程。
译者简介:叶劲峰(Milo Yip)从小自习编程,并爱好计算机图形学。上中学时兼职开发策略RPG《王子传奇》,该游戏在1995年于台湾发行。其后他获取了香港大学认知科学学士、香港中文大学系统工程及工程管理哲学硕士。毕业后在香港理工大学设计学院从事游戏引擎及相关技术的研发,职至项目主任。除发表学术文章外,也曾合着《DirectX9游戏编程实务》。2008年往上海育碧担任引擎工程师开发《美食从天而降(Cloudy with a Chance of Meatballs)》Xbox360/PS3/Wii/PC,2009年起于麻辣马开发《爱丽丝:疯狂回归(Alice: Madness Returns)》Xbox360/PS3/PC,2011年加入腾讯互动娱乐引擎技术中心担任专家工程师,所研发的技术已用于《斗战神》、《天涯明月刀》、《众神争霸》等项目中。
④ 游戏引擎怎么开发
首先要了解游戏引擎是什么东西?
游戏引擎是开发游戏时为了模块复用而使用的中间件。游戏引擎概念的本身是多层次的,从复用性上说可以有0层即不使用游戏引擎的游戏,早期的游戏属于这类,一个游戏就对应一个游戏基础库,但是这样毫无复用性。从系统纵向上来说,游戏引擎的下层是基础库,最上层可以是地图或场景编辑器。从模块横向上来说,游戏引擎由若干个子引擎组成,如图形引擎、AI引擎、物理引擎、网络引擎和脚本引擎,每一个子引擎又可以细分。总之,完整的游戏引擎(比如Unity、UE4)是相当复杂的软件系统。
你可以看看Jason Gregory写的Game Engine Architecture(中文《游戏引擎架构》由游戏引擎工程师Milo翻译),这本书帮你从各个角度理解游戏引擎的组织,模块相互之间的关系,和业界常用的优化方法。另外,你需要找到一个切入点,选择一个引擎子系统的方向学习它的知识和编程技巧(一般是从图形引擎出发,学习图形API如OpenGL或中间件如OGRE)。
⑤ 求《游戏引擎架构》PDF中文完整版
http://download.csdn.net/detail/mansir123/9054383
要四部分都下了才可以看。
⑥ 如何自学游戏引擎的开发
首先建议读一下Milo Yip大神翻译的《游戏引擎架构》这本书。
游戏开发本身就隶属于IT行业,在这样的日新月异的一个行业中,如果只是在井中望月的话,那么即使你狠精通一门游戏引擎,那么第二门呢?只有在你自己理解了游戏引擎的一个设计架构,设计原理,你才能在后续开发引擎中立于不败之地。
这是一个循序渐进的过程,如果只是对游戏引擎钟意,那么充其量你仍然只是某个游戏引擎的使用高手,在后续的发展中,你将会被淘汰,大家很多人在做塞班时代的时候,谁会想到安卓时代的到来呢?只有不断的提高。
才能将自己得到升华。游戏开发就是一生的学问,无论从策划还是程序出发,被局限住了你就需要比别人落后更多,又需要花更多的时间来去学习。倒不如打好基础,再面对各种的引擎都可以游刃自如,而且你还可以针对各种引擎做优化。
Games支持先学习游戏编程,学习游戏编程是基础。游戏引擎说白了就是对特定功能的封装,固然游戏引擎让一些常用的功能实现更加简便快捷,但要想理解其实现的机理和在,还需要游戏编程的基础。
举个例子:cocos2d-x引擎是使用c++语言封装的。如果从游戏引擎开始学,很快可以学会精灵移动和各种动画,但设计到高级编程如内存优化等游戏开发深层次的东西,是只学习引擎不能够掌握的。
只有了解深层c++实现机理才行。如果从c++开始学,虽然学习c++的过程是漫长的,但从c++转为cocos2d-x游戏引擎的时间确实非常快的,也能够明白其底层实现,对这个引擎的了解掌握程度也更好。
⑦ 游戏引擎是什么_
游戏引擎是指一些已编写好的可编辑电脑游戏系统或者一些交互式实时图像应用程序的核心组件。
游戏引擎提供一系列可视化开发工具和可重用组件。这些工具通过与开发环境进行集成,方便开发者简单、快速进行数据驱动方式的游戏开发。为了提高游戏开发人员的开发效率,引擎开发者会开发出大量的游戏所需要的软件组件。
大多数引擎集成了图形、声音、物理和人工智能等功能部件。游戏引擎会被称为“中间件”,因为它们可以提供灵活和重用平台,向游戏开发者提供所需要的全部核心功能,从而节省大量的游戏开发费用,降低开发的复杂性,缩短游戏的上市时间,所有这些对于高竞争性的游戏产业来说都是关键因素。
诸如虚幻系列引擎、Unity3D、Frostbite Engine、zerodin引擎、Doom3引擎、CryENGINE、3DGame
Studio、RenderWare、Gamebryo、Virtools以及Source引擎等引擎。
与其它中间件解决方案一样,游戏引擎通常提供平台抽象层,实现同一款游戏可以在各种平台上运行,包括游戏机和个人电脑,而只需要改动少量的源代码。
游戏引擎均设计成基于组件的架构,方便进行特定子系统的替换或者添加新的引擎中间件(通常成本较高)从而实现功能的扩展。比如Havok物理引擎、Miles
Sound System声音引擎和Bink图形引擎等。一些游戏引擎如RenderWare引擎由一些松耦合的游戏中间件组成,可以根据需要定制出游戏引擎。
通过组件技术,可以实现游戏引擎的扩展性,而扩展性通常是游戏引擎优先考虑的特性。游戏引擎经常会应用于交互应用的实时图像显示,比如营销演示、建筑可视化、训练模拟、环境建模。
(7)游戏引擎的架构中文pdf扩展阅读:
1、硬件概念
3D引擎的渲染系统通常建立在一套高级图像API之上,诸如Direct3D或OpenGL,这些API封装了GPU和显卡的部分功能。级别低一点的如DirectX、SDL和OpenAL也经常使用,他们提供对其他硬件设备的独立支持,诸如输入设备(鼠标、键盘、控制杆)、网卡、声卡。在硬件加速图形卡出现以前,开发者使用软件渲染。现在软件渲染依然被广泛用于非及时图像的渲染,或者是用户的硬件设备不支持硬件渲染。
2、中间层
一些引擎开发者以开发整个游戏引擎而着称,他们试图开发一个具有所有游戏元素的引擎,包括图像、声音、物理、人工智能。比如Gamebryo和RenderWare就是这样的引擎。
也有一些开发者只专注于开发引擎的某一部分,但他们取得的成就往往比全功能引擎还高。SpeedTree就是一个很好的例子,他适用于大规模植被的渲染,被使用在Playstation
3、Xbox 360,微软开发的一些RPG,以及上古卷轴4:遗忘。
一些引擎提供完整的源代码,其他的只提供一个经过封装的API接口,使用者用过调用DLL文件来使用这个引擎。还有一些引擎将引擎二进制包和源代码划分开来,前者被免费授权使用,而后者则需要高额的费用来购买使用授权。
⑧ 求《游戏引擎架构》高清PDF
http://download.csdn.net/detail/mansir123/9054383
要四部分都下了才可以看。
中文版
⑨ 游戏引擎架构的内容简介
《游戏引擎架构》同时涵盖游戏引擎软件开发的理论及实践,并对多方面的题目进行探讨。本书讨论到的概念及技巧实际应用于现实中的游戏工作室,如艺电及顽皮狗。虽然书中采用的例子通常依据一些专门的技术,但是讨论范围远超于某个引擎或API。文中的参考及引用也非常有用,可让读者继续深入游戏开发过程的任何特定方向。
《游戏引擎架构》为一个大学程度的游戏编程课程而编写,但也适合软件工程师、业余爱好者、自学游戏程序员,以及游戏产业的从业人员。通过阅读《游戏引擎架构》,资历较浅的游戏工程师可以巩固他们所学的游戏技术及引擎架构的知识,专注某一领域的资深程序员也能从本书更为全面的介绍中获益。
宣传语:迈向现代游戏之路完美入口 业界万众企盼 隆重推荐
⑩ 游戏引擎怎么开发
首先要了解游戏引擎是什么东西?
游戏引擎是开发游戏时为了模块复用而使用的中间件。游戏引擎概念的本身是多层次的,从复用性上说可以有0层即不使用游戏引擎的游戏,早期的游戏属于这类,一个游戏就对应一个游戏基础库,但是这样毫无复用性。从系统纵向上来说,游戏引擎的下层是基础库,最上层可以是地图或场景编辑器。从模块横向上来说,游戏引擎由若干个子引擎组成,如图形引擎、AI引擎、物理引擎、网络引擎和脚本引擎,每一个子引擎又可以细分。总之,完整的游戏引擎(比如Unity、UE4)是相当复杂的软件系统。
你可以看看Jason
Gregory写的Game
Engine
Architecture(中文《游戏引擎架构》由游戏引擎工程师Milo翻译),这本书帮你从各个角度理解游戏引擎的组织,模块相互之间的关系,和业界常用的优化方法。另外,你需要找到一个切入点,选择一个引擎子系统的方向学习它的知识和编程技巧(一般是从图形引擎出发,学习图形API如OpenGL或中间件如OGRE)。