1.3 人员
1.3.1 出品人
游戏出品人其实就是游戏项目的负责人。出品人将制订并跟踪开发计划,管理其他实现具体开发的人员,而且还要管理预算和开销。出品人也许对如何开发游戏的某个部分一无所知,但是他是整个游戏项目中唯一一个知道所有正在发生的每一件事情及这些事情发生的原因的人。
开发人员的监督工作由出品人负责。如果团队中有组员需要某种工具、技术或者是资源,出品人必须了解到这些需求并及时做出安排以便组员能够尽可能早地获得他们需要的东西。
当某个开发人员灰心丧气、自暴自弃的时候,出品人需要多方鼓励他,让他走出自闭的精神状态,恢复工作的活力,以免延误开发计划。
出品人还是开发团队和外界交流的窗口。他负责回答媒体的问题,签订合同和申请许可证,并尽量把外界巨大的干扰阻挡在开发团队之外。
1.3.2 设计师
游戏设计师简直就是娱乐工程师——他们从自己丰富的想象中创造娱乐。作为一名游戏设计师,将全权决定游戏的主题和规则,并主导着游戏的整体感觉的发展过程。不过要注意,娱乐是游戏的最终目的。
设计师必须善于沟通,最优秀的设计师都是很出色的合作者和说服者。他们需要把自己的想法整理出来并灌输给开发团队中的所有人。设计师不仅在总体上设计游戏的概念和感觉,而且要设计各种平面和图形,并帮助程序员把游戏的各个方面整合到一起。
设计师主要有以下几种。
1.主设计师
主设计师(Lead Designer)也就是常说的主策划,对于要开发的游戏有总体上的掌握、前瞻性的理解和策略性的考量。形象一点说,主设计师就是在所有人看到一部电影之前,在心里把电影过了一遍的人。然后他告诉开发组其他人员他心目中的电影是什么样的,之后大家去实现。在实现过程中,由于技术资金等的限制,必然要不断做出妥协和修改。主设计师是游戏设计方面这些妥协和修改的最后决策者。当然他在做出决策之前必须听取其他两巨头——主程序员和制片人的意见。主程序员和制片人会从技术和资金进度人力等角度评估这些改变的要求。
主设计师必须有能够听取各方意见,并冷静分析的能力。因为游戏实际上是一个各方不断妥协的产物。妥协是必须的,主设计师不能过于顽固地坚持不切实际的理想。主设计师同时必须有很好的平衡能力,可以指导协调各组员,特别是和主程序员和制片人的合作。
最后需要特别强调的一点:主设计师不是,也永远不会是游戏的唯一作者和成功的唯一原因。游戏是一个项目组所有开发人员的心血的结晶。当然有时候媒体会对主设计师大肆吹捧。这时候作为主设计师本身应该清醒并保持和自己和组员的关系,处理得不好的话,整个项目组的士气就会受到影响。
2.助理设计师
助理设计师(Assistant Designer)的主要职责是帮助主设计师进行细节实现,包括对游戏规则的细化、平衡性的调节、历史地理政治文化背景知识的研究。另外很重要的一条就是助理设计师要负责所有设计文档的管理和更新。
3.关卡设计师
关卡设计师(Level Designer)是最近几年随着三维游戏,特别是三维射击游戏的盛行才出现的一种职位职务。关卡设计师的工作是设计关卡内部结构,包括建筑、光影、物品摆放、敌人的配置;然后把设计蓝图交给美工建模;美工做出各种3D模型后,关卡设计师要把它们集成到一起,并且不断测试,直到符合要求。关卡设计师的工作比较具体,一般来说需要玩很多游戏,对某种类型的游戏十分精通,这样在关卡的设计和测试中就有可能凭直觉做出正确的判断。
关卡设计师所使用的工具主要是关卡编辑器(Level Editor)。关卡编辑器可以是公司自己开发的,也可以是买来的3D软件包所包含的。
4.剧本作家
现在的游戏越来越重视故事情节了,不仅传统的RPG如此,连射击游戏和RTS都要有引人入胜的背景故事才行。有的公司甚至要请专业小说家来执笔,如《彩虹6号》游戏的故事背景,就是由《追捕红十月潜艇》等畅销小说的作者Tom Clancy编写的。剧本作家(Writer)就是这些背景故事和对话的作者,他们的任务是通过对故事情节的整理和人物的刻画,使游戏增加一些深度。
1.3.3 程序员
游戏程序员负责编写代码,这些代码将把游戏的想法、美术效果、声音和音乐组合起来形成一个功能完善的游戏。程序员控制游戏的速度、游戏中的美术效果及声音的安排。他们控制事件的因果关系,通过内部计算把用户的输入转换成各种视觉和听觉体验。如果是网络游戏编程,还可以把代码划分为服务器端代码和客户端代码。程序员有以下几种。
1.主程序员
主程序员(Lead Programmer)是主设计师的左膀右臂,他从技术实现角度对主设计师的设计进行评估和细化,并提出技术解决方案。他的主要职责是对游戏开发进行技术评估,包括游戏平台的评估、新技术的评估、开发环境的评估等。在此基础上,设计软件的系统结构,也就是一个游戏程序的主体框架结构,包括各模块的功能和相互之间的关系。系统结构的设计很有点像手艺活——没有教科书式的完全“正确”的答案,需要对这个领域有很多感性的认识,再加上一点灵感和大胆的决定。有了一个好的系统结构,其他各部分模块才能各司其职,充分发挥作用。如果系统结构上有大问题,不管单个模块的质量如何高,整个游戏还是会有很大隐患的。
主程序员的另一项重要任务是和出品人合作,共同处理软件工程的管理。出品人主要负责事务性工作,但当遇到重大问题时,如要推翻原有代码重来,这时出品人必须和主程序员在一起评估可能的后果,如在进度和资金上的影响等,然后做出决策。
主程序员同时要领导其他程序员,负责制定了代码标准和接口规范,让所有程序员来遵守,同时要监督相互评估(Peer Review)的工作,并主持代码审核。
主程序员同时作为所有技术人员的代表,负责向组内其他非技术人员解释自己和其他程序员的工作,并回答技术性问题,如向美工解释技术上的限制。
2.一般程序员
对一般程序员(Programmer)来说,现在业界的惯例是按专业领域分到很细的程度。例如,AI程序员就专攻AI部分,3D程序员就专攻3D部分。这么做有利有弊,其利在于术有专攻。现在游戏比较复杂,以一人之聪明和精力,也只能掌握一个领域的最新成果并在这个领域做出成绩。但分得这么细的弊端是对程序员们来说,长期在一个狭小孤立的领域工作,其适应性和创造性肯定会受到影响。
下面是基本的专业领域划分。
● 基本游戏规则程序员(Game Logic Programmer):实现游戏的基本游戏规则。
● AI程序员(AI Programmer):负责人工智能部分。人工智能可以看做游戏规则的高级部分。另外如果使用脚本语言(Script Language)来表达敌人的智能的话,则需要定义脚本语言的语法规则,并编写相应的编译器。
● 3D程序员(3D Programmer):负责图形图像部分,主要是3D引擎(3D Engine)的编写。
● UI程序员(UI Programmer):负责界面部分,包括窗口菜单的实现和键盘鼠标手柄的控制等。
● 物理程序员(Physics Programmer):物理程序员是近年来新出现的职务,他们的任务是实现重力加速度等功能,使3D世界更加真实生动。
● 网络程序员(Network Programmer):实现网络对战功能,包括网络通信协议、纠错功能、数据包的设计等。
● 工具程序员(Tools Programmer):编制游戏开发所需要的各种辅助工具,如关卡编辑器、人工智能脚本语言编辑器、数据库支持工具等。
另外,程序员包括初级(Entry-level Programmer)和高级程序员(Senior Programmer)。一个游戏中最重要的部分显然要交给有经验的高级程序员完成,这样才能保证质量和进度。一些比较不重要的部分就交给初级程序员。一般来说,AI和3D是最重要的,要由有经验的程序员完成。工具和UI部分,可以由初级程序员完成。
1.3.4 美工
在开发的设计阶段,游戏美工人员负责绘制各种草图并创作情节串连图板,以便展示和充实设计师的想法。图1-19是由美工人员绘制的游戏角色概念设计草图,开发人员在构造模型和编程的时候将以这份草图作为参考。然后他们将依照设计文档的要求制作各种模型和纹理,包括角色、建筑物、交通工具和各种图标。美工主要有以下几种。
图1-19 《魔兽世界》角色概念设计草图
1.艺术指导
艺术指导(Lead Artist,又称Art Director)在主设计师直接领导下工作。他最重要的工作是帮助确立整个游戏的统一的视觉风格(Visual Style),也就是游戏的外观,包括色彩配置、文化背景、特殊图案、角色设计风格、建筑设计风格、界面设计风格等。最后要编写一部风格指导手册(Style Guide)。风格指导手册的作用是使所有美工在进行工作时有所依据。当他们进行具体工作时可以对照风格指导手册,根据其要求调整自己的作品,从而保证整个游戏画面风格一致。
艺术指导的另一个重要职责就是评审美工的作品。一般来说,美工作品经过艺术指导和主设计师的评审通过后,就入库并不再轻易修改了。
所以艺术指导的工作基本上是整体上的,是指导性的而非实践性的,是概括性的而非具体性的。
2.概念美工
概念美工(Concept Artist)是艺术指导最重要的助手。他帮助艺术指导把主设计师的想法转换成画纸上有形的东西。概念美工要根据主设计师和艺术指导的解释,简单、迅速地画出各种可能的方案,包括人物设计、场景设计、基本物品设计等。概念美工的作品,被称为概念速写(Concept Sketch)。可以是一般的速写草图,也可以是比较细致的钢笔淡彩,或者马克笔草图。概念速写经过和主设计师和艺术指导多次反复评审通过后,就将成为风格指导手册的一部分,用于指导3D美工去建模,2D美工去绘制材质。
一般来说,在一个游戏公司中,概念美工都是经过了比较严格的传统美术训练的。他们的造型能力、绘画技巧、色彩感觉等都是很强的,这是由他们的工作性质决定的。其他美工这方面的要求就不那么高。例如,3D美工不一定要求画得好,他们只需要根据画稿去建模就行了。
概念美工的另一项任务是为过场动画(Cut Scenes)绘制故事板。显然,绘制故事板需要很高的绘画技巧和对电影构图及镜头控制的一定认识。一般电影制作,特别是动画片制作中,需要专业的故事板画家(Storyboard Artist)。他们的作品虽然很少能够最终展现在观众面前,但他们的工作是一部电影的基石。他们所绘制的故事板,线条地道、构图精妙、言简意赅。
对游戏公司来说,如果不能找到专业故事板画家,则最有能力担当这个职务的就是概念美工了。所以在大部分游戏公司中是由概念美工兼任故事板画家的角色。
3.3D美工
3D美工(3D Artist)的任务是参照概念美工的设计草图,利用3D软件,构建游戏中的人物、生物、建筑、物品等的三维模型。特别需要指出的是:3D美工中又有不同的侧重和分工。例如,人物建模和建筑建模需要不同的技巧,用于过场动画的高分辨率模型和用于游戏中的实时低分辨率模型也有很大不同,这些必然导致在3D美工中更细的分工。
4.2D美工
早期的游戏都是2D的,所以那时候的美工都是2D美工(2D Artist)。他们的任务是使用2D绘图软件在计算机上绘制低分辨率的图像,包括背景。3D游戏流行后,2D美工的任务改变了。他们现在的任务主要是为三维模型绘制材质(Texture),以及界面上使用的背景等图像。
5.动画师
如果一个游戏中使用大量的片头和过场动画的话,专业的动画师(Animator)将是必不可少的。这里需要强调的是,动画有其自己独特的规律和法则,没有经过专业培训的人是无法胜任的。随便找一个美工来凑数是不能制作出高水平的动画的。动画师一般要对传统手绘动画有很深刻的理解,包括Disney动画的12条经典法则,以及相应的镜头和构图方面的知识。没有这些知识,盲目追求3D动画效果只能是缘木求鱼。
1.3.5 音效师
音效师(Audio Artist)负责制作游戏中的音乐和各种音效。优秀的设计者都希望与富于创造和灵感的音效师合作,以便创作出能够加强游戏体验的音乐作品。
音效师和设计师的合作非常紧密,他们决定什么地方需要使用音效及所使用音效的特点。音效师通常会花大量的时间来试验各种不同的音效来源,以便找到制作最适合的音效的方法。如果去观看一个正在工作的音效师,可能会看到他在一个麦克风前面拍打直尺和摔打纸盒。在获得最基本的音响元素之后,音效师将使用音效编辑工具修改这些声音,包括改变声调、加快或者减慢声音的播放速度、删除不需要的杂音等。这通常是一个比较有难度的过程,需要协调各种真实的音效从而满足适当夸大某些特征的需要,以便在游戏中产生最佳的效果。
1.3.6 质量保证人员
质量保证(QA, Quality Assurance)比测试(Testing)听起来要更专业一些。的确,QA包含的总体范围要广阔得多,但是在游戏行业中游戏测试人员承担了QA的大部分任务。测试的目的是确保一个制作完成的游戏的确完成了,在人力所及的范围内包含最少的Bug。QA测试则需要专业的质量保证人员,或者游戏测试人员,针对游戏的每一个部分进行实测,力图消除游戏中所有细微的缺陷和漏洞。
QA测试中发现的大多数问题都是视觉上或者动作上的问题:在屏幕边缘没有正确换行的文字,不能正确跳动的角色,或者是建筑发生错位的平面等。测试能够发现游戏运行中的问题,这些问题通常与设计的关系比较大,而与编写的代码没有太多的关系。例如,一个玩家奔跑的速度不够快,无法逃避某个特殊的敌人,其实玩家的速度应该能够逃避这个敌人。
QA专业人员为了提高发现Bug的几率,需要使用某些系统的方法。这也许意味着他们必须反复地测试游戏的某一个部分直到彻底感到厌倦为止。为了编写有用且有意义的Bug报告,QA专业人员必须能够进行良好的沟通。
1.主QA
主QA在主程序员指导下工作。他的任务是根据游戏程序的特点,参与制定一整套测试,报告、修改、审核机制,编制测试报表,制订测试计划,指导、协调一般测试员的工作。
主QA绝对需要对软件工程和程序设计有足够的了解。他们是游戏制作流程中最后一道把关的,对游戏的成败起着关键性的作用。业界曾有一种倾向把质量保证人员当成“食物链”最下层的,认为他们从事的不是创造性的工作,所以他们是可有可无的。现在事实已经无情地驳斥了这种看法。在中国游戏公司中,这方面做得不如美国公司,迫切需要提高测试员,特别是主QA在公司中的地位。
2.一般QA
这是一群以玩游戏为工作,以玩游戏为生的人。人们肯定会说:一边玩游戏一边挣钱,这是多么理想的职业。但与人们的理解相反,以玩游戏为生不是一件轻松并且愉快的事情。对游戏测试员来说,玩游戏已经不是一项乐趣,而是一项必须完成的任务。这项任务必须在严格的时间限制内完成,测试员必须找到程序中的Bug,完成细致的记录工作,并及时将报告呈交给主测试员。
1.3.7 其他人员
目前有一些新的人员随着游戏设计的发展和技术的进步应运而生,如人机界面设计师(User Interface Designer)。人机界面设计师专门负责游戏中人机界面的设计和测试。他们在主设计师指导下工作,其任务是设计出好学、好用、高效、容易记忆的界面和交互。制作游戏还需要很多其他人员,如公司的PC及网络维护人员、秘书等,他们都是十分重要的。作为公司的领导者,要把平等的观念灌输给公司内的每一个员工,因为大家在一起开发游戏,每个人没有贵贱之分,只是工作性质不同。每个人都被尊重,都开心,才能开发出好游戏来。一个著名游戏设计师曾说过:任何一个成功游戏的背后,都有一个和谐的大家庭一样的项目组。同样,一个失败的游戏背后,很可能就是一个职责不明、相互轻视、内耗严重的项目组。
在本书中,将从头到尾开发一个游戏。在开发的过程中,编者将担任不同的游戏开发角色。不过需要记住的是各种游戏开发角色之间的区别并不是非常明显,有时很难说清楚担任的到底是什么角色,所以干脆一肩挑。很多独立开发人员在一个游戏项目的开发周期中都会担任不同的角色。