第一章 第一节 概述

第一章 概述
这本书是写给不论你有没有3D图形经验,只要你想一窥游戏引擎设计大门的人们的。这一章从大的方面来看游戏引擎。目标是提供对游戏引擎的一个概观,本书剩余部分的更详细讨论都以这为基础。在这本书里,我们将研究游戏引擎的方方面面,并且检验随书附带的示例游戏引擎(可以在Apress网站下载http://www.apress.com)源代码里相应的特征。每一章都关注游戏引擎的一个主要概念或者子集。有几章是专注于渲染不同类型的图形,因为需要使用不同的技术来渲染复杂的对象。
 
什么是游戏引擎?
游戏引擎是任何电脑游戏的心脏。很多游戏引擎是紧紧的跟游戏绑定在一起,只能适用于一个游戏。然而,一个设计得当的引擎应该是模块化,可重用和足够灵活的,可以适用于同一类型的很多款游戏。游戏引擎一般是为某一特定类型游戏设计和优化过的。这些类型包括第一人称射击、实时战略游戏和车辆模拟,这几类最流行的一些游戏(to name a few of the most popular)。
 
在这里讲到的商业游戏引擎都是针对各自的游戏高度优化过的,这都是由非常有经验的专业人员组成的团队经过许多man-years开发的。这些商业游戏必须在非常广泛的硬件上良好的运行。它们既可以使用DirectX也可以使用OpenGL渲染,这样玩家可以自由的选择他们的系统中图形卡最好的工作方式。商业软件使用高级方法,例如vertex和pixel shaders的一些专利代码,为了提供公司刺向游戏市场的利刃。
 
第一人称射击游戏引擎
第一人称设计游戏引擎常是基于室内场景。这就强调了可视的细节和动画。增加可视细节就伴随着花费很多的纹理以及在给定的游戏级别上增加更多的多边形数目。为了补偿这些(必须维持一个合理的帧率),大多数的引擎依赖四叉树(Quadtree),Protal,或者空间二分法(BSP)剔除。剔除是从场景中移除多边形的过程。(这些剔除方法的具体细节在第三章。)这些类型的例子是id Software公司的Doom和Quake(在他们的许多版本中),以及Sierra公司的Half-Life(包括极其流行的反恐精英版本)。
 
实时战略游戏引擎
直到最近,实时战略游戏一直是二维的,基于精灵(sprite-based)的游戏,他们使用固定的视点和巧妙设计的sprite来给人三维的假象。新的游戏,例如Sierra公司的Empire Earth和Ensemble Studios的Age of Mythology把这类游戏带入到3D时代。图1-1展示了Age of Mythology游戏的一个场景。
图一 Age of Mythology中的一个场景
 
这一类游戏一般是室外的,面临着使人畏惧的在同一时间显示非常巨大数量的对象和广阔的地形的困难。这类游戏的游戏引擎使用高空视点来减少玩家视野里的对象数目和地形数目。这些游戏也使用相比第一人称射击里的相对较低的分辨率的对象。因为视点保持在离地面较远的一个固定点上,玩家不会足够近看到对象的细节。
 
车辆模拟游戏引擎
这第三类游戏引擎是车辆模拟。这一种包括第一人称军事战斗模拟器(飞机,直升机,坦克等等),赛车游戏,以及其他驾驶游戏。一个例子是NovaLogic公司出品的Comanche 4。
 
因为这些游戏是室外的,并且视点角度也相对没有限制,所以需要一些特殊的技术来维持可玩的帧率。这些技术主要落在剔除和细节级别(LOD)这些领域,来减少必须贴纹理和绘制的多边形数目。在室外的模拟游戏中,一个最普通的方法是把远裁剪平面移近视点。这会导致任何远于平面的多边形被移除场景。一个不好的效果是当视点移动时,玩家可以看到在远裁剪平面有对象忽隐忽现。这个问题的解决方法是使用雾。雾或者烟使多边形在接近雾的最大距离(通常是等于或者稍小于远裁剪平面的距离)时,退成雾的颜色。LOD和改进的面片(mesh)技术都提供了一个机制减少给定的对象的多边形数目,通过一个函数的方式,根据对象离视点的距离范围。LOD技术在模型远离眼睛时用低细节来替代高细节。另一方面,改进的面片技术,基于离视点的范围来修改单个的面片。
 
注意:不要混淆游戏引擎设计和游戏设计。游戏引擎是游戏背后的方法技术(enabling technology)。游戏设计需要考虑的许多问题无关于游戏引擎。游戏引擎提供游戏设计者向游戏传递概念或者故事情节的工具。
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值