项目究竟难在哪里
除了技术和创意方面的挑战外,游戏开发还面临着工作室文化、团队和管理方面的挑战,这些挑战无处不在。本节要复盘一个游戏项目,借此更好地展示游戏开发为什么总是举步维艰。项目虽然纯属虚构,但很有代表性,我们要基于对它的总结来推演游戏项目三个典型的问题高发区。
通过项目复盘来学习
1994年《游戏开发者》杂志(3)创刊发行以来,我一直是它的忠实读者。我最爱看“项目复盘”,不仅因为可以看到各个游戏工作室各具特色的工作方式,还因为“项目复盘”能够揭示广大游戏开发者共同面对的一些问题。一些总结真实展现了当今游戏人面对的巨大挑战。仔细阅读这些“项目复盘”,就好比路过车祸现场,本不该停下来围观,但往往又让人情不自禁。
“项目复盘”可以生动地揭示为什么要用敏捷方法来开发游戏,所以我虚构了一款游戏,起名为“典型”,根据项目复盘的通用格式和我亲身经历的项目经验臆造了如下这篇简短的“项目复盘”。
“典型”游戏项目复盘
“典型”是子虚工作室发行的一款科幻射击类游戏。尽管开发过程着实考验了工作室上下所有员工的承受极限,从品管(QA)到监制,但游戏发行后,好评如潮。以下项目复盘将剖析“典型”游戏开发过程中的成功经验和有待改进的不足。
成功经验
“典型”游戏项目在工作室文化、项目成员、游戏原型和原著授权这几个方面做得不错。
工作室文化
在子虚工作室上班,真是棒极了。几位业界元老当年以打造最佳游戏开发环境为目标创立了这间工作室。每个员工都有自己独立的办公室,熬夜太累或者想要小睡片刻,都可以就近休息。茶水间有免费的酒水饮料和零食。还有游戏室,有台球桌、桌上足球和经典的街机,大家可以在这里释放压力。子虚工作室推崇团队精神,即使是加班,也不会是让人孤军奋战,整个团队都会留下来,共克时艰。
员工才华横溢
在子虚工作室,各个专业岗位上的人员都是业内顶尖高手。我们的程序员出类拔萃,以追求技术卓越为目标。游戏引擎,子虚工作室完全自主,不依赖于任何中间件。团队成员不仅创造力惊人,还有能力把创意变成现实。
游戏原型制作精良
“典型”游戏大量使用原型开发来尽早验证设想。而且,我们能够以很快的速度开发出原型。比如,我们做了一个能让游戏世界内所有可见物体被毁坏的系统,虽然最后并没有随游戏一起公开发行,但在项目一开始,就展示出技术层面的想象空间。
原IP 很有名气
“典型”游戏是一款授权游戏,改编自 6个月前上映的同名暑期大片。这显然是游戏的一大卖点,更别说游戏差不多和电影DVD同步发行了。
存在哪些不足
“典型”游戏存在几个不足:发行时间、开发进度的掌控、增加人手的时机不当和技术风险缺乏预判。
延期上市
“典型”游戏原计划与电影同步上市。子虚工作室的规模不大,只有两个项目,为了如期交付,承受着巨大的压力,但最终还是没有做到按时上市。造成跳票的部分原因是,在开发过程中,游戏特性和功能不停在变。未列入计划的变动延长了项目时间。
急于进入制作阶段
项目原计划在上市前12个月开始制作关卡。然而,游戏玩法当时的完成度还不足以支撑关卡的制作。比如,刚开始制作关卡的时候,策划为游戏角色设定了一套用于越空飞行的喷气装置,这要求我们在游戏中增加更多纵向空间(相对于原计划)。但在当时,游戏与电影同步上市至关重要,这样的计划排期迫使我们必须按计划进入制作阶段。结果,到最后等游戏玩法确定后,许多关卡都需要重新制作。
加人救急
因为进度落后于计划,所以工作室只好从别的项目抽调更多人力来加快速度。新增加的人手需要大量磨合才能适应下来,而且,等他们终于融入团队,产出的也只是更多需要后期返工的游戏内容。最后的统计结果表明,两个项目做加法,试图通过增加人手来提升效率,结果却适得其反。
技术风险预估不足
游戏世界破坏系统最开始的原型很炫,以至于团队没有经过任何深思熟虑就想当然地把它纳入了游戏设想,甚至被当作可以促成游戏大卖的杀手级特性。悲催的是,程序员很晚才发现这个系统要想在Xbox 360和PlayStation 3上正常运行,差不多需要全部重写。最后,我们不得不忍痛割爱,砍掉了这个特性,将游戏场景中所有已经完工的可破坏模型替换为原计划的普通静态模型。
赶制出来的氪金系统
作为一款免费游戏,我们希望的盈利模式是内购,在游戏商城中售卖高级武器、盾牌和太空飞船的增强功能。不幸的是,由于没有及早添加和测试计划在商城中提供的功能和道具,匆忙之下,我们不得不舍弃并重建许多程序才赶制出商城功能,由于时间太赶,等游戏发行后才有时间重新做平衡。这种行为让许多玩家极为反感,因此选择了弃游。
总结
因为做了一款不辱没其原著电影盛名的好游戏,我们倍感自豪。虽然在项目收尾阶段遇到一些问题,但这都是游戏开发复杂多变的本性所决定。我们吸取到的教训是,项目启动时就要做好计划,如果能这样,我们就可以如期为游戏的最初部署做好准备。
问题
对于项目复盘中讲述的故事,很多有经验的游戏开发者并不陌生。为什么游戏项目启动时总是意气风发,最后却往往以身心俱疲的加班和返工画上休止符呢?这是游戏开发的最佳方法吗?我想,答案是否定的。为什么游戏项目会陷入困境?原因主要有三个:特性蔓延、计划乐观和开发阶段所面临的挑战。
特性蔓延
特性蔓延(4)是指在开发过程中添加计划外的特性。主要原因有两个:第一,项目干系人在开发进程中要求增加特性,通常称为“突发的新来的需求”;第二,特性达不到预期效果而需要加大工作量。
只要项目计划和预算都不做改动,特性蔓延就不会有问题。特性蔓延对游戏开发来讲是常态,项目经理往往不假思索就会接受。为什么不拒绝呢?因为很多时候并没有别的选择。管理混乱的项目往往因为害怕被取消而不敢拒绝项目干系人提出的要求。
在游戏开发过程中,总有机会增加新的特性来提升游戏的品质,但考虑到紧张的计划安排和工作量,最好是直接忽略这样的新增特性,否则,一旦决定将它们纳入开发计划,就会带来极大的风险。最好也不要用工作量相当的新特性来替换已经列入计划的特性。特性蔓延往往会扩大项目的整体规模。
特性的新增和变更是不可避免的。随便回顾一下最近上市的游戏及其原始策划文档,有多少不是除了标题页没有变而其他内容早就已经面目全非的?
这往往正是BDUF(big designs up front)之所以被诟病的原因:提前设定整个游戏的所有细节。事实上,我们不可能在项目启动时就提前设想好游戏的全部细节。只有拿着手柄以像样的帧率在目标平台上玩自己做的游戏时,我们才能做出准确的判断。要想确认游戏好不好玩,玩它,是唯一的途径。
游戏项目刚开始启动的时候,最不确定。我们也许明确是做第一人称射击(FPS)游戏,但是,至于哪些类型的武器才是最佳选择,就很难界定了。直到真正能在游戏内操控角色射击,我们才能够深入这个问题。
图2.1展示了游戏或单个特性的不确定性在不同开发阶段是如何逐步递减的。在概念定义阶段,不确定性最高。然后,随着产品或特性可以在目标平台上运行测试,不确定性逐渐降低。
图2.1 不确定性递减
采用瀑布开发的游戏项目会将大量不稳定的特性带入内测和公测,之后才上市发行。采用敏捷开发的游戏项目,在每一个小的涉及所有开发阶段的迭代过程中,都在消除不确定性。
计划盲目乐观
对任务或者工作进行预估,并不是一门精密的科学。即使是预估日常生活中的小事,比如帮人到店里跑腿,都会出现突发性的问题。交通拥堵或者店里排队的人太多。任务的复杂度越高,预估的准确性就越低,游戏开发也不例外。在完成任务的过程中,许多事情都会超出我们的预估。
· 不同的人有不同的经验和生产力。研究表明,不同人的产能可以有10倍的差异。
· 一个人在同一时间并行处理多少任务(多任务)。
· 完成任务所用的构建平台和其他工具的稳定性。
· 由于任务的迭代本性,我们永远不知道确认一个特性是否好玩需要多少轮迭代来打磨和不断优化。
术语释义 游戏工作室往往用上市(ship)或部署(deploy)来描述游戏上市发行。本书同时使用这两个词。通常,电子版游戏用“部署”,实体版游戏用“上市”。
开发过程中的挑战
前期原型(设计)(5)和开发(制作)(6)这两个阶段面临的挑战截然不同。游戏原型定义游戏的核心玩法,这个阶段的挑战是如何确定用来指导后续游戏开发过程的核心乐趣。在正式制作阶段,开发团队通过开发诸多大概几个小时的游戏内容(比如游戏角色和关卡)来充实和丰富设计原型阶段所设定的玩法。开发阶段的挑战是团队效率最大化,尽量减少无谓的资源浪费,确定制作规格。
相对提高团队效率和减少资源浪费,确定规格在正式制作阶段更为重要。正式制作涉及巨大的工作量,游戏上市前需要制作很多角色和关卡等游戏内容。因此,制作阶段往往有团队人员显著增多或外包公司的参与合作。不要急于大规模制作角色和关卡之类的游戏元素,应该先明确游戏玩法和制作预算,以免后期代价太高的重制。
当游戏玩法、核心技术和开发工具基本成型之后,就可以开始进入正式制作的阶段了。图2.2展示了一个游戏项目逐步明确技术解决方案、制作成本和质量以及游戏设计,从设计向原型过渡到正式制作阶段。
对大多数游戏项目来说,等万事俱备之后再进入制作阶段,并不现实。然而,原型涉及到的工作偏偏又很难预估。核心乐趣和玩法很难进行精确的策划。一旦原型所花的时间超出预期,项目往往就会迫于计划的压力而仓促进入制作阶段。图2.3展示了原型阶段是如何过渡到制作阶段的。
图2.2 设计和技术在不同开发阶段中的不确定性
图2.3 原型过渡到正式制作(计划中的和现实中的)
根据类型的不同,游戏元素进入制作阶段的时间可早可晚。我们是否充分理解了各类游戏内容的制作预算及其最终上市时的品质要求,决定着这种类型的游戏元素是可以投入量产,还是留在原型阶段进一步完善。如果团队急于投入量产,往往无法准确定义制作规格。在锁定真正的用户需求之前,说不定早就做出了大量基于错误假设的游戏元素。一旦出现需求变动,比如之前虚拟游戏《典型》中去除场景破坏系统或者增加飞行道具的情况,相关游戏内容就需要全部回炉重制。这样一来,就会造成大量人力、物力和时间成本的浪费。
快速响应玩家的需求
许多游戏在上市后仍然在不断地更新。这些游戏不仅可以通过最开始的销售来获利,还可以通过附加内容或升级版本以及玩家想要的其他东西来获利。在今天竞争愈演愈烈的游戏市场以及持续走低的游戏购买成本的影响下,玩家越来越挑剔和善变,很容易“变节”去玩其他能够更快响应玩家需求的游戏。
需要花好几个月时间设计、规划、开发、测试和更新版本的游戏,很容易被每隔几周就有更新的竞争对手所超越。
亲身经历 我曾经受雇于一个老牌的游戏团队,他们运营着一款热门模拟农场游戏好多年。然而,自从有一款竞品游戏上市后,他们的日活用户数持续稳定走低。竞品模拟农场游戏是一家新公司花三个月时间做成的,发布后并每周都有稳定更新。尽管用户正在流失,纷纷转向以高频更新手段来吸引用户的竞品游戏,可惜这个老牌游戏团队仍然意识不到加快更新频率的好处。