计算机游戏复习要点
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
第一章、第二章
理解:什么是游戏?游戏的本质,游戏的特点,游戏循环,游戏的基本流程
1、游戏:就是按照一定规则进行的由人主动参与有明确目标以娱乐为目的的交互式行为”
2、游戏的本质:本身具有特定行为模式、规则条件、身心娱乐和 输赢胜负的一种行为表示
3、游戏的两个最基本的特性:
(1)以直接获得快感(包括生理和心理的愉悦)为主要目的。
(2)主体参与互动 交互性、娱乐性、规则性、平衡性、自发性 4、游戏循环 (1)初始化 (2)进入游戏循环 (3)查询用户输入状态 (4)执行游戏逻辑和AI 判断 (5)绘制图像 (6)循环 (7)退出 5、游戏的基本流程
从软件设计的角度来看,游戏的基本流程只是一个连续的循环,它不断地按照某种逻辑来绘制新的图像,并播放音乐
从系统实现的角度来看,游戏就是一个不断按照某种逻辑更新各种数据(画面、声音等)的过程
初始化
主菜单
载入 保存 Play
画面更新:
∙ 背景动画 ∙ 音乐,声效
输出到buffer
退出/循环
键盘 鼠标 游戏杆
执行Game play 逻辑
游戏逻辑:
∙ AI
∙ 碰撞检测
∙ 运动
获得用户输入
1.内存分配 2.构建表格 3.载入文件
绘制到屏幕
内存
显示器
同步至大约以每秒30帧
否
是
主循环
6、主循环在游戏里干嘛:它不断地按照某种逻辑来绘制新的图像,并播放音乐
第三章游戏发展(了解:游戏平台发展史,游戏发展史,三维游戏重要人物)
1、世界上第一个电子游戏程序:麻省理工学院的格拉茨、拉塞尔等的《太空大战》
2、电子游戏的始祖--Atari(雅达利)。
3、游戏平台发展史
(1)硬件:专有游戏设备
街机(Arcade):电脑空间
家用机(Console):“Pong”,成为Atari的第一个家庭电视游戏产品
手掌机(Handheld):GB,为Game Boy的缩写,它是任天堂8位掌上型游戏机
电脑(Personal Computer):苹果公司制作的第一种普及的微电脑:Apple II
手机(Mobile Phone)
(2)软件:著名的电子游戏:《太空大战》
4、游戏发展史:
计算机游戏的历史最早可追溯到,1961年运行于PDP-1上的“太空大战”,1978年TRS-80上的冒险岛(最早的PC游戏)
5、约翰·卡马克,开发了世界上第一款3D射击游戏并以此开启了3D游戏时代
第四章游戏分类
掌握:计算机游戏的流派和类型、计算机游戏的分类要素
了解:几种常见的游戏类型:RPG、FPS、实时策略游戏、回合制策略游戏、动作游戏等1、流派类型(面向开发人员):
(1)角色扮演类:RPG;
(2)动作类游戏ACT;
1)第一视角射击游戏:FPS
2)格斗游戏(Fighting Game)FTG
(3)回合制策略游戏TBS;
(4)实时策略游戏RTS;
(5)模拟游戏SLG(日式)或者SIM(美式);
(6)冒险游戏A VG;
(7)体育类游戏SPT;
(8)赛车游戏RAC;
(9)益智类
2、分类要素:主题、故事情节、视觉风格和游戏机制*
3、几种常见的游戏类型:
(1)角色扮演类RPG:游戏中,一般是以某一名人物作为主人公,以这名人物的生平为主线,所有故事都围绕这名主角展开,有相当明确的游戏主线索和非常充实的故事内容。
特点:RPG游戏最主要就是在强调人物的特性描写与它的背景故事表现,以达到角色扮演的目的。
(2)第一视角射击游戏FPS:融合了迷宫游戏和动作游戏的特点后,引入第一视角和三维图形,使得游戏的表现力得到了极大的提高。
(3)回合制策略游戏TBS :早期计算机的计算能力无法在游戏中实现真正的实时对抗,于是回合制策略游戏就作为一种妥协方案被推出。
(4)动作类游戏(Action Game)ACT:乐趣就在于玩家通过不断的训练达到某种技巧上的娴熟,并培养出一定的条件反射。
第五章二维图像游戏基础
掌握:四种二维地图的基本思想、镂空图技术、精灵动画的算法步骤
理解:颜色混合与半透明原理、二维的碰撞检测(三种方法能区别开)
1、二维地图的基本思想:*
(1)固定地图:使用固定的背景作为地图,并将屏幕切割成棋盘状的一系列小块。
应用程序在内存中保持一个二维数组,保存每个小块对应的编号。
绘制时根据数组所提供的信息,在每个小块中画上正确的图块,即可拼接成所需要的地图。
(2)滚屏地图:滚屏地图是固定地图的进一步扩展,可以显示远大于固定地图的图像。
每屏只显示部分图像,当游戏中人物角色行进时,根据玩家所在位置,确定显示的地图部分。
(3)多层次地图:在滚屏地图的基础上设置多个层次的地图可。
再把地图数组改为三维地图。
(4)菱形地图:在二维画面上表现三维场景的技术
2、镂空图技术:
(1)镂空图技术在算法实现上就是将源图像的一部分(可以是不规则图形)贴到背景上,忽略源图像上的其他部分,其表现出来的视觉效果就像把源图像挖去一部分,然后贴在背景图上。
(2)实现步骤:首先将掩码图和背景图案按位与,将原始图像的主体对应位置挖空然后将原始图像和上一步处理结果按位或,则原始图像的主体部分贴到背景上并遮盖背景,其余部分(掩码图中白色对应的部分)没有贴到背景上。
3、精灵动画:
(1)定义:采用连续贴图的方式来产生动画,即精灵动画
(2)算法:
1)键盘处理部分(在OnKeyDown)
step=4; //角色的步长
switch( nChar ){
case VK_UP: //分别处理四个方向
posy-=step; break;
case VK_RIGHT:
posx+=step; break;
case VK_DOWN:
posy+=step; break;
case VK_LEFT:
posx-=step; break; }
2)精灵的绘制部分
BitBlt(hcdMem,0,0,WindowWidth,WindowHeight,hdcBack,0,0, SRCCOPY); //背景BitBlt(hcdMem,posx,posy,TankWidth,TankHeight,hdcTank,MaskPosX+Col*TankWidth,Row*Ta nkHeight, SRCAND); //按位与
BitBlt(hcdMem,posx,posy,TankWidth,TankHeight,hdcTank,Col*TankWidth,Row*TankHeight, SRCPAINT); //按位或
BitBlt(hdc,0,0,WindowWidth,WindowHeight,hdcMem,0,0,SRCCOPY);//把内存DC内容复制到窗口DC上
4、碰撞检测(理解大概是什么)
(1)区域检测:被检测物体置于某种规则形状之中进行判断
(2)碰撞点检测:在两个运动物体中的一个物体上设置碰撞点,在另一个物体上设置检测区域,运行时逐个判断碰撞点是否在检测区域中
(3)颜色检测:较为精确但也相对耗时
第六章三维数学和变换
理解:三种变换矩阵、图形流水线中的坐标轴系统、
1、变换矩阵
(1)平移:
利用平移矩阵,将点V=(x,y,z)T平移至V’=(x+Tx,y+Ty,z+Tz)T处,表示为V’=V+T (2)缩放:
将点V=(x,y,z)T缩放(d1,d2,d3)倍
(3)旋转:
X轴逆时针:y轴逆时针:z轴逆时针:
2、图形流水线中的坐标轴系统
(1)物体坐标系:选取物体上或靠近物体的某一点作为原点,物体上的其他点相对于该点的坐标进行表示
(2)世界坐标系:全局坐标系,所有物体组成一个场景,场景坐标系称为世界坐标系(3)照相机坐标系统:照相机坐标系统决定照相机参数和可见域
第七章游戏引擎概述
理解:游戏引擎的概念、游戏引擎的常见功能
1、游戏引擎实际是一个面向游戏开发的通用内核,是把游戏中的最常见、最核心的功能进行集成,形成通用的框架平台(游戏开发平台和集成环境)
2、常见功能:
光影效果、动画生成、物理模拟、渲染(Render)、交互控制
第八章计算机动画
理解:人物动画中骨架的作用、动作获取的三种主要方式
了解:前向动力学、逆向动力学的区别
1、人物动画中骨架的作用:
(1)方便运动的指定
(2)模型和运动都可以重用
2、动作获取的三种主要方式:
(1)关键帧:指定每一关键时刻的物体的运动位置和方向
(2)动态(过程)模拟(物理建模) :根据物理规律和指定的目标,使用算法或者过程来模拟产生运动或者动作序列
(3)基于动作捕捉设备:将表演者的现场表演的运动数据实时纪录下来,并映射到计算机的动画人物中
3、前向动力学、逆向动力学的区别(理解即可) (1)前向: (2)逆向:
A 为效应的距离(end effector space x ),αβ为距离关节的角度(joint space θ)。
第九章 场景管理1和2(重点章)
掌握:层次细节技术、室内场景的可见性判断(Cell-to-cell 等三种)、BSP 场景管理、基于BSP 树的场景绘制
理解:景物包围体和场景剖分技术比较、可见性判断中的平衡(速度和准确性) 1、层次细节(LOD)技术(几何优化):
经典的简化算法:顶点删除,边删除,面删除。
2、室内场景的可见性判断(速度越来越慢,准确性越来越高) (1)Cell-to-Cell 可见性
告知在一个cell 中的某点处是否可以看到其他的房间。
但是无法知道每个房间的那个部分可能是可见的,也无法知道观察者在这个房间的哪个地方可以见到另外的房间 (2)Cell-to-Region 可见性
可以知道某点处,其他房间的哪些部分是可见的。
Cell-To-Object: 对于某给定的房间,告知哪些物体是可见的。
(3)Eye-To-Region 可见性
记录当前视点处的哪些房间的哪些部分是可见的
3、PVS ,可能可见集: 对于某个特定的房间,可能可以看到的房间/区域/物体/多边形 (1)Cell-to-cell 的pvs :
IPVS 包括:B, C, E, F, H, J
(2)Cell-To-Region 可见性:
I J
H
G
A
C
B E
F D
(3)Eye-to-Region:
3、BSP场景管理
(1)BSP树的数据结构:二叉树
(2)BSP树的要求:“平衡性”等,基本同“二叉树”
(3)BSP树的生成方法
1)轴向对齐的划分:所有的划分平面平行于某一坐标轴
2)任意平面的划分:确定任意平面:每次分割的物体(多边形)数目基本相当;最少的物体剖切
3)基于场景多面形的划分:每次从场景中选出一个多边形,然后将该多边形所在的平面作为划分平面,然后检查场景中其他多边形
(4)BSP树的生成算法
1)找出一个划分平面
2)从场景中创建出两个列表:分别在划分平面的前边和后边的场景物体;
3)递归地处理前边的场景物体;
4)递归地处理后边的场景物体;
4、BSP场景绘制:
(1)用线性搜索方法,精确得到绘制的先后顺序;在生成BSP树后,(生成BSP树与视点无关,只与分割平面有关)进行如下绘制:
(2)绘制实例:
1)从对象2开始,视点在其背面;(2、4作为分割平面)
2)对象1没有子节点,绘制该对象,并绘制对象2;
3)遍历对象2的左子树,视点在对象4的正面
4)绘制对象3,然后绘制对象(3在4的前面先绘制3)
5)绘制对象5
即绘制顺序为:12345
5、景物包围体和场景剖分技术比较
(加速判断场景物体之间的空间关系,主要有两种方法:景物包围体和场景剖分) (1)对单个物体建立包围体,在包围体的基础上建立包围盒层次树 1)常用包围体技术:
(1)包围球(2)AABB 包围盒(3)OBB 包围盒(4)平行六面包围体(5)k 对平行面包围体
(2)场景剖分:
1)将场景中的几何物体通过层次性机制组织起来。
2)优点:使用灵活,能快速剔除层次树的整个分枝 3)常见技术:BSP ,四叉树,八叉树 (3)景物包围体和场景剖分技术比较
第九章 场景视觉效果之光照
理解:光照的基本原理、光照明模型,主要是理解其中影响光照效果的因素 1、光照模型中,哪些变量有影响: (1)视平面的位置和朝向 (2)光源
1)位置 2)属性
场景包围体技术场景剖分技术表 示 方 式层次物体表示层次空间表示剖 分 方 式物体剖分场景剖分聚 类 方 式
物体的层次聚类
空间的层次聚类
层 次 细 节物体层次细节空间层次细节
主 要 作 用围绕物体将空间区域区分开来围绕区域将物体区分开来
代 表 方 法包围球树OBB-树、AABB 树、k -DOPS 二叉树、四叉树、八叉树、均匀三维网格、k D 树
(3)场景物体
1)相对于光源的位置
2)相对于其他物体的位置
3)材质属性:不透明、半透明、明亮、昏暗、有纹理模式、
4)拓扑和几何(表面法向)
第九章场景视觉效果之纹理
理解:纹理映射的概念、纹理坐标、理解几种常见纹理效果(比如凹凸纹理映射、环境纹理映射、光照映射等)的概念和原理
了解:混合式图像和几何绘制的优点
1、纹理映射:是一种允许我们为三角形赋予图象数据的技术;这让我们能够更细腻更真实地表现我们的场景。
2、纹理坐标:基于参数化的纹理坐标:(理解即可)
3、凹凸纹理映射:凹凸纹理映射(Bump Mapping)技术用来模拟粗糙物体表面凹凸不平的细节,如橘子,草莓,树皮等,并不改变物体几何,只是通过扰动法向达到效果
4、环境纹理映射:环境映射有效模拟场景的反射现象的加速技术,以景物的中心为固定的视点来观察整个场景。
将周围场景的二维图像记录在以该点为中心的简单几何物体(如球面,立方体和柱面)上,以全景图像的方式提供了其中心视点处的场景描述.
5、光照映射:预计算光亮度,做为光照图,直接记录在场景顶点上。
光照图只调节基纹理图的亮度
6、混合式图像和几何绘制的优点
(1)利用图像快速模拟出物体的表面细节和外观,从而比纯几何绘制更高效。
(2)利用简化的几何方式模拟不同视点下的物体形状,从而避免纯图像方法的大数据量。
第九章地形绘制
理解:地形建模和绘制的大体过程、高度图
1、地形建模和绘制的大体过程
(1)从一幅BMP图像开始,从高度图中建立网格(mesh);
(2)对网格进行变形和三角化
(3)建立它的lightmap:计算其各个定点的法向;
(4)通过多次的纹理映射技术生成最后的绘制效果
2、高度图*
(上左)地形的基础三角网格;(上右)高度图;
(下左)应用高度图后的地形网格;(下右)渲染后的地形图
第十章碰撞检测
理解:五种基本包围盒特点、选择包围盒的四条原则、分离轴定理及其在碰撞检测中的应用了解:包围盒层次树在碰撞检测中的应用(结合课件中的例子了解一下即可)
1、五种基本包围盒的特点
(a) 包围球(b) AABB包围盒(c)OBB包围盒(d) 6-dop包围体(e)凸包包围体(1)包围球:
1)旋转不变
2)计算速度快
3)储存圆心和半径
①圆心:质量目标的中心
②半径:最远点到质心的距离
4)往往保卫包围的不是很紧
(2)AABB包围盒:
1)计算的很快
2)储存最大、最小的XYZ轴
3)适度从紧
4)旋转后必须更新
(3)OBB包围盒(面向对象存储的最佳拟合长方体)
1)存储:中心、正交的轴线、延每个轴的扩展
2)紧密包围,但是初始需要较长时间
3)围绕对象进行旋转,只需要更新旋转轴
4)计算速度比AABB慢
2、选择包围盒的四条原则
(1)Tighter fitting is better 更紧凑的拟合
(2)Simpler shape is better 更简单的形状
(3)Rotation Invariant is better 旋转不变更好
(4)Convex is usually better 凸面的一般更好
3、分离轴定理及其在碰撞检测中的应用(怎么找垂直于边的:各面法线对其轴)
两个凸的形状不重叠,当且仅当存在一个轴,两个形状的投影不重叠
(1)二维:检查各面法线对齐轴(最后一个分离轴)
(2)3D:检查轴对齐的每个面的法线和交叉每对边缘产品
4、包围盒层次树在碰撞检测中的应用:
第十一章游戏特效
了解:粒子系统、公告板技术
1、粒子系统
(1)粒子系统表示三维计算机图形学中模拟一些特定的模糊现象的技术,而这些现象用其它传统的渲染技术难以实现的真实感的game physics。
(2)基本思路是某些自然现象可以通过描述一大群单个粒子的运动和绘制来加以模拟(3)实现方法:粒子建模,赋予每个粒子一定的随机性,控制运动轨迹、形状、颜色。
2、公告板技术
(1)Billboard其实一个非常极端的LOD简化方法,将所有的几何简化为一个或者多个带纹理的多边形。
可以看做一种基于图像的绘制方法
(2)Billboard由单个带纹理映射的多边形表示。
(3)排列Billboards的方式:
1)对billboard分配一个up方向, 并且使得它总是与观察者的up方向平行
2)将billboard绕一个中心轴旋转,使得它总是面对观察者
如图:
第十三章人工智能
理解:图灵测试、游戏人工智能的特点
了解:几种简单的游戏人工智能技术(跟踪/追赶,A*启发搜索算法)
思考:什么样的人工智能是好的游戏人工智能?
1、图灵测试方法:
一个提问者通过打字机/键盘从远处提问
计算机和人根据提问独立回答问题.
提问者根据对方的回答确定对方是人还是计算机.如果在提出了足够多的问题(5分钟)后提问者仍然无法确定对方是人还是计算机(30%的概率),那么就可以人为计算机具有人的智能. 2、游戏人工智能的特点
(1)技术实现
1)利用充分的领域知识和常识:客观世界的运动规律(game physics)
2)利用已有的AI技术
(2)融合娱乐性
3、几种简单的游戏人工智能技术
(1)确定型
基于领域固定领域知识,模拟简单的固定行为
(2)行为型
基于行为模式来模拟智能行为
(3)战术型
1)策略模拟
2)RTS(real time strategy)
4、什么样的人工智能是好的游戏人工智能?
(1)用户觉得游戏角色挺聪明的
(2)感觉到游戏角色的确随着经历而在成长
(3)一层层的揭开面纱,直到最后才恍然大悟
(4)是否技术越先进越好呢?
(5)是否人工智能水平越高越好呢?
第十四章网络
理解:游戏的网络架构
思考:网络在游戏中的地位和作用如何?
1、游戏的网络架构
(1)Peer to Peer /floating server:在多个玩家参与的游戏中,其中一个玩家的机器既是客户端,又扮演服务器的角色。
通常由创建游戏局的玩家担任服务器(主机)。
(2)C-S结构:多人在线游戏,RPG。
成千上万人进行同一场游戏。
玩家和游戏等什么都管。
每个客户端仅和服务器连接,专用服务器,方便进行欺骗保护和安全性保护
2、网络在游戏中的地位和作用如何?(网络给游戏带来了什么*)
论述,答出自己观点即可
1)网络游戏区别与单机游戏而言的,是指玩家必须通过互联网连接来进行多人游戏。
一般指由多名玩家通过计算机网络在虚拟的环境下按照一定的规则进行操作以达到娱乐和互动目的的游戏产品。
2)冲破地域的限制,参与者可以自由地变换自己的身份与角色,提供了现实生活中不可能的行为选择。
3)按照游戏运营内容来分类可以分为:
①角色扮演类游戏:角色根据不同的游戏情节和统计数据(例如力量、灵敏度、智力、
魔法等)具有不同的能力,而这些属性会根据游戏规则在游戏情节中改变。
有些游戏的系统可以根据此而改进。
玩家需扮演游戏中的主角(可以不止一个人)在游戏。
例如魔兽世界
②对战平台游戏:让在互联网的游戏玩家轻松的通过Internet进行游戏例如浩方对战平台、QQ对战平台
③棋牌类休闲游戏:以轻薄短小的精致游戏类型为主,上手快,耗时少
④社交游戏:以网页类、移动类游戏为主,强调其中的社交元素
第十五章音效
理解:声音在游戏中的重要性
1、声音在游戏中的重要性
(1)可以根据声音收集我们周围物体的信息
(2)在游戏中,除了视觉以外,最重要的信息获取手段就是声音,
(3)甚至比视觉更为集中、有效
(4)通常可以指导视觉
第十六章
了解:游戏的制作过程、主要人员的职责(尤其是程序员和美工人员)
1、游戏的制作过程
2、主要人员的职责
(1)游戏设计师又称为游戏策划,是游戏制作中的核心。
在正式立项之后,游戏设计师先着手游戏的总体设计方案,设计游戏的各种细节。
这个方案将成为所有开发人员的基本要求和标准,同时也是整个游戏的发展方向。
(2)关卡设计师也是游戏设计师的一种,关卡设计师更侧重实际运行中的场景、关卡细节的设计等,工作内容更加具体。
(3)引擎程序员一般可分为底层引擎程序员和AI程序员两种。
其中的底层引擎程序员专门和数字打交道,他们负责完善和优化引擎,包括渲染、网络、输入、脚本等部分。
另外底层引擎程序员还要负责给各个部门提供引擎开发工具,比如说给AI程序员提供脚本语言,供他们编写AI程序;给关卡设计师提供编辑器,供他们实现游戏关卡的雏形等等。
(4)原画师会根据要求绘制出几个人物、场景、菜单的草图,然后连同文案一起,交给管理部门审核。
(5)2D美术设计师需负责绘制游戏所使用的贴图以及菜单、界面等图形系统,并在硬件机能的制约下工作。
另外,在2D美术设计师中可能会根据项目需要,又分作角色绘制、动画制作、界面绘制、特效制作等诸如此类的分工。
(6)3D美术设计师的职责就是将游戏中的场景和道具,以及原画师设计的角色制作成3D 形象,也就是专业术语“建模”。
所以3D美术设计师也称为“3D建模师”。
(7)动画师会根据游戏原画师给出的角色形象、基本动作以及2D美工或3D美工完成的人物模型,还有游戏设计师所需要的动作种类和效果等要求,由动画部的原画师先画出草图,再由动画制作人员进行加工处理。
考试题型说明
单项选择题10*2’填空题15*1’名词解释题5选4,3’12分简答题6选5,25分画图分析题2*8’,16’(BSP树)论述题12分。