而这种恐惧不仅蔓延了业界,就连媒体和玩家也感觉到了。游戏网站FiringSquad.com曾撰文:“游戏发行商和开发商,他们无一例外都在抱怨疯涨的开发费用,其中主要原因是美术团队的人数在呈几何级数增长。”【注释01】据笔者分析,业界所面临的大量问题,都源于其使用的开发方法学。目前人数超过100人的团队却仍在使用当年十个人搞定一切的方法学,而这些老的开发方法早就过时了。
传统的游戏开发所使用的方法学,需要在前期花费大量时间,定义功能,还经常需要在前期实现一些重要的元素,如游戏机制和关卡,一直延续到最后的疯狂赶工。传统的方法学(通常称为瀑布模型)其实与一条生产装配线没有什么区别。在生产线的前端开始把产品的各个部分拼凑在一起,而生产线的后端就在等待加工打磨,就是这等待的过程产生了问题。游戏策划和发行商永远都无法获知游戏的真正感觉,比如他们早先制定的游戏机制是否正确,现行的实现是否完全遵循了早先的设计。类似种种,最终造成了产品质量的下降……
有另一种方法学正好可以解决传统游戏开发方法学带来的问题。在产品研发流程和团队管理方式中,它被恰当地称为“敏捷方法学”。敏捷开发注重于开发可供演示的游戏版本,并能很快地将其加入到产品中,以及在最重要的游戏元素和特性上按优先级创建垂直分片(vertical slice)。敏捷也注重团队管理和处理其内部关系,以及团队完成项目目标的计划和周期。游戏开发团队所面临的挑战可谓五花八门,而且由于职责有别,美术、程序和策划团队还要协同工作。游戏项目的时间跨度也很长:短则一到两年,长则三年以上,甚至个别游戏需要五年乃至更长时间。
这篇文章讲述了如何运用敏捷方法学和其中的Scrum方法学以应对上述的挑战,它可能特别适合于游戏开发人员,尤其是进行次世代开发的策划。
方法学
方法学在大多数游戏设计或游戏开发的书籍中鲜有提及。他们都假设大部分开发人员都无一例外地使用同一种做法,这种做法常被称为瀑布模型。在瀑布模型中,工作都按照先后顺序安排,例如从项目需求或设计阶段到生产和实现。在项目的早期阶段中,几乎没有迭代,这样就很难提供评估的机会。不仅如此,一旦项目运行起来,要想返工就必定面临着覆水难收的局面。
在瀑布模型的游戏开发中,首先由游戏策划或者策划部成员编写游戏设计文档,其中会定义很多游戏机制和特性。接下来这份设计文档被分解为小块部分,由制作人拿去丰富其中需求的功能和资产,之后对于功能和资产的需求就被分派到所有项目成员的头上。
接着就开始瀑布模型的流程了,这些需求瀑布式地流向动画、程序、关卡美术、人物美术、测试、特效等人的手上。一旦某人或者某团队完成了一项特性,就将其交给下一个人或下个团队。例如一个人物,由开始时的设定文档,到制作人或项目主管的手上,从这里它被细分为多个部分:人物模型和纹理贴图、人物动画、人物被击或者攻击时播放的特效以及驱动人物行为的人工智能技术,然后每个部门专注于各自分到的部分,完成实现直到可以进行组装。
然后,东西回到策划手里做调整,交给测试员进行测试,再让关卡策划在关卡中重现,之后退回各个部门进行除错。在制作这个人物的同时,其他人或其它团队也在实现他们负责的部分。同一天中,一个制作人员会同时针对几个不同的机制工作。这种方法学的实质是一种沉淀作用,需要对大量的游戏机制同时进行加工。
敏捷开发
上世纪90年代末,一批新型的软件开发方法学开始显露头角。它们来自于各种团队的开发实践,从网页小程序到装备到美国国家航天局的应用系统都有。每种方法学都有自己的注意事项,当然也受到来自各方的褒扬和批评。虽然它们各有千秋,但其中的大多数方法学都有几点共通的基础。
2001年,在犹他,几位新型方法学的实践先驱们组织了一次峰会,峰会就中心意识形态达成普遍共识,并发表了共同宣言:
1、可以工作的软件胜过求全责备的文档。
2、客户合作胜过合同谈判。
3、人和交互胜过过程和工具。
4、随时应对变化胜过刻板遵循计划。
实现高于文档,随时和客户合作,解决问题的能力以及敏捷地应对变化。敏捷的核心内容很简短,但它喻含了伟大的思想,使得敏捷适用于任意复杂的产品开发系统。
Scrum
随着敏捷开发不断的成长,一些不同的方法学开始显山露水。其中一些是从敏捷中演化而来,另一些则是从某些正在使用但从未有完整定义、或未有应用软件开发实践的系统中得来。其中一种称为Scrum的方法,这是一种产品研发的手段,源于日本汽车和消费类电子产品制造业。根据定义,Scrum是一种橄榄球战术,让所有在场的球员都参与球的争夺。
作为一种方法学,同样的参与思想被贯穿于产品开发的原则之中,项目团队被重新组织成若干个小团队,对于特定的项目组件进行紧密合作。Scrum强调迭代开发,把项目分为若干可供提交的组件,对这些组件可以进行演示、测试和功能评估。