前 言
视频游戏行业在过去十年得到了爆炸性增长,并且现在是家庭娱乐的主要提供者。自从NES(Nintendo Entertainment System,任天堂娱乐系统)于1985年发布了北美版本以来,根据市场研究公司NDP Group的调查研究,游戏行业的收入得到了显著增长,其中2009年在美国的总收入中差不多达到了200亿美元。世界上其他地方的销售额与美国的销售额大体相当,因此,2009年游戏行业在全世界赚了大约400亿美元。甚至在经济衰退时期,游戏行业仍然保持着良好的财务状况。
游戏变得如此流行的原因有许多种,其中一个原因是:在许多不同的平台上都提供了它们,包括计算机、游戏控制台、手机、iPad和各种手持设备,特别是Sony PSP(PlayStation Portable)和Nintendo DS。多年来,随着平台技术的不断改进,游戏也变得更先进,可以利用它们几乎逼真的图形和3D音效来创建使玩家沉迷于其中的世界,这些效果使玩家感觉到他们确实来到了战场上,或者正在与一大群僵尸较量。
当然,游戏不是电影。它们之间的主要区别是:游戏允许玩家积极地参与游戏世界里的事件,而不是消极地袖手旁观事情的发生。游戏世界里的这种亲自参与的体验把游戏与传统的艺术和娱乐形式区分开,在游戏世界里,其中的实体似乎是独立行动的。游戏玩家将不会简单地观看英雄人物从一大群敌人当中穿过并且到达邪恶的反面角色的藏身地,而是可以选择武器、施展魔法或者使用非常高级的技术,甚至指挥军队向反面角色发起攻击。
当然,就像在其他的艺术和娱乐形式中一样,人们不得不创建环境和居住在游戏世界里的人物,把说辞强加给角色,以及定义事物将如何运转。艺术团队创建世界和实体。编程团队创建游戏引擎,用于协调使游戏出现在屏幕上以及处理世界物理学和敌方人工智能所涉及的所有过程。设计团队不仅要为游戏创建脚本,而且更重要的是,他们还有一项任务,即给游戏世界里的物体赋值,使得它们按照期望的方式交互。
在询问年轻人他们认为游戏设计师的角色是什么时,许多人回答说设计师只需提出游戏的故事情节,或许还要创建游戏中的对话。虽然故事情节和对话的确是游戏的主要成分,但它们不是设计师的唯一职责。设计师创建驱动游戏玩法的图表和表格(数据库)的能力同样重要——例如,武器造成的伤害、再装填弹药的速度有多快、它的承载重量、它可以容纳多少发子弹以及其他的信息。除非把这些值赋予物体,否则游戏世界里将没有任何事情发生。当玩家对着猛冲过来的敌人开枪射击时,游戏代码将定义如何在屏幕上绘制武器,在开火以及在射弹命中其目标时将会出现什么特殊的视觉和音频效果。但是除非赋予了一些值,指定射弹造成的损伤和目标的健康状况,否则当射弹横穿目标时任何事情都不会发生。设计师必须提出这些值,并且解释战斗是如何解决的以及这些值相互之间有什么影响。
在简单的动作、街机和益智游戏中,出现在游戏中的物品数量是有限的,并且可以相对容易地基于测试确定和修改数据。在计算机和视频游戏的早期时代,一个人可以同时担任游戏的程序员、艺术师、设计师和录音师,因为代码比较短小,并且图形和音频很有限。当然,这些游戏就内容而言相对过于简单,要么可以随意改变启动条件,要么依靠玩家对控制的精确掌控来赢得游戏。
随着时间的推移,当游戏平台变得更快、更强大时,中央处理器(Central Processing Unit,CPU)可以处理的信息量也与日俱增。图形变得更详细并且具有更大的调色板,音频资产扩展到包括音乐、音效和解说,并且AI和物理学允许游戏世界里的物体执行更逼真的移动和动作。一个人不再能够处理游戏所需的所有数据,从而需要开发团队的力量。编程团队不仅需要编写包含游戏引擎的许多代码模块,还要创建供其他团队使用的工具。引荐艺术师是为了创建游戏场地以及占据它们的生物和物体的2D和3D视觉效果。聘请音频方面的专家谱写音乐、创建音效和录制声音艺术。最后,还要聘请设计师提出游戏设计理念、用文档记录团队的思想,以及生成可以保持游戏制作流程顺利进行的图表、表格及其他信息。
对游戏开发来讲,设计师现在的角色与制作电影的导演一样重要。设计师通过在文档中描述多种游戏机制来定义游戏规则。项目团队然后实现这些机制,并且设计师持续测试和修改值以使得可以按团队构思的那样玩游戏。此外,设计师还要为故事建立情节元素(假定有一个故事),以及描述在游戏世界里出现的角色、位置和物品,以便艺术团队可以构建游戏场地和模型。在必要时,如果事物在游戏世界里没有像期望的那样表现,设计师就可能被迫重新考虑游戏机制,并且必须与项目团队和艺术团队一起制定必要的修改,然后执行它们。设计师具有对游戏的构想,就像导演具有对电影的构想一样,它要求设计师在漫长的制作周期中始终保持激情。
目前市面上有许多介绍游戏设计的图书,但是其中大多数图书谈论的都是制作周期以及设计师在这个周期的每个阶段中的责任,其他一些图书则着眼于故事构筑或关卡设计。还有一些图书详细说明了关于制作游戏的理论知识。几乎没有图书介绍游戏设计师应该如何着手构建驱动游戏玩法的图表和表格,本书填补了这个空白。本书逐一详细地探讨了大多数重要的游戏机制,并且解释了设计师为了查明每种机制将如何工作,以及必须创建什么资产以使之工作所必须经历的过程。 还有一些关于设计师必须知道的其他重要主题的讨论,比如,故事和对话结构、设计关卡和地图,以及确定界面看起来将是什么样子的。但本书主要关注的是游戏机制——它们是什么以及它们将如何工作。作为一个额外的特点,本书的最后一章是对领袖级游戏设计师之一(即Gas Powered Game的Chris Taylor)所做的一次深度采访,他分享了在这个行业中的经验,并且对设计和构建游戏的过程给出了自己的见解。
本书致力于为几乎没有技术经验而又非常热爱游戏的新手提供实用指导。读者无需学习地图编辑器或层次编辑器,也不用费力地通读复杂的代码示例。除了铅笔和纸张之外,机敏的读者应该无需借助任何工具即可创建游戏机制的纸质原型。可以把本书视作任何有兴趣学习设计复杂视频游戏(或棋盘游戏)的人所要阅读的首本著作。
术语数据驱动(datadriven)适用于本书中讨论的各类游戏,因为数据库中包括的所有数字和值都用于决定游戏动作。不过,数据驱动的游戏架构(datadriven game architecture)具有不同的含义,它涉及用于图形、AI、音频等的多个代码模块如何在游戏引擎中协同工作。为了防止任何混淆,本书中没有使用术语数据驱动。
目 录
第一部分简介
第1章制作游戏
1 1游戏玩法和游戏数据
1 2设计师和开发流程
1 3设计师在游戏开发中的角色
1 4小结
1 5练习
第2章游戏玩法和游戏机制
2 1游戏玩法和“趣味因素”
2 2给游戏玩法分配百分比
2 3游戏题材的玩法元素
2 4游戏玩法不包括什么
2 5游戏玩法的机制
2 6模拟现实
2 7校正系数
2 8小结
2 9练习
第3章游戏中的数学和逻辑学
3 1概率和统计
3 2游戏中的随机选择
3 3百分比
3 4视频游戏中的百分比
3 5使数学知识保持简单
3 6通过算法定义玩法
3 7逻辑和脚本语言
3 8小结
3 9练习
第二部分游戏机制揭秘
第4章关于运动
4 1比例
4 2图形界面的要求
4 3军事比例
4 3 1战术(小型战斗)比例
4 3 2军事行动比例
4 3 3战略(大战略)比例
4 4管制战争游戏中的运动
4 4 1六边形地图
4 4 2样条线和导航点
4 4 3控制区域
4 5运动的游戏统计
4 6地形特征
4 7战略移动地图(世界地图)
4 8移动速率
4 8 1呈现移动路径
4 8 2勾勒出移动
4 9移动算法
4 10随机遭遇战
4 11地图上的物品
4 12小结
4 13练习
第5章关于战斗
5 1石头、剪刀、布
5 2回合制战斗与实时战斗
5 3战斗属性(统计)
5 4角色扮演游戏中的战斗
5 4 1在RPG战斗期间可用的动作
5 4 2RPG中的战斗属性
5 5RPG战斗算法
5 5 1确定攻击的指令
5 5 2确定攻击值
5 5 3确定防御值
5 5 4战斗算法的示例
5 6战斗表格
5 7关键击中表格
5 8魔法/技术战斗
5 9逃避战斗
5 10战争游戏中的战斗
5 11战争游戏中的属性
5 12回合制战争游戏中的战斗
5 13战争游戏中的玩法序列
5 14实时战略游戏中的战斗
5 15战争游戏的AI设计
5 16小结
5 17练习
第6章关于角色和怪物
6 1创建玩家角色
6 1 1基本的RPG角色属性
6 1 2RPG种族
6 1 3RPG阶层
6 1 4RPG技能
6 1 5额外的角色信息
6 1 6初始装备
6 1 7初始技能和魔咒
6 1 8身体外貌
6 2经验点和升级
6 2 1属性增加
6 2 2增强的魔法和技能
6 2 3故事发展
6 2 4经验级别算法
6 2 5设定经验级别的上限
6 3创建怪物、反面角色和盟友
6 3 1实体类型
6 3 2实体属性
6 3 3实体属性(怪物)图表
6 3 4实体战斗动作选择
6 3 5逃跑
6 4财宝表格
6 5体育游戏角色
6 6小结
6 7练习
第7章关于物品
7 1物品类别
7 1 1健康状况和超自然力量
7 1 2个人和环境修饰符
7 1 3武器
7 1 4盔甲
7 1 5弹药
7 1 6资源
7 1 7任务物品
7 1 8谜题物体
7 1 9体育器材
7 2物品的游戏功能
7 3物品图表
7 4设计武器
7 5物品类型:近身武器
7 5 1刀
7 5 2剑
7 5 3棍棒、斧头和其他近身武器
7 5 4扩展的近身武器
7 6物品类型:远程武器
7 6 1投掷武器(非爆炸型)
7 6 2投掷武器(爆炸型)
7 6 3射弹武器(非火药型)
7 6 4射弹武器(火药型)
7 6 5射弹武器(炸弹型)
7 6 6其他便携式武器
7 7物品类型:异种武器
7 7 1激光枪
7 7 2不同寻常的射弹和动力源
7 7 3核武器
7 8物品类型:盔甲
7 8 1头部盔甲
7 8 2躯干盔甲
7 8 3四肢盔甲
7 8 4盾牌
7 9物品类型:药剂和卷轴
7 9 1健康药剂
7 9 2治疗药剂
7 9 3属性修饰符药剂
7 9 4卷轴
7 10物品类型:辅助装备
7 10 1珠宝
7 10 2助视器
7 10 3探测器
7 10 4信息持有者
7 10 5开锁工具和钥匙
7 11存货清单
7 11 1被动的存货清单
7 11 2主动的存货清单
7 11 3存货清单界面屏幕
7 12存储存货清单
7 13资源
7 14金钱
7 15小结
7 16练习
第8章关于魔法和技术
8 1游戏中的魔法
8 1 1在游戏中限制魔法
8 1 2魔法的分类
8 1 3魔法的“流派”
8 1 4魔咒的属性
8 1 5修饰咒语的作用
8 1 6咒语的命名约定
8 1 7给角色和敌人分配魔咒
8 2游戏中的技术
8 2 1科幻与空想之间的挣扎
8 2 2科幻与虚幻中的战斗的比较
8 3技术树
8 3 1创建技术树
8 3 2新发现的物品的功能和资源
8 3 3创建技术树的示例
8 4小结
8 5练习
第9章关于游戏中的谜题
9 1谜题的元素
9 2谜题的类别
9 2 1文字游戏
9 2 2图像游戏
9 2 3逻辑游戏
9 2 4记忆游戏
9 2 5机敏游戏
9 2 6结合多个类别的游戏
9 3益智游戏中的随机化
9 4设计出现在游戏中的谜题
9 5将任务作为谜题
9 6冒险游戏
9 6 1冒险游戏中的谜题
9 6 2更改挑战
9 7小结
9 8练习
第三部分实 现 设 计
第10章在游戏中讲故事
10 1游戏中的故事
10 1 1游戏中的故事的优点
10 1 2游戏中的故事的缺点
10 2游戏故事的问题
10 2 1虚弱的角色
10 2 2太多的信息
10 3在游戏中组织故事
10 3 1任务结构
10 3 2“之”字形的结构
10 3 3使命结构
10 3 4英雄的旅程结构
10 3 5开放的世界结构
10 4把情节链接到游戏玩法
10 5创建游戏故事
10 5 1纸面设计工具
10 5 2使用“章”组织故事结构
10 5 3测试故事的内聚性
10 6游戏中的对话
10 6 1编写对话的脚本
10 6 2减少对话选项
10 6 3选通
10 6 4绘制NPC对话的流程图
10 7小结
10 8练习
第11章设计游戏场地
11 12D地图
11 23D层次
11 3设计游戏场地
11 3 1多条通道
11 3 2把物体放在游戏场地中
11 4脚本语言和游戏场地设计
11 5游戏场地设计中的视点
11 6游戏场地设计中的问题
11 7在构建前规划
11 7 12D地图原型
11 7 23D层次原型
11 8小结
11 9练习
第12章界面设计
12 1图形用户界面
12 1 1游戏中的界面屏幕
12 1 2外壳界面屏幕
12 2设计GUI
12 2 1用于信息的屏幕位置
12 2 2信息表示
12 2 3菜单
12 3游戏控制
12 3 1定义控制交互性
12 3 2非传统的游戏控制
12 3 3游戏控制的问题
12 4反馈
12 5小结
12 6练习
附录AChris Taylor的采访
本书涉及游戏的版权声明