当前位置:文档之家› 关卡理论

关卡理论

内容原名为:关卡理论

第一部分:概念

关卡设计?我相信各位读者看到这个词语的时候,都有一种迷惘的感觉。或许还会有些读者已经开始联想到“马里奥”、“索尼克”这样的经典游戏上去了(例如在什么地方摆放一个箱子,在另一处设计一个悬崖?)……确实,在大多数习惯了任务导向、多分支剧情、无缝连接大地图这些名词的现代PC和Console玩家的眼中,“关卡”早就是一个落伍的词汇了。不过,今天我要在这里讲述的“关卡设计”(level-designing),设计的并不是2D时代游戏的那种关卡。关卡设计师们(level-designer)在现代的3D游戏设计中的作用就是:决定具体的游戏环境、敌人数量与行动、地形与谜题等细节,并最终将完整的具体游戏表现呈现到玩家的面前……
啊,那位有问题?请说。什么?你认为这些应该是由策划(Planner)来做的事情吗?
呃……看起来需要专门解释一下。国内玩家耳熟能详的“游戏策划”,实际上并不是欧美系游戏公司的职位,而是日系游戏公司的职位。由于中文的“策划”听起来比“游戏设计”“关卡设计”这样的名词要顺耳,所以“策划”这个名词运用的范围比较广。但实际上,你几乎不可能在任何一款欧美游戏的Staff里面看到“Planner”这个职位。在如Half-Life2、《吸血鬼——避世血族》(Vampire:The Masquerade Bloodlines)这样的主流3D游戏里面,决定游戏最终是如何呈现在玩家面前的,主要是游戏设计(Game Design)、关卡设计(Level Design/Level Build)、美工(Art/Graphic)三个部门的任务。


什么?游戏制作流程不是应该由策划写好,然后美工准备好图像,最后进行程序整合吗? 啊,这种误解也是老黄历了。在过去10个人就能开发一个游戏的时代,确实常常是在程序处整合,很多时候,像Richard Garriott(编者注:《创世纪》与《网络创世纪》之父)这种奇才还能够身兼数职。但今天的主流商业引擎,如UnrealEditor、Source(Half-Life2)这样的引擎,其复杂度已经高到了大多非专业程序员很难搞懂的地步。要将如此一个引擎的底层搞通,并加入新的功能和图像表现,必须要有一组有丰富经验的程序员才行。因此,程序员或者美工都不可能兼管游戏性和游戏内容的部分;由于3D游戏的制作工作量很大,也不可能让游戏设计师们管理这一切。

在3D游戏制作中,设计部门就由此划分出了两种制作人员:负责游戏概念、大局、整体规划设计的游戏设计师(Game Design),他们有时候被包括在脚本撰写人(Scripting)里面;另外一部分,就是使用3D引擎具体搭建游戏内容的人,他们就是关卡设计师。
关卡

设计的工作,就是把一个虚幻的关卡梗概和游戏剧情化成具体的游戏内容。由于我是在UBI从事此类工作,下面的介绍就主要从欧美游戏的角度入手,一切例子和具体游戏也都取自近两年的一线欧美大作


本帖隐藏的内容需要回复才可以浏览
第二部分:内容




既然要谈关卡设计,在谈具体内容之前,先要把关卡设计的工作内容甄选出来。一个“将游戏具体化”的关卡设计师,都需要做些什么工作?哪些设计工作归属关卡设计,哪些设计工作归属游戏设计,哪些设计工作归属程序,哪些设计工作归属美工?让我们从头开始一点点划分。
首先是剧情、脚本和对话。如今,即便是Painkiller这样的纯粹杀戮游戏,也必须要有很长的剧情。一般而言,剧情、脚本和对话都是由专业的作家写好的——比如《细胞分裂》(Splinter Cell)全系列,基本上都是这样完成的;某些具体的特殊对话,比如训练关之类的,再由关卡设计师和游戏设计师一起讨论后进行调整。某些设计师经验比较丰富,游戏剧情和对话会由他们直接完成——例如像《吸血鬼暗夜潜藏——血脉》(VTM:Bloodlines)这样的游戏,Scripting组和高级制作人一起直接担负了Game Design的工作。还有些剧情根本无所谓,一切都以游戏内容表现为准拼凑剧情的游戏。这种游戏可能会在关卡内容决定之后再请人撰写脚本,比如上海UBI曾经制作的《幽灵行动2》PS2版(Ghost Recon2 PS2)。这一部分基本上和关卡设计关系不大,但关卡设计师拥有一定的权力,可以根据自己关卡的需要对具体对话和剧情描述进行调整。
然后,是游戏系统及其概念。通常,在游戏杂志上,最强调的就是这些东西:一个系列游戏的新作或者一款崭新的游戏要诞生了,它有什么值得注意的卖点,有什么新增加的系统和游戏要素这些最受瞩目的内容,就是游戏设计师们夜以继日工作的领地。游戏设计师们努力想出新的点子,然后探索它们的可行性,最后把这些点子变成新的游戏要素,添加成为引擎的独立模块。由于最后都要靠关卡设计师们把这些新要素具体添加进游戏中,这一部分在实现上和关卡设计关系很大。关卡设计的好坏,决定了新概念会成为真正的游戏要素,或仅仅是游戏的噱头。
接着来谈谈画面。画面基本上是美工的功劳——不过,关卡设计师们也有很大责任。由于关卡的“毛坯”都是关卡设计师完成的,在美工可以着手加工之前,基本的整体环境就已经固定下来了。如果基本设计全都是同等大小的房间和一样长度的走廊,美工也无法让画面变得更好。在这方面,关卡设计师有着不多但是很重要的一些

责任。至于要让美术要求和游戏性要求配合,则是所有关卡设计师和美工的噩梦……准备好一个好的关卡结构,是关卡设计师们最需费心的部分。
下面是AI。也许会有很多人要问,AI和关卡设计有什么关系?这些不都是程序员们写好的,像状态机一样的Default AI吗?我在这里可以明确地回答:在现阶段的技术条件下,AI是3D游戏的关卡设计中,关卡设计师最劳心劳力的部分。确实,程序员们写了许多默认的AI——但这些默认的AI是“完全与环境无关”的。默认的AI永远不知道在哪里应该巡逻,在哪里应该站立不动,在哪里应该播放动画——起码,在现阶段不可能知道。关卡设计师必须给AI安排合情合理的工作范围、移动方式,以及某些特殊的应急反应。倘若你在游戏中看到一些“出乎意料”的AI表现,不用怀疑,那都是关卡设计里面写死的特殊AI。一个关卡设计师的工作量,至少有1/3是放在AI上面的——某些特殊的游戏更甚。比如《细胞分裂2》,整个游戏里面到处都是写死的AI和反应……
最后是所谓的游戏性(Gameplay),这个几乎每个游戏站点评分里面都有的项目。游戏性是一个很宽泛的概念,我在这里也不想专门论述它——那一定会是件费力不讨好的事情。但有一点可以确定:游戏性和关卡设计息息相关。一个关卡设计出色的游戏未必能让每个人都觉得好玩,但一个关卡设计糟糕的游戏肯定会让每个人都觉得不好玩。一个3D游戏所有的可玩性,最终还是要着落到关卡设计上——甚至包括那些多人模式主打的游戏。为什么某些地图很多人玩,某些地图就没有什么人玩?那就是关卡设计的优劣高下之分。关卡设计就是这样一个部分:它看上去不重要,甚至可能有点像打杂的,但一个3D游戏离开了关卡设计就完全成了空中楼阁。它包括很多内容,但归根到底也就是两个大部分:关卡结构设计和关卡运行设计。这两者息息相关,构成了关卡设计师的全部工作内容。


第三部分:工具




关卡设计的工具是什么?是引擎。这个答案简单明了。每个熟悉3D游戏的玩家,都会把Unreal、Doom3、Source这样的引擎挂在嘴边。不过,引擎到底是什么?
我就以Unreal为例,解释一下引擎的构成与基本功能。
所谓的“Unreal引擎”,实际上指的是“Unreal Editor”这个编辑器。游戏公司花钱买引擎,实际上就是买这一套基本编辑器的使用权与修改权,同时享受引擎开发公司的技术支持。这个编辑器是一个集成的编程环境,可以理解为3D MAX的部分功能加上一个集成化的C编程环境——虽然看起来很复杂,但是只要掌握了用法就会觉得很方便。这个编辑

器也是程序组和设计组两组人马的区别所在,程序员们面对的是编辑器以下的底层工作,而设计师们要面对的则是在编辑器基础以上的设计工作。例如在我们UBI,程序员们基本上是与游戏内容无涉的。
和如今绝大多数的3D引擎一样,Unreal引擎的基本设计概念是基于BSP(Binary Space Partition,可以翻译作二进制空间区块)上面的。简单来说,一个BSP就是空间中的一个基本单位,例如一个立方体就是一个BSP。一个BSP可以是空心的,也可以是实心的;Unreal引擎的默认设定是整个空间都是实心的,然后用空心的BSP在实心空间中“挖”出可利用空间来。BSP的最大特点就是“简单”,为了绘图和计算方便,搭建BSP的时候都要使用尽可能简单的形状和结构。这是由于BSP本身全部都需要即时演算生成,如果结构复杂的话,有很多复杂相切的话,系统计算量会很大。
对于比较复杂的物件,比如场景、摆设、人物等等,就不能使用BSP即时演算了,需要预先做好3D物体与贴图,放在内存中再由引擎读入。这种物件我们称作Mesh。Mesh有两种:动态Mesh和静态Mesh。动态Mesh(Animation Mesh)要和动画搭配,一般都是用来表现人物角色,这个部分由动画组负责制作;静态Mesh(Static Mesh)就是那些没有必要做出动画的普通Mesh,一个游戏中绝大多数的摆设、物件都是这一类。Mesh按照种类分别在引擎中打好包,关卡设计师可以随时调用;如果关卡设计中需要什么特殊的物品,一般也会让美工打包加入其中。倘若是有特殊功能的物品,比如和主角或敌人有互动的Mesh,程序员还会给它们加上调用接口。但Mesh和BSP有一个相当大的不同:为了优化起见,一般Mesh都不会做碰撞计算(由于形状比较复杂的缘故)。如果是要做碰撞计算的物体,一般还要单独加上一层碰撞Mesh(Collsion Mesh)。碰撞Mesh基本上都比普通Mesh结构简单,而且不用贴图。
当然,有很多游戏需要野外场景,有些还需要大量的野外场景,比如“幽灵行动”系列。在这种情况下,引擎提供了功能强大的地形编辑功能(Terrain Editor)。和BSP不同,Terrain并不是方块,而可以完成比较复杂的地形结构,但相对地消耗资源也比较厉害。因为一个Terrain需要很多的贴图层和多边形来绘制,而且几乎总不能隐藏。所以,在大多数游戏中,你很难见到地形复杂的室外场景——至于背景远处的远景,一般都是用消隐面加上背景盒(Skybox)来完成。
编辑器中和关卡设计相关的另外一个重要功能是放置Actor。Unreal中所有的东西都被列属于Actor类之中,包括BSP和Mesh,但除去这两类之外还有很多其他的Actor,这些Actor往往和游戏内

容相关。例如,NPC的移动需要有路点或者引导Mesh;NPC的自动掩护和行动,需要有Coverspot、Actionspot之类的东西;NPC的AI需要有Script Actor;和玩家相关的重要位置,需要有判定点和目标点;游戏中的特殊音乐和音效,需要有声音Actor……在某些游戏(比如强调黑暗行进的分裂细胞)中,灯光也和关卡设计有很大关系。这些具体的内容要视游戏而定,但摆放的好坏却决定了一个关卡设计的优劣。关于摆放和AI,我会在下面专门谈到。

(ai设定在A区域巡逻,再去B区,在A区放置Actor)chaos
根据具体游戏的不同,引擎还有许多其它的功能,不过那都是细节问题。




第四部分:过程




一个具体的关卡设计,是怎样开始的?
首先,关卡设计师们要了解自己关卡的具体内容。根据游戏设计的风格与具体内容不同,关卡内容的决定方式也不同。以我们上海Ubi的游戏为例:《细胞分裂——明日潘多拉》的关卡都是脚本预先设定好的,关卡设计师得到的是基本剧情;《彩虹六号3》是移植项目,关卡设计师得到的是其他小组做出来的关卡毛坯;《幽灵行动2》PS2版是一个完全的原创项目,而且剧情并不非常重要,关卡就直接由设计师们讨论并设定得出,再交给脚本撰写人拼凑出剧情(^_^)。总之,在开始制作之前,都有一个不算太短的准备期。这期间内关卡设计师们就要准备各种素材,了解自己关卡的背景和概况,并考虑将其制作成实际游戏内容的效果和游戏性。
接着,就要做关卡毛坯(Moke up)和编写关卡文档的草稿。Moke up同样也是用引擎编辑器制作的地图,不过一切细节都从简,只做出必要的部分来,以便其他人理解这个关卡的具体经过和内容。一般而言,Moke up版本地图的复杂性根据制作时间而定。制作时间比较长的话,Moke up版本本身就可以当作一个简单的关卡进行游戏,只不过所有美工和细节一切欠奉;如果制作时间比较短,Moke up往往就只有简单的BSP、Terrain,然后辅助以一些示意标志和语言,总之方便其他人(尤其是和关卡设计师合作的美工,以及负责监管游戏内容的内容总监Content Director)理解便够了。关卡文档的草稿也是一样,主要就是包括这个关卡的概述、环境、特点、目标以及主要游戏性和游戏特点,并不会非常详细。如果这个Moke up有幸一次通过了所有上级领导的审查(啊,我觉得这完全就是天方夜谭……)那么根据它的完成度,可能便会被直接当作日后关卡的草稿,在此基础上加以加工;否则的话,关卡设计师便要悲惨地按照新的要求大动干戈或者索性推倒重来……
不管怎样,在Moke up通过了上级领导的审

查验收之后,关卡设计就正式进入了日程轨道。首先,关卡设计师要把关卡的设计与美工沟通,然后探讨在结构、美术效果、视觉效果上的优化可能性。由于优化是非常重要的一个部分,优化的内容必须从Moke up期间就开始考虑准备。和大多数人的印象不同,优化并不光是程序员的任务,关卡设计和美工们也在优化中担负着重要的责任。接着,关卡的制作就要全面开工了:今天给美工,明天给设计师,后天再给美工,然后各路领导不时检查,提出宝贵的重要修改意见,接着大家就加班……直到Alpha版阶段(当然,那个准备拿去给上司领导和各路媒体看的Demo关不算在内)。
当所有人都一致同意项目可以进入Alpha的时候,就说明项目已经有了一个整体的形态,不再是像Moke up时期那样有的关能打,有的关不能打……Alpha的时候,所有关基本上都可以从头打到尾——但很多细节还是有些问题:比如AI不够活跃啦,有些游戏要素还没有完成啦,某些地方游戏性还不尽如人意啦……从这里开始,工作一般就要忙碌了,大家也要开始抢关卡控制权了。除了美工、设计师,有时候音效音乐之类也会“乱入”,进度表随着时日向前飞行开始一团糟……所有的目标只有一个:Beta版。在Beta的时候,一切必须都到位,不能再用“这个东西还在工作中”之类的理由来推诿了。对于关卡设计师来说,Beta之前的日子是最难熬的,经常有些不错的点子因为时间和工作量的缘故不得不舍弃。Beta的时候,所有人都会如临大敌。所谓“毕其功于一役”,Beta的游戏必须是可以从头到尾打通然后交给测试部门去“荼毒”的。只要过了Beta,从此就天下太平、风调雨顺,剩下的也就不会有任何大修改,只需要专心对付Bug而已;如果没有通过Beta,那就悲惨了,需要不停的加班、加班、再加班……直到通过为止。最后,写个Beta文档,然后开始等待Bug的诞生,关卡设计的工作也就基本结束了——后面是关卡设计Bug的修正。由于Level-designing是个真正的体力活加技术活,会有数不清的Bug直接打到关卡设计师名下,然后关卡设计师再跑去找适当的人修正。到了Debug时期,就经常可以看到设计师们跑来跑去,口中呼喊着不明意义的Bug编号和症状……
最后,等到Bug数量到了可以容忍的地步,版本号就正式变成Master。所谓“可以容忍”,指的当然不是没有Bug,而是说被发现的Bug基本上都处理完了……当然,也不排除有些Bug根本就没有被发现,这就要看测试组的经验和敬业精神了。比如Torika公司的Tester(测试员)在这方面就很令人恼火,VTM:Bloodlines(吸血鬼——避世血族)居然有一个影响

到通关的大Crash Bug没有被测出来——如果没有这种Bug,这游戏的评价应该远比现在要高。到了这个阶段,美工就完全清闲了,关卡设计师和程序员倒是还有些事情要做,比如Debug一些重要的危险Bug。最后,将最终版本报给SNOY、微软(如果是游戏机游戏)或者母公司。通过后,所有人员就都去度假——接下来就该玩家们沉浸在构筑出来的虚拟世界之中了。




第五部分:结构与思想




所谓关卡设计,主要的工作就是两块:一块是设计结构,一块是设计关卡运行。前者就是BSP、Terrain、Mesh之类的东西,后者就是Pathnode、Script、AI之类的东西。一个好的关卡设计,这两者缺一不可。要决定一个关卡的结构,最重要的首先还是要求。不同的3D游戏,有不同的游戏性要求,也就有不同的关卡设计要求。举几个近期的游戏例子。
Half-Life2的关卡设计,重点要求“单线且自由”:Source引擎的Loading相当厉害,因此整个地图被划分成了一段、一段的无数小关卡,但关卡之间基本上来去自由。这种处理方法对设计的一体性要求相当高——游戏中甚至几乎没有大关的切换,Level Design和Content Director的互相沟通要求会很高。Half-Life2的设计上对优化考虑得也相当充分,即便是不大的场景也有数不清的明显拐角、转弯、用障碍物封堵的路口……考虑到极大量使用了Havok引擎的消耗,如果不这么做确实会产生明显的迟滞。关卡设计的谜题相当精妙——尤其是关于物理引擎的部分。
另外一个同样使用Source引擎的近期大作就是前面提到的VTM:Bloodlines。作为绝对的一线RPG大厂,Torika第一次使用3D引擎的作品,尚算给出了一份不错的答卷。有点令人可惜的是,由于缺乏FPS游戏的设计经验,在难度上Torika掌握得还不算太好,某些武器和敌人的难度安排明显失当。在关卡设计上最令人诟病的就是城镇——由于基于BSP的Source引擎在预Loading上先天的缺陷,即便是6800显卡在城市中间走动的时候,也能感觉到明显的Loading停滞。不过,具体到每个小关卡和房间,游戏的处理都相当出色,在进入室内和小场景之后几乎就无停滞感。作为美式RPG最大的特色“多路线”在关卡设计中表现得尤为出色,几乎每个关卡设计都能找到两三条以上的不同路线,场景里面的小玩意儿也相当多。个人最欣赏的就是闹鬼的旅店一处设计,Trigger触发器安排得又多又杂,几乎用上了所有老恐怖片的套路,确实很棒——如果他们的美工能够再出色一点就好了。游戏关卡结构上基本也都采用废墟的结构,可以尽情封堵住设计师所需要的道路。
虽说暴雪World of Warcraft(魔兽世界)的画面并不能算

是技术的顶尖,但他们的关卡结构设计思路确实值得一提。和Bloodlines不同,暴雪采取了完全的Pre-loading路线,将整个大地图融为一体,“除去副本之外就没有单独的Loading场景”,这种设计思想个人相当赞赏。为了达成这个目标,暴雪不惜降低游戏中建模的精度、贴图的精细度,以便减少Loading的数量。这种整块的大地图设计思想定然是将来关卡设计的发展方向之一——不过,类似任务制的关卡设计也不会消失。日后,关卡设计的整体化/分块化路线或许会成为3D RPG/FPS的根本区别之一。另外,为了满足卡通的风格,游戏中几乎完全没有使用BSP,几乎全部都是用Terrain和墙隔开的……说实话,工作量真是大得惊人。
说到任务制,就不能不提《细胞分裂》了。《细胞分裂》是再典型不过的任务制,以《明日潘多拉》为例,全程使用BSP搭建的关卡很明显是单线,而且分关。不过,在旧有的分关基础上,游戏的结构也有相当的进化:类似巴黎、耶路撒冷、潜艇这样的关卡都有数张小地图作为中继,但玩家并不会很明显感觉到地图已经更换了。这样,既突破了Loading的限制,又满足了优化的需求,和Half-Life2的设计有些相像。作为间谍游戏,《细胞分裂》另外的重要设计就是“光照”和“夜视”。在SC系列的关卡设计之中,光照第一次成为关卡设计师们必须着力调整的对象。《细胞分裂》的结构虽然大多是普通的城市或者基地,但却用“阴影”的概念进行了路线限制,是个相当不错的设计。
总之,关卡设计的结构是根据需求而变的。只要有需求,就有相应的关卡设计——唯一的忌讳,就是不能违反游戏的总体风格。




第六部分:运行与优化






最后来谈谈运行部分和优化部分。关卡设计中,最重要的部分就是跟运行有关的:人工智能与触发器。这两部分一般统一称为Script,是关卡设计师们最头疼的部分。
先说人工智能。游戏中敌人所体现出的人工智能,实际上和计算机科学中所说的“人工智能”是两个完全不同的概念。计算机科学的人工智能牵涉到许多符号分析、模糊处理等,而游戏中的人工智能目前还主要采用状态机这样简单的实现方式。目前,3D游戏中主流的实现方式是用一套或者几套基础的Default人工智能程序,加上关卡设计师们的个别处理来实现“拟真”的人工智能。例如,一个敌人的Default AI或许只是会寻找玩家、会躲避、会攻击;但加上个别的Scripted AI之后,他就会在玩家关掉电视开关的时候感到暴怒,并到墙角去拿起枪……这些让玩家感觉到“AI很高”的东西,大多是关卡设计师们根据环境设计好的。另外,对

于有重要BOSS的游戏,BOSS的AI也必须要特制,以便让玩家能够体会到BOSS和一般的敌人不同——BOSS不能只是血长而已。
另外一个重要的需要关卡设计师手写的部分就是触发器。触发器范围很广泛,从最简单的电灯开关、警报器到复杂的增援判定、敌人行动判定都有。一个完成的关卡中,充满了各式各样用来作地点、时间判定的Volume、Trigger、Spot……根据游戏的复杂性,触发器的要求也有所不同。最简单的触发器,仅仅是为了优化起见而将敌人分为波次Spawn出来而已;比较复杂的触发器往往和一些比较复杂的游戏任务或者逻辑相关,这些东西也是最容易出大Bug的。如果你看编辑器中的地图,会发觉多出了许多游戏中看不到的东西,这些就是保证游戏运行得更好的“秘密”Actor了。
作为一名关卡设计师,还有一样东西是必须时刻牢记的:那就是优化。我在之前的文章中也屡次提到了优化——因为这确实是一个十分重要的部分。优化得好与不好,直接影响到一个游戏的执行效率。如果是一个游戏机上的3D游戏,优化更是关系到游戏是否能够确实顺利在机能有限的游戏机平台上执行。
关卡设计方面的优化,首先是控制分区。根据现阶段所有3D引擎的原理,只要是“有可能”被玩家看到的东西,就全部都要预先绘制出来;而绘制的东西太多,就会严重影响引擎的工作效率。而在进行这个计算的时候,只要没有被BSP挡住,就会全部计算在“会被看到”的范畴内。因此,设计师们就需要把“明显不会被玩家看到”的不同部分分成不同的区。只要分在不同的区内,就只有透过“窗口”(Patrol)的部分会被引擎计算。然后,是要控制敌人的出现数量。同时出现20个敌人用枪扫射听起来很爽,但却是所有关卡设计师都要尽力避免的。每个NPC需要大量的绘制,还需要大量的动画;开枪的时候还需要耗用粒子,还带来了大量的AI计算……好的关卡设计师,总是尽可能用足够少的敌人达成足够理想的效果,让4个敌人达到20个敌人的效果。如果你感兴趣的话,可以仔细观察每个3D游戏中的人数分配和门、拐角等。人的数量是否一直控制得很好?关卡的拐角和门是否很多?仔细观察关卡设计的细节,有时候也是一种乐趣。
这篇文章,只是对关卡设计工作的简单一瞥而已。真正的关卡设计,是一件辛苦而重要的工作。随着游戏3D化的势头越来越迅猛,关卡设计师这个职业也会逐渐被人们越来越多地提到。希望这篇文章能够让大家对“Level Designer”这个3D时代的游戏分工产生兴趣——并不是所有游戏设计人员都是被称作“策划”的。

相关主题
文本预览
相关文档 最新文档