- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第1章游戏概述.doc
第1章 游 戏 概 述
本章主要阐述实时应用程序中与相机系统相关的各项内容,并包含了较为常见的视频游戏循环更新过程。另外,本章还将对更新游戏状态的典型机制以及相机系统与其他游戏系统之间的整合方案进行深入讨论。如果读者对此颇有心得,可直接跳过本章的阅读。
实时应用程序
现代交互式实时应用程序(如视频游戏)向用户展示了虚拟世界中动态变化、色彩斑斓的视觉体验。当然,大多数用户对于这一类应用程序的开发复杂度以及难度也有所耳闻。在令人炫目的视觉场景背后,实时应用程序体现了问题的多样化,例如,程序需符合高效性并满足用户的体验需求。游戏则将这一点体现得淋漓尽致:场景世界的快速更新(此处,实时二字实至名归)、玩家的反馈处理以及显示设备的连续、无闪烁效果。除此之外,游戏场景世界还应忠实地还原设计者的初衷且不会令玩家产生无所适从的感觉。但最为重要的一点是,游戏应体现出应有的娱乐性。
游戏系统
在实时应用程序的设计以及实现过程中,针对上述较为棘手的问题,最为有效的解决方案是将问题划分为多个组成模块,每个组成模块应包含适宜的可控粒度。在视频游戏中,上述组成模块常称为游戏系统,并操控当前应用程序的不同功能,亦即游戏引擎。较为典型的游戏引擎包含下列内容:
资源管理(内存使用、游戏状态的存储与恢复、模型管理、动画管理、纹理管理、关卡数据加载等)。
玩家控制(如将控制器硬件数据转换为游戏命令)。
物理模拟(作用于游戏对象之上的物理力学及其效果的数学表达方式,如对象的碰撞以及 分解)。
游戏对象逻辑(该处理过程定义了游戏的博弈机制)。
图形用户界面(玩家获取游戏信息的视觉界面)。
相机和视口管理(控制游戏场景世界中视觉画面的生成)。
网络接口(例如,与外部实体间的通信,其中包括游戏或硬件设备、匹配服务等)。
人工智能(该机制定义了游戏对象逻辑、自适应性以及针对游戏事件或玩家输入状态的预置或动态反馈)。
游戏事件管理(针对游戏元素中设计者所规定的操作序列进行管理)。
渲染系统(生成游戏场景视觉画面的可行方案)。
对象间的通信(常出现于事件管理以及游戏对象逻辑中)。
音频管理(音效处理过程,包括简单的音频回放以及空间定位功能)。
任务管理(分配相关任务至多处理器、线程管理等)。
其他内容。
某些系统则关注特定的功能,例如相机系统、玩家控制系统以及脚本系统,这一类系统的交互方式以及整合方式多种多样并可加深玩家对游戏的体验。渲染系统与相机系统紧密相关,但本书并不打算对其进行过多的介绍,具体内容可参考[Foley90]和[Akenine-M?ller02]。[Eberly04]则对游戏体系结构进行了深入分析。
技术要点
针对相机系统的实现方案,读者可参考第11章以获取更为详细的内容,此处仅对其进行简要的描述。上述游戏系统均包含各自的实现方案,有时称之为管理器。游戏系统的实现方式之一便是采用继承结构,其中,顶层游戏管理器或系统管理器起到全局调用的功效。同时,该管理器通常包含某一循环更新结构,并作为其他管理器的中心访问点。除此之外,该管理器还将记录更新之间所流逝的时间值,并在必要时将该值提供于其他管理器。各管理器将根据游戏的特定功能加以组织和实现,相机管理器便是其中一例。相机管理器可视为相机系统在游戏中的实现方案,并提供了相关接口以供其他游戏系统获取与当前相机有关的有效信息、渲染器所需的基本信息等。各个管理器执行其各自逻辑,且在每次循环更新过程中针对游戏对象至少进行一次更新操作。图1.1显示了典型的游戏系统概览图以及系统间的通信关系。
图1.1 游戏系统管理器的概览图以及系统之间的通信关系
在讨论系统规范之前,首先依次介绍更新和显示实时游戏时所用到的相关解决方案。如果读者对此较为熟悉,可直接阅读“常见的性能问题”一节。
游戏的循环更新结构
视频游戏在操作过程中将会重复执行一系列的操作命令,相关动作将会划分为多个步骤。各个步骤中的行为将根据不同的游戏需求产生较大的变化(将各个步骤细分为更小的部分),但相关步骤的顺序通常保持不变(尽管有时会省略某些步骤)。这里,全部操作步骤序列称为循环更新结构。另外,根据硬件以及软件环境,循环更新结构中的相关步骤也会不尽相同。
此处,网络通信便是一例。针对于多玩家游戏,通过网络连接接收(或发送)玩家的输入或位置信息有时是十分必要的,这将在输入步骤之后(或之中)引入网络操作步骤;而某些游戏机硬件设备则需要在显示设备尚未更新时(即场消隐期)并在某一较小时间段内更新图形数据。另外,也可采用独立的步骤与上述操作同步执行。
在游戏的运行过程中,上述步骤的执行顺序可能会稍有不同。例如,当游戏暂停或显示相关菜单时(游戏正式开始之前的加载界面便是一例),一般不会执行对象的移动及其逻辑操作。
针对于全部可能性,存在多种对应的排列方式,图1.2显示了循环更
文档评论(0)