Darkwatch开发游戏使用Scrum方法

很多开发者都习惯了传统的游戏制作过程,但是,随着游戏开发的越来越复杂(和成本的增加),我们需要新的开发方法。我们和Clinton Keith,High Moon工作室的CTO, 交流了关于Scrum的想法。High Moon和其它一些公司发现Scrum在游戏开发方面非常好用。

GameDAILY BIZ: 我们的很多读者也许对敏捷方法和Scrum方法都不是很熟悉,它起源自哪里,你能否介绍一些它的基础,以及它为什么适合于游戏开发?

Clinton Keith: 敏捷方法和传统方法不同,传统的方法中包括了大量的文档书写,实现各种功能,然后在最后组装在一起。带来的问题是不到项目最后你无法知道你的游戏是什么样子的。而敏捷方法开发过程中是迭代的,可以不断地根据结果作出反应,例如根据游戏中实际出现的元素,来持续计划下一个要出来的内容。按照这种办法,游戏功能的价值可以在早期就被评估,项目组可以调整下一阶段要开发的内容。Scrum是四个主要的敏捷方法中的一个。

BIZ: 我知道High Moon首先是在Darkwatch的开发上使用了这种方法,计划是在最初制定,还是在开发过程的某个阶段制定的呢?你觉得必须要用新的方法吗?

CK: 我们是在Darkwatch开发的半道决定使用新方法的,也就是我一担任High Moon的CTO之后。我和编程人员一起使用Scrum和其它的叫做XP的敏捷方法,改善了我们的编程部门的结构。我的团队中的大多数人过去都听说过这两种方法,在进行了进一步的研究之后,我们决定迅速采用Scrum方法。从那时起,我们就开发了这个框架,把我们的美工和设计师都纳入到这个过程中来。Scrum帮助我们完成了Darkwatch的进度安排,但直到我们在这个基础上使用敏捷实践的新想法之后,我们才真正看到了敏捷的所有好处。

XP来得要晚一些,XP的目标是使用简单的实践,以允许存在大量改变的软件开发,这一点对我们很有价值。过去,我们进行大规模的技术设计文档,然后试图在最终代码中实现它们。不幸的是,这些文档往往并不准确,代码需要改变,如果不是使用XP实践,团队中会有产生很多问题。

[ "[Scrum]主要的挑战在于从下命令到控制的管理文化到提倡团队所有制的迭代文化的转变。" ]

BIZ: 似乎Scrum主要的方法是去掉浪费工作量的瓶颈。随着开发成本的不断提高,对游戏公司而言提高效率将成为关键。你什么有效的Scrum将给下一代开发带来什么?

CK: 你说对拉。Scurm说的是关于如何创造可见的东西,这样你可以作出符合常识的决定。它是关于如何去除障碍,关于如何在开发早期就明确产品的价值。随着下一代开发的成本提高,我们再也不能为那些游戏开发中最后不会用到的业务模型买单了。我们不能等到项目的最后再来看这个东西是否有趣,这个时候要做大的改变要花的钱就太多了。

BIZ: 由于Scrum主要关注的是团队之间的交流和协作,QA的负荷会减少很多。因此不仅Scrum对开发人员来说有利,对于顾客来说也是有利的,他们可以得到更高质量的产品,对吗?

CK: 绝对如此。我们实际上是将QA测试员嵌入到团队里面来了,保证bug每天都会被fix。Bug修正的推迟会减慢内容开发的速度。而如果降低美工和设计师的速度,会减少他们产出的量,这个最终会导致最终产品的低质量。

BIZ: 已经看到了这些好处,你认为其它的游戏公司会被说服来采取Scrum方法吗?

CK: 自从去年我在游戏开发者大会上作了讲演之后已经有很多开始使用了。在那个会议上我描述的传统开发的问题是相当普遍的。Scrum有很多常识性的实践,使用起来并不困难,又可以解决这些问题。我现在维护着一个邮件列表,关注游戏开发者使用敏捷方法中的问题。

BIZ: 如果开发者决定使用Scrum,有什么需要注意的显著的缺点吗?

CK: 主要的挑战在于文化的转移,从下命令到控制的管理文化到提倡团队所有制的迭代文化的转变。对于我这个位置的人来说,要让团队对他们的目标和任务30天一次进行控制可能会比较困难。同样对第一次按照Scrum的要求承担责任的团队来说也有困难,尽管一旦团队习惯了这种方法就会看到它的好处,并且很快喜欢上这种任务方式。

BIZ: 和传统开发方法不同,Scrum鼓励团队进行自我阻止并且管理人员并不对成员进行任务分配,这种“软”管理会不会适得其反?

CK: 当然有可能。你必须让你的顾客和产品所有者很好的作好他们角色的工作。在每个Sprint 中,团队都需要切实理解愿景(Vision)和游戏将出现的价值,并建立将会为下一个sprint创造最大价值的目标。一个危险的情况的是团队自己充当了顾客的角色,并偏离了方向,走到了对整个项目并不是最好的方向上。这也是为什么顾问(例如敏捷方法的教练coach)一次次的访问的价值所在。他们可以帮助团队在正确的道路上前进,同时也引导真正的顾客,例如工作室管理者,游戏发布商等。

BIZ: 你已经成了Scrum的传道士,对吗?你用了哪些方法在开发社团中推进它呢?

CK: 是的,我坚信整个行业现在是在一个十字路口上。我们可以用更好的产品来重建市场,这方面的成功将会为开发的成本买单。敏捷不是秘密,而且已经在主要的R&D驱动的行业,例如计算机软件,消费电子开发等行业中发挥了不错的作用,开发了更好的产品,并且推向市场用时更短,花费更少。

过去,我做过关于敏捷和Scrum的演讲,而且也会在下次GDC2006会议上做名为Agile Methodology in Game Development: Year 3的演讲,我还维护了这个网站www.agilegamedevelopment.com,以及mail list和blog。

BIZ: 结束前,请问还有什么要补充的吗?

CK: 没有拉,问题很棒!

BIZ: Thank you.

时间: 2024-12-21 00:23:48

Darkwatch开发游戏使用Scrum方法的相关文章

开发游戏怎么入门呀

问题描述 开发游戏该学什么呀?和3D动漫设计是什么关系?做游戏不用学动漫那些么?好难呀.可以分为那几个方向和怎样入门呢?请高手回答. 解决方案 策划:全能的,数值策划.任务脚本策划.功能策划程序:服务器.客户端.工具美术:角色原画,场景原画,特效.场景3D建模,角色3D建模,动作,图标绘制测试员:什么都测试.这个是职责分配的,如果你做程序的话,那些什么3d动漫是美术做的......解决方案二:怎样入门呢? 那得看你以上那个放下感兴趣啊..然后学习相关基础知识,再找相关工作,然后再在工作中深入啊.

使用函数式编程语言 ELM 开发游戏

这是我首次准备就有关用 elm 进行游戏开发的内容撰写一个系列的文章. 这是一种能编译成 html 和 javascript,以便你可以将其直接部署到web服务器上,或者打包到 nw.js 中以创建一个独立的应用或者游戏,这样的编程语言. 没有多少教程可以参考,但是随着我的慢慢进步之中我已经了解到了越来越多的东西. 因为 elm 正处在积极的发展过程中,如果或者当我的文章有点过时的时候,我将会对它们进行更新. 也会慢慢纠正我在里面留下的错误 - 函数式编程 (FP) 是一种令人惊异的边界不清的范

如何用HTML 5 Audio API开发游戏音乐

介绍 音频在很大程度上使得多媒体体验非常引人注目.如果你曾经尝试在关闭声音的情况下看电影,你就很可能 已经注意到了这一点. 游戏也不例外!我最喜爱的视频游戏的回忆里包含了音乐和声效.在二十年后的今天,大多 情况下,当玩我最爱的游戏时,我仍然不能把"塞尔达"里近藤浩二的乐曲和马特大气的暗黑配乐从我的头脑里驱逐掉.这 同样适用于音效,例如魔兽里单位实时点击的响应,以及任天堂的经典例子. 游戏的音频提出了一些有趣的挑战. 要创建令人着迷的游戏音乐,设计人员需要调节潜在的不可预知的状态.实际上

Android开发之动画实现方法

  本文实例讲述了Android开发之动画实现方法.分享给大家供大家参考.具体分析如下: 动画分为三种: 逐帧动画.布局动画和控件动画 控件动画实现 通过重写Animation的 applyTransformation (float interpolatedTime, Transformation t)函数来实现自定义动画效果,另外一般也会实现 initialize (int width, int height, int parentWidth, int parentHeight)函数,这是一个

python使用wxpython开发简单记事本的方法

  本文实例讲述了python使用wxpython开发简单记事本的方法.分享给大家供大家参考.具体分析如下: wxPython是Python编程语言的一个GUI工具箱.他使得Python程序员能够轻松的创建具有健壮.功能强大的图形用户界面的程序.它是Python语言对流行的wxWidgets跨平台GUI工具库的绑定.而wxWidgets是用C++语言写成的. 和Python语言与wxWidgetsGUI工具库一样,wxPython是开源软件.这意味着任何人都可以免费地使用它并且可以查看和修改它的

PHP调用C#开发的dll类库方法

  这篇文章主要介绍了PHP调用C#开发的dll类库方法,包含一个完整的详细的DLL制作步骤和PHP调用方法,需要的朋友可以参考下 有的时候,我们需要在php中利用到其他语言编写的dll类库,如C#编写的dll,方法就是利用PHP new COM方法来调用,在调用之前先要把dll库注册并把程序集放入到全局缓存中. 1. 创建一个 C# Class Library ,命名为:HelloWorld 2. 打开项目的属性,在点选左边的 "Application"(就是第一个tab) , 然后

win7旗舰版系统修改单机游戏存档的方法

  win7旗舰版系统修改单机游戏存档的方法 一.游戏存档 1.游戏根目录的save文件夹中(很少见); 2.个人文件夹/我的文档/游戏的出品公司或工作室的名称如(KOEI, TecmoKoei ,Telltale Games)/游戏名称/savedata; 3.个人文件夹/我的文档/My Games/游戏名称/saves; 4.个人文件夹/AppData/Local/游戏的出品公司或工作室的名称/游戏名称/savedata; 5.当然还有部分存档是不可见的,一般没有修改意义. 二.备份原本的存

潜行者:前端开发必备的工具或使用方法

工欲善其事必先利其器,有了本文介绍的工具和一些功能,你就可以高效的处理任务和信息.下面的这些工具都是本人平时经常用到的,如果你有更好的更有效率的工具,请告知一声,补充一下! 火狐浏览器 开发必备的工具或使用方法-"> 前端要看网页,浏览器是必备的,但为什么要选择火狐浏览器而不是谷歌.IE.opera.360?首先,IE就不要谈了,360那些国产的也不要提 了,opera 国内使用率并不高.使用谷歌浏览器也是一个好的选择,但是我本人倾向于使用火狐.因为在之前的使用过程中,感觉 chrome

用U盘更新游戏补丁的方法

  很多人都在玩x360的游戏,U盘也是每家都有的,今天就介绍下用U盘更新x360游戏补丁的方法. 注:这里的补丁指的是游戏补丁,例如极限竞速3的换挡补丁,篮球游戏的球员资料等,并不是指系统更新补丁(例如9199). 一.x360主机升级9199系统更新; 二.把U盘插进x360,U盘必须大于1G的,用x360把U盘格式成为x360的专用格式U盘; 三.把第二步中处理好的U盘插进电脑; 四.下载usb xtaf xplorer v32(beta3),一定要用usb xtaf xplorer v3