游戏编程导论 Chapter-01_第1页
游戏编程导论 Chapter-01_第2页
游戏编程导论 Chapter-01_第3页
游戏编程导论 Chapter-01_第4页
游戏编程导论 Chapter-01_第5页
已阅读5页,还剩22页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、第1章 游戏编程导论 内容提纲 1.1游戏设计概述 1.1.1 计算机游戏的概念 1.1.2 游戏基本构成要素 1.1.3 游戏类型 1.1.4 游戏设计常用术语1.2游戏制作基本流程 1.2.1 前期阶段 1.2.2 制作阶段 1.2.3 后期阶段1.3关于游戏引擎 1.3.1 游戏引擎的含义 1.3.2 游戏引擎的结构 1.3.3 关于游戏工具 1.3.4 著名游戏引擎简介1.4游戏编程语言1.5学习的先决条件 第1章 游戏编程导论 游戏和电影一样,是一种娱乐方式。电影通过故事情节、视觉特效、音响效果及背景音乐等元素吸引观众,娱乐元素以线性方式呈现,受众只能被动接受而无法参与其中。游戏除包

2、含这些娱乐元素外,还具有交互性,这是它与电影最大的不同,也是其魅力所在。那么游戏如何实现交互功能呢?当然是通过编程实现。随着游戏的发展,那些与游戏内容无关的游戏控制主程序渐渐被抽象化,并独立出来成为“游戏引擎”,而且功能越来越强大。利用游戏引擎制作游戏成为当前游戏界的标准方式。但对于游戏编程初学者而言,要具备引擎开发能力或读懂商业引擎代码,他起码要理解游戏引擎原理,了解游戏开发过程,并有过利用游戏引擎开发游戏程序的经历。 1.1 游戏设计概述 1.1.1 计算机游戏的概念 游戏是一个系统,玩家参与由规则定义的人工冲突,产生可量化的结果A game is a system in which pl

3、ayers engage in an artificial conflict, defined by rules, that results in a quantifiable outcome.简而言之,游戏就是有规则地玩,通常出于娱乐目的,有时也用作教育工具;计算机游戏的参与者往往被称为玩家(Player);那些非玩家控制的角色,也就是受计算机操控的角色,一般简称为NPC(Non-Player Character,非玩家角色);计算机游戏最独特的魅力在于它能够让玩家成为虚拟世界的一员。 1.1 游戏设计概述1.1.2 游戏基本构成要素 计算机游戏总结为六个构成要素:1. 规则(Rules)游

4、戏规则实际上是按照游戏逻辑设定的一系列限定条件,有时这些限定条件是保证游戏趣味性的重要组成部分。2. 目标与目的(Goals and Objectives)目标一般指付出某种努力期望得到的最终结果;而目的则是指在总目标范围内要达到的具体的子目标,它往往是与时间相关的具体任务。目标是导向性的,是努力的方向和最终想要达到的境地或标准。目的则是要达到的具体指标或者特定结果,是清晰、可测量的。1.1 游戏设计概述3. 结果和反馈(Outcomes and Feedback)不管什么类型的游戏都要对玩家的游戏活动给出必须的结果和及时的反馈。玩家通过这些结果和反馈了解游戏进程和他们在游戏中的成长或进步情况

5、。4. 冲突/竞争/挑战/对抗(Conflict / Competition / Challenge / Opposition)游戏的可玩性在于游戏中设计的竞争、挑战、冲突或对抗,它们在游戏设计中处于核心地位,也是游戏的灵魂所在。在不同的游戏中,竞争、挑战、冲突或对抗的表现是多种多样的,难题的破解障碍的逾越与敌人面对面的厮杀等等它们构成了不同类型游戏的具体内容。游戏冲突和对抗设计的合理性可以作为衡量游戏好坏的标准。1.1 游戏设计概述5. 交互(Interaction)游戏中的交互主要表现在两个方面:玩家与计算机的交互;当前玩家与其他游戏玩家的交互。在单机游戏中,玩家与计算机的对抗是游戏的主要

6、形式。对于多人在线游戏,玩家与计算机的交互以及玩家与玩家之间的交互同时存在。6. 表现或故事(Representation or Story)游戏的主题必须依托于一种表现形式。玩游戏就是从事游戏规定的某个具体的游戏活动,这个游戏活动可以很简单,也可以很复杂,可以一人参与,也可以多人同时参与。1.1 游戏设计概述1.1.3 游戏类型从人机交互模式的角度可以分为:单机游戏和网络游戏;从运行平台的角度可以分为:PC游戏、手机游戏、掌上游戏机游戏、街机游戏等等。最通用的分类方法:从游戏内容的性质可以将计算机游戏大致分为:1. 角色扮演游戏(Role-playing Game, RPG)2. 策略游戏(

7、 Strategy Games,SLG)根据决策的方式,可以分为即时战略游戏(Real-Time Strategy Game, RTS)、回合制战略游戏(Turn-based Strategy Game,TBS)以及塔防游戏(Tower Defend)。3. 动作游戏( Action Games,ACT )4. 格斗游戏( Fighting Games,FTG )5. 射击类游戏( Shooting Games,STG)1.1 游戏设计概述6. 冒险游戏( Adventure Games,AVG )7. 体育游戏( Sports Games,SPG )8. 竞速游戏( Racing Games

8、,RCG)9. 模拟游戏( Simulation Games,SIM )10. 桌面游戏( Table Game, TAB )11. 益智游戏( Puzzle Games,PZL)12. 音乐游戏(Music Game,MSC)实际上,也有不少混合类型的游戏,它们不能单纯纳入某个类型。1.1 游戏设计概述1.1.4游戏设计常用术语1. Boss2. NPC(Non Player Character,非玩者角色)3. AI(Artificial Intelligence,人工智能)4. 关卡(Level)5. 像素(Pixel)6. 解析度(Resolution)7. 帧(Frame)8. 帧率

9、(Frames Per Second,FPS)9. GUI(Graphical User Interface,图形用户界面)10. GDI(Graphic Device Interface,图形设备接口)11. OpenGL(Open Graphics Library,开放图形库)12. DirectX1.2 游戏制作基本流程 游戏的制作过程与一般软件产品的开发过程类似,同样遵循软件开发的一般规律。但游戏软件又有别于一般软件,它是集艺术、声音以及游戏性于一身的软件产品,有着自身特有的开发特点。一般软件开发常采用的瀑布开发模式在游戏开发中就不适用,游戏开发更多地采用敏捷软件开发(Agile So

10、ftware Development )模式它是以迭代和增量开发为基础的一套软件开发方法。 1.2 游戏制作基本流程大型商业游戏的开发团队由程序、策划、美术、测试、运营等各类人员组成。美术、程序、策划、测试人员是整个游戏开发团队中的四大主体人员,他们的配备比例大概是2 : 1 : 1 : 1。目前国内游戏开发团队中,美术设计和程序设计人员需求量最大。大型商业游戏从创意到最终的游戏软件产品一般要经历三个阶段:前期阶段、制作阶段以及后期阶段。 1.2 游戏制作基本流程典型游戏制作流程及阶段:1.2 游戏制作基本流程1.2.1 前期阶段前期阶段也称为设计阶段,它往往从创意开始,经过概念开发,形成初步

11、的游戏设计方案,最终构建初步的游戏原型。1.2.2 制作阶段该阶段是整个游戏制作的主要阶段,也是耗时最长的阶段。这个阶段需要按照设计方案完成整个游戏系统的细节设计,包括:全部游戏元素的设计(游戏主角设计、NPC设计、游戏中各种怪物的设计以及各元素属性的设定、游戏人工智能设计、游戏道具设计与属性设定等)游戏地图与场景设计任务设计与关卡设计游戏界面设计数值模型构建以及游戏规则设计游戏编辑工具制作游戏音效制作等。1.2 游戏制作基本流程1.2.3 后期阶段当游戏制作阶段接近尾声,也就意味着游戏测试工作要开始了。游戏测试一直伴随着游戏开发的全过程。游戏全部制作完毕后,要将游戏的全部组成部分集成在一起,

12、进行集成测试。后期进行的测试要确定每个实现的功能、游戏机制、属性数值等是否符合游戏设计的规格和要求多采用黑盒测试,也称为功能测试、数据驱动测试或基于规格说明的测试。后期的集成测试往往要花费较长的时间,同时也需要更多的人力才能完成。游戏测试包括两方面的测试:传统的软件测试和游戏本身的测试。传统软件测试:把游戏作为游戏软件这个角度来进行测试,也就是从软件工程的角度对游戏进行测试;游戏本身的测试,也称为游戏世界测试,有时其涉及面很广,例如游戏情节测试、游戏世界的平衡测试、游戏文化测试以及游戏可玩性测试等等。1.2 游戏制作基本流程游戏在正式发布之前,都要经过Alpha测试、Beta测试。Alpha

13、测试是游戏公司内部的用户在模拟实际操作环境下进行的受控测试,也称为内部测试。其目的主要是测试和完善各项功能,确认游戏是否存在重大Bug。一般来说,为了避免程序员的惯性思维,Alpha测试一般都不由程序员进行。Beta测试是游戏玩家在实际使用环境下进行的测试,也称为外部测试。Beta测试属于验收测试,即游戏通过了功能测试和系统测试之后,在游戏发布之前所进行的软件测试。以上只是游戏制作的一个大致流程,该流程与具体的游戏公司无关,是一种比较理想化的游戏开发过程。实际的游戏制作流程会由于具体游戏公司的规模、规范程度、游戏制作类型等不同而有较大差异。1.3 关于游戏引擎1.3.1 游戏引擎的含义“游戏引

14、擎”这个词目前还是一个概念宽泛的词,没有所谓权威、统一的定义。游戏引擎是一套为游戏开发而设计的系统,与具体游戏内容无关,由可重用的核心游戏功能组件组成。游戏引擎提供的核心功能组件一般包括:2D或3D图形渲染引擎物理引擎碰撞检测系统音效脚本引擎动画人工智能网络引擎场景管理等。1.3 关于游戏引擎完善的游戏引擎会为游戏开发者提供游戏运行和开发的程序框架以及易于使用的可视化集成开发环境。商业化游戏引擎会提供多操作系统的支持,如Linux、Mac OS X、Windows等。游戏引擎让游戏设计者可以简便、快速地制作出游戏程序,而不必从零开始编写代码。如今的商业游戏引擎,已经发展成一套由多个子系统共同构

15、成的复杂系统从建模、动画到光影、粒子特效,从物理系统、碰撞检测到文件管理、网络特性,还有专业的编辑工具和插件几乎涵盖了游戏开发过程中的所有重要环节。1.3 关于游戏引擎1.3.2 游戏引擎的结构游戏引擎提供的是每个游戏都能用到的功能;与具体游戏内容相关的东西都不会成为引擎的组成部分例如游戏故事、游戏逻辑、游戏资源以及为方便游戏制作而开发的游戏资源编辑工具等。游戏引擎只包含每个游戏或一类游戏都会用到的通用模块。一般地来说,功能比较完整的游戏引擎都会包含以下模块:渲染引擎(包括二维图像引擎和三维图像引擎)脚本系统动画系统物理系统碰撞检测系统声音系统人工智能系统网络系统场景管理系统等模块。1.3 关

16、于游戏引擎游戏引擎模块构成及相互关系 1.3 关于游戏引擎游戏引擎中必须包含的模块或称组件,并没有正式或统一的标准。除了核心功能外,游戏引擎还会提供运行游戏所必须的程序框架,例如游戏启动、游戏循环、游戏消息处理等。1.3 关于游戏引擎1.3.3 关于游戏工具游戏资源可以单独制作例如游戏图片可以使用Photoshop或其他图形处理软件制作,但是如果这些图片不按照游戏引擎约定的标准制作的话,游戏引擎将无法指挥这些图片。要在游戏内容与游戏引擎之间建立联系,就需要游戏工具来做这件事。常用游戏工具包括:关卡编辑器游戏地图编辑器网格模型导出程序路径规划程序等等。1.3 关于游戏引擎游戏工具的作用1.3 关

17、于游戏引擎1.3.4 著名游戏引擎简介 主流商业游戏引擎:1. CE引擎 2. Unreal Engine 3 3. Gamebryo引擎4. Frostbite Engine5. Source引擎6. Id Tech 3引擎7. X-Ray引擎8. EGO引擎9. IW引擎 10. MT Framework 1.4 游戏编程语言主流的编程语言有C、C+、Java、C#、VB.NET等,如果从纯语言的角度来看,它们都可以用来编写游戏程序。C或C+语言在游戏的核心编程方面有一定的优势。目前大多数大型商业游戏的主程序部分基本上都是使用C或C+编写的,有的甚至还部分地使用了汇编语言。大型商业游戏一般都基于网络,其服务端和

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论