译注
原文地址: Flash Game Dev Tip #9 – Dealing with a lack of motivation to finish your game
你是不是在游戏开发过程中摸鱼?
正在画一个角色,突然发现很像半藏呢,那就去玩两把守望先锋吧,结果一下午过去了。
一个bug调了一小时都调不出来,休息会儿,看看最新的美剧吧,结果一下午又过去了。
如果上面的场景很熟悉,那就来看看国外的开发者是怎么解决这个问题的吧。开发者Richard Davey整理了13个同行对这个问题的回答,希望你能在其中找到适合你的方法。
原文较长,我照自己理解整理出下面几点:
- 使用todo list。一项一项地做,不会东想西想,也能让自己知道今天做了些啥
- 进入心流状态(flow)。进入心流的方法——立即开始做事,任何事都行,文中有个推动巨石的比喻非常恰当,要使大脑转动起来就像推动一块很重的圆形巨石,从静止到动起来很难,一旦推动就停不下来了。
- 做自己喜欢的游戏类型。
- 整个开发过程是有高潮有低谷的。别在低谷的时候放弃,这样你会失去到高点的机会。
我也注意到大部分开发者都有自己的个人网站。
正文
你不是一个人
或早或晚,每个开发者都会遇到这样一个问题:你就是不想继续制作你自己的游戏。当你是用自己的闲暇时间来做游戏时,这一点尤其困难。你很容易会想“管他的”,然后就点开军团要塞玩上两局,而不是FlashDevelop。就算有那么一天,你的大脑对你说:“我们来编码吧”,结果也可能是,你打开工程,却发现由于太久没有看代码了,就像盯着一门外语在看,或者像一面巨大的砖墙,你根本不知道从哪里下手,那仅有的一点动力也被消磨殆尽。
要解决这个问题,并没有一种单一的方法。这个问题因人而异。不想(或不能)编码的原因可能和读到这篇文章的人一样多。但我在开始就说了,你不是一个人——所以,我就如何解决缺乏动力这个问题问了13个游戏开发者,并整理了他们的答案。希望你能在这众多的见解中找到能帮助你的技巧或建议。如果说你有一个觉得好用的方法,本文中还没有提到的,欢迎在评论区里发帖补充。
那么我先来起个头吧...
Richard Davey / Photon Storm
http://www.photonstorm.com
我意识到我有一个游戏开发的“魔法条”。当我刚开始做一个游戏时,我的魔法条是满的。但当我开始编码后,这个魔法条就开始往下掉,并且越掉越快。有时候如果在一个游戏制作过程中碰到一个特别麻烦的点,它足以将我剩下的魔法全部耗尽,让项目泡汤。但也有“魔法补充点”,比如说完成了游戏很重要的一部分,或者加了一些很酷的东西进去。这些事情能够为我的魔法条充能,让我保持动力。这是一场持续的战斗。要在热情耗尽之前完成游戏,并且要在这个过程中有足够的“魔法补充点”,这样才能保持平衡。
但“魔法补充点”并不能被人为地放置在项目过程中。它们是意料之外的,就像果实一样是随着你制作游戏的过程而生长出来的。同样地,那些对士气的打击也是意料之外的。当我开始编码时,从没想到会被一个不知从哪来的bug缠上,但它还是出现了。
这个问题可以分解为两点:
1)如何保持动力,继续制作游戏
和许多人一样,我对一个游戏最感兴趣的是它的早期阶段。那种将你的点子从脑子里拿出来,付诸代码,为它带来生命的过程,能给你带来大量的成就感。我很享受这样的工作:制作一个可运行的原型,背后通常是用一些很乱的代码。这个阶段要做的事情是,多试错,然后决定是否在原型阶段就将这个点子打住。
利用这些原型
做一个原型,然后就扔在那儿,这也不是坏事。当然,如果你是为了钱而做,那这不能让你赚钱;但如果你是为了好玩才做(就像我一样),那么你不应该为只做了一个原型而有负罪感。如果在这个阶段,你已经觉得这游戏的机制不那么好玩了,那么不要只是把它放到你的某个文件夹里存起来,想着你某天还会回来把它拿出来做完。因为这种事情几乎不可能发生。如果在原型阶段最后,你都没有足够的激情来让这个游戏走得更远,那你以后也不会去做它。
然而别把它浪费了。想一想你做的东西怎么能帮到别人。也许你能发一篇“我做了这么一个小demo”的帖子到你的博客或者论坛上。或者稍加改动,它就能变成一个教程发到一个开发网站上去。你也许会收获一些意外之喜。我就有这样的经历,有人给我的demo建议了一个改动,结果彻底地改变了游戏的命运,最后也完成并发布了。我前面说过,魔法的补充可以来自任何地方,有时候是最没想到的地方。
做点开发游戏之外的其他事
毫无疑问,做一个完整的游戏是很困难的。即使是最简单的游戏也需要做一些繁琐的工作才能发行。但发布游戏时获得的那种热血上涌的感觉和纯粹的愉悦也可以从制作游戏之外得到。我的读者们知道,我手上有许多游戏开发项目,比如Flixel Power Tools插件和一些教程。要说我做这些的原因,一方面是我喜欢写作,另一方面是,我还记得刚开始接触开发时的那种感觉,我就像一块海绵一样,贪婪地吸取着我接触到的每一点知识。
创作并发布这样的内容其实是一件很爽的事情。所以说你不想做一个完整的游戏?没问题——那你能做一个demo来演示如何让一个角色从一个平台跳到另一个平台吗?项目的规模变小了很多,但最终做出来的教程也许会对其他的开发者有很大的帮助。而他们的反馈也许足够激励你来完成那些更难的、必要的工作。
当然,写作的一个不好之处就是,它们会占用你真正去做游戏的时间。llija在下文中也会证实这一点。
公测
我们为一个叫Kingdums的游戏做了一次公测。我们把游戏发布到一个网页上,在下面做了一个大大的反馈表格,然后在twitter上给出了测试的网址。测试持续了一周。得到的反馈很有帮助,因为它指出并再次确认了游戏中一个很重要的缺陷(这个缺陷我们知道,但这次测试说明它的影响很大)。除开这个缺陷,人们都很喜欢玩这个游戏。其他的开发者进行公测的原因是类似的——大多数是为了找出游戏中没注意到的bug,但并不只是这个原因。有时候你会得到一些建议,提醒你没看到的问题,而有时还能帮你打打气。
不光是代码可以测试,你可以贴上游戏截图,角色背景介绍,甚至基本故事框架。
时间限制
有人不能理解在限定时间内开发一个游戏的意义。而有一些人又很享受这种挑战。就我个人来说,我是属于中间的那种人。我没有机会参加像Ludum Dare这样的活动,因为我的家庭生活不允许我周末干这个。但我在限定时间内做一个游戏的那几次尝试(我们做过3次了)效果都很好。Todo list被快速的划掉,只关注游戏中最根本的那些点,时间限制会让你很好地集中注意力。试试吧,也许你会喜欢的。
使用待办列表(Todo list)
你会看到这条建议在下文不断地被其他开发者提起。llija和我使用免费的Wunderlist。我喜欢它能从手机端、PC端同时添加条目和同步的功能。对于原型,我们不用列表,只用在深度开发中的游戏上。我觉得用“做一个敌人管理器(enemy manager)”这样的条目来开始一个列表没什么意义,感觉太早了。
2)在编码时卡住了,怎么办?
这最好办了。如果你遇到一个编码上的问题,你就去问好了。如果你不在一个可以随时向其他程序员问问题的环境里,那么网上还有上百个很好的游戏开发社群。你应该加入一个,然后真正的参与进去。帮助其他人解决一些你解决过的问题,也把你的问题发布到上面。通常都会有人帮忙的,或者至少指引你走到解决问题的正道上去。如果你试了几个小时也不能解决一个问题,也不能想到其他的方式来接近答案,那你需要另一个人的大脑来帮助思考。你拖着不去寻求帮助的时间越长,你越可能完不成你的游戏。
别内疚
你只是人类而已。人类需要在工作、休息和玩之间找到一个好的平衡。而开发者们非常不善于平衡这三种因素。有一张非常出名的制作人图,其中有“成本-速度-质量”三个点和一个准则:你只能在这三点中选择两个点。所以,速度+质量的代价就是高成本,而低成本+速度意味着低质量。
我感觉对开发者来说,这可以改成“编码-休息-玩”。这里的“玩”我是指做编码之外的事:看个电影、陪一陪你的另一半、读一本书、玩Xbox等等。太多的编码时间加上足够的睡眠通常意味着你放弃了“玩”的时间。如果你是蜡烛两头烧,白天做一份很繁重的工作,晚上又编游戏,那你就要牺牲“休息”和“玩”。如果当你坐在电脑面前,发现完全不能集中精神来编码时,那立即停下来。别抗争,别勉强,停下来做点其他的事(最好是不用电脑的)。然后第二天再试着做。如果你已经疯狂地工作了一周,每天都只睡几个小时,那就去还睡眠债。
开发过程就像坐过山车一样,有高有低。如果你觉得自己正处在一段编码狂潮中时,那就好好享受并利用这段时间,但当它结束时(它会结束的),快速的换到另外一项工作上去,过一段时间后又换回来。你越快地意识到你当下的状态,你越能高效地工作。我还不是非常精通这一技巧。我还有许多未完成的游戏,事实上前文的插图就来自我还没完成的游戏,它们还有很多。但我从来不会一直呆坐着。如果我没在做游戏,那我就写作,如果我没在写作,那我就会上论坛去帮忙。如果我没在论坛,那我可能会玩一会儿CS。我要说的是,我感觉我在这三者之间平衡得很好,其中一个不会压过另外一个。我只是希望我一天能多几个小时。
我要说的就说完了,现在来听听其他13个开发者怎么说吧...
John Cotterell
我每天都会做点东西,即使只是做几分钟,这样我一直都有所进步,还能让你养成做东西的习惯,这样一来,当你有动力的时候,你一下就能做很多东西。
当我做商业性的工作失去兴趣后,我会把工作分解为小得很蠢的步骤——导入资源、向某个类里添加方法、给项目经理发邮件等等。这样做能够保持势头,也能将大的图景隐藏起来(有时候你需要这样)。
心流这个概念是每个开发者都应该去了解的——它和我们密切相关,要完成好的游戏设计,心流是非常关键的一点,它也能帮你完成你的工作 http://en.wikipedia.org/wiki/Flow_(psychology)。做为一个开发者,我少有进入这种状态,但时不时也有那么一两天能够进入,在那种状态中时间真的一下就过去了。
Bas / Bits of Bas
我同时在做几个巨型的客户项目,从二月初开始就在不停地赶deadline,工作日从早上7点工作到晚上21点,周末就9点到下午15点。可想而知,我的动力已经被糟蹋得不行了。我甚至都不记得当初是什么让我想同时接这么多项目了。
是下面这三点让我还能保持神智清楚:
- 我的待办列表。能让我不东想西想,直接去做列表里下一个要命的事项。
- 一想到会有一笔不错的确定的钱(而不是来自赞助者“可能”的钱)等着我去拿就好多了,有了这笔钱,我就能度一个长长的夏季假期,也能为我自己的项目打下基础。
- 隔几个月后,当我回头来看时,我会为我做的东西感到骄傲的。乐观点总是没错的。
至于我自己的项目,以下几点都有些用:
- 选择你真正喜欢的游戏类型来做。这让我能够乐在其中。
- 如果你知道你的动力是你的缺陷,先做一些小的游戏。
- 一个好的GTD方案或者待办列表,一点一点的完成。
- 在一个(小的)团队中工作,当我的搭档完成了所有的美术工作,我就不能说我不想继续做下去了。
- 别一下子开始几个项目。我对自己说,一旦完成了这个游戏,我再继续挑选下一个要做的游戏。
突然失去动力的话,可以试试:做做家务事、吃零食、出去散步或者购物、在一个友善的论坛上发帖。
Olli / Gaming Your Way
我通常不需要给自己打气,然而我们现在在家做的项目已经拖了9个月了。它比刚开始设想时大了许多(也好了许多)。支持着我坚持做下去的是:待办列表(producteev.com和安卓上的astrid)和我知道它就快要做完了。
对于个人项目来说,就是另外一回事了…
我现在在做两个游戏:crystalis和一个很复杂的hellstrom。对这两个游戏来说,都是因为有待办列表和我很喜欢使用C#/Unity3D来工作。然而有一件事情让我分心,那就是我老婆。不然的话,我会花更多时间来做游戏。她总是给我说,如果你觉得需要花更多时间来做游戏的话,你可以去做——但女人们总会接着说下一句,那就是“但你最好别”。幸运地是,她是一个场馆的管理员,每周至少会上一次夜班。
编者的话:Olli在这里提到了一个真正的问题——就是家庭生活可能会成为障碍,以及开发者们想要“逃离”,进入自己的小世界,他们也会有一定的负罪感。毫无疑问地,我们爱我们的家人,也喜欢花时间陪陪老婆孩子。但对于我认识的大部分极客(Geek)来说,他们真的需要逃离这一切,在他们的电脑上去做一些建设性的工作,即使就那么一小会儿。这个话题要用一篇文章来讨论。
Julian / LongAnimals
http://www.longanimalsgames.com
- 想想钱,还有如果你不好好存钱,你老了会很惨的。
- 别在一个项目上花太多时间。
Iain Lobb
http://www.iainlobb.com/
如果你感受不到这个项目,最好把它分解成一个个小的任务,然后一个一个完成。这个阶段其实比较无脑,所以我会一边做客户的工作一边听DVD或者播客。对个人/独立项目来说,刚开始时,规模最好小一点。随着项目进行,规模会变大,但在一开始时采用小规模至少能保证你不会一开始就失败。另一个很重要的点就是,先做美术部分。这能给我一个最终作品的景象,让我有动力继续做下去。如果你用一些灰盒子来开发,会给人感觉永远也不可能做完了。
Squize / Gaming Your Way
选一个我非常想玩的游戏,我很少会去迎合市场,做市场需要的游戏对我来说是一件苦差事因为通常它们都不是我喜欢的类型。如果我是在为自己做一款游戏(个人项目应该是这样的),那一定是因为我很想玩这个游戏。
把无聊的事情分开来。不管整个游戏做起来多么有趣,总有一部分是很无聊的重复劳动。如果我知道今天我会花一天时间来做一些工作,这些工作会让我内心死去一点点,那我明天就会安排一些有趣的工作,通常是一些视觉上的。
个人荣誉。[这段没怎么看懂,就没翻了]
告诉其他人。如果你想戒烟或者减肥,那你就告诉其他人,这样你就无路可退了。对做游戏来说也是同样的,尽早并且经常给人们展示你的东西,在你做出承诺之后,你就不会那么容易退出了。
一次做一个项目是很重要的。它能带来专注力,也能防止你的点子在项目之间窜来窜去的(比如:我刚给A游戏加了一个不错的点子,等等,如果我稍微改一改,那个点子也能用到B游戏里去)。
一个隐藏的好处就是,当一个项目开始时,你有一个崭新的项目可以期待,而不是一些很苦或者重复的工作。
Ali / Alillm.com
我发现当我对一个项目感到厌倦,想要开始一些新的东西时,最好就放弃然后开始那个新的项目。如果我不这样做的话,我会不停地在脑子里想新的项目,原来的项目也不会有任何进展。新项目做了一段时间后,我对它的热情会消退一点,也更容易劝自己说,也许原来的项目才是最合适的。
一个好的副作用是,一旦我完成了原来的工程,我已经有了一个好的基础来开始我的下一个游戏,不用再从一个空白画布开始了。
待办列表也是一个很好的帮助,特别是在最后阶段,需要添加那些无聊的部分时。
Chris Houston / Utinni Games
我发现待办列表一个有用的一点就是,在一天结束后,你可以看着列表说“太棒了,我做了这些”,然后一项一项的勾掉。你可以看到你的进度,不然的话你往往会一头扎进一个大项目里,然后有那种完全没有任何进展的感觉。
最近,我通常使用两个列表,一个“头条”列表,一个“bugs”列表。头条列表里是“加入坏人”这样的东西,而bugs列表里是那些在开发过程中出现的烦人的小bug。当bugs列表涨到超过头条时,我就一次性地把它们全部清理掉,然后再回去做那些好玩的部分。
我最近意识到一件事情,就是所有的项目都有它的高潮和低谷,有好玩的部分和无聊的部分,有些部分会激励你一直工作到天亮,而有些部分你连看都不想去看。如果在做到低谷的时候放弃这个项目,就意味着你也没法享受到接下来的那些好的部分。
Chris Underwood / Deeperbeige
在做外包工作时,动力对我来说不成问题。我可以拒绝那些我不喜欢的项目,所以我至少对要做的工作是有一点兴趣的。项目完成后会有一笔钱等着我,也会有人一直在检查你的进度。这听起来很势利,也没什么人情味,但事实上不是的。我会力所能及地为我的客户创造价值,也对得起他们给的钱,而且我绝不想制作烂游戏。
个人游戏就是另外一回事了。没有外界给你定的deadline,也没人催着你赶快完成,而且工作的机器上还装了最新的游戏大作,很容易就走神了。我发现最好的方式就是“脑-动量”(brain-momentum)。如果你能进入心流的状态,高效地工作,甚至意识不到时间的流逝,那你就成了。但难就难在不容易进入这种状态,你要做的就是不断地努力。这就像推动一块很重的圆石,需要使很大劲才能推动,一旦推动了那就无可阻挡。我的诀窍就是在一开始就强迫自己去做那些又难又费劲的活儿。我必须强迫自己去做。
有时候,我需要先解决一些其他的事情,否则它们会一直把我从高效状态中扯出来。把那些很重要的邮件发了,把发票开了,把衣服洗了,把最新一集的《流言终结者》(MythBusters)看了,以及把最新的游戏玩儿完。然后就对自己狠一点。没有借口,没有休息。打开Flash,坚持工作一小时,可以是看看代码,调整一下关卡设计或是做点别的什么。做什么都可以,目的是要使动量累积起来,所以可以选择一些简单有趣的事情。一旦你有了“脑-动量”,剩下的事就是水到渠成了。
Dave Munsie / Munsie Games
我曾经有很严重的动力问题。像多数人一样,我学会了一小步一小步地做事。如果我不工作的话,我就挣不到钱。
Tony / Tonypa
我不接外包工作,所以我做的游戏都是做起来好玩的。因为没有钱的因素,只要项目不再好玩,我就把它停了。这种情况发生的很多。这些年来,每10个游戏里,我就只做完了一个。
我甚至都不太喜欢编码。大部分乐趣来自于想象某个机制能怎么运行,通常在半睡半醒的时候想。只有当写代码改进或者改变了最初的想法时,我才觉得写代码是有趣的。在代码里出了点错,但创造了新的有趣的玩法,那就把原来的点子丢掉,改做这个新的东西。对我来说,做游戏很像是绘画或者写小说,它是一个创造的过程,对于你想做的东西,你有一些粗略的想法,但这个过程才是你做游戏的主要原因。
有一点我注意到,就是别太早开始做美术。如果一个游戏用方块和圆圈表现时不好玩,那它就算套上机器人/僵尸/吸血鬼的皮也不会好玩。所以我通常会用盒子和圆圈很久,有时候习惯了就懒得加上必要的美术资源了 :)。
Rob James / robotJAM
我认为和其他人一起做一个项目会有帮助,我和其他人会相互催促对方的进度。在非外包项目里,还有一个动力就是,你做的越快,利润就越多。
我发现我很讨厌一个项目刚开始的几天,在那之后,我们会做出一个不错的原型。项目的中间阶段是最棒的。我也很讨厌项目收尾阶段,你认为做完了,但并没有,还需要再做一段时间才能真正的结束。
在项目的最后一周,我们会使用列表,然后一个一个问题的解决。
Ilija Melentijevic / Photon Storm
我用了许多不同的方法来解决不同的问题,我就一股脑的说出来,你们试着去理解吧。很久以前,我也有开头难的毛病。典型的拖延症,因为你很久都没有做事,你就想着要一下子做出一件了不得的事情来弥补,但这样往往让情况更糟。
我的技巧就是马上开始做,任何事都行。做事并不是为了完成它,而是为了享受这个过程。我会拿起一支笔随便的画点东西,画得好坏都无所谓。目的是为了记起一开始我为什么会喜欢做这件事。我们都选择去做我们喜欢的事情,如果你忘记了,你就需要去除掉那些让它不再有趣的东西,从头开始。
另外一个技巧就是故意放慢做事的速度。这样能将过程和目的分离开来,进而让我不那么急躁。在我需要做洗碗或者类似的事情时,我也会使用这种策略。我就是开始做,过了一会儿,这事儿就神奇的完成了。
所有这些都可以归结为“让时间停下来”。我每天到办公室去,别人发了很多链接给我,我就一个一个的点开来看,我发现这样会失去对自己时间的掌控,这时候我就会停下来,试着活在“当下”。就像外面有个很吵的机器一样,你完全听不到自己的想法了,因为都被噪声掩盖了。
我习惯于去做那些让我有激情的事。我觉得这是很重要的,也不后悔。缺点是,我会同时开始一万件事,同时做一万个项目,很容易就失去了焦点。当我对另外一件事感兴趣后,正在做的事情当然就完不成了,就把它丢一边,我觉得这样做没什么不对的。
也有些时候我对任何项目都提不起兴趣,这些时间我就用来继续之前放弃的工作。我会做列表,把文件和文件夹放到电脑桌面上来提醒自己。只要有一点时间,就做一点工作,聚沙成塔嘛。
有时我会想,领工资干活时,我干得都不少,如果是给自己干活,那应该要干得更好才行。我告诉自己,如果连自己觉得有价值的事都不想去做,那其实挺丢人的。
还有,我一个朋友说过这么一句话,我觉得挺有道理的:“再过十几二十年,没人会记得当时你有多么的难,你是累了还是病了,你亲近的人是不是过世了。留下的就是你做的东西”
我会记住这样一些警句,将我从每天的摸鱼状态中打醒,提醒我每一天都是特别的,我也是特别的(因为世上没有两个相同的人,所以特别 :D),我应该去做那些只有我才能做的事情,而不是在网上或者电视机前浪费时间,或者追剧,或者玩那些二流游戏。当然,人是应该时不时地放松一下,但我们通常都放得太松了,而不是绷得太紧。
好像说得有点乱,让我来总结一下吧。我觉得把自己做过的事情记录下来是件好事,这样会让我有自信,进而不容易犯拖延症。就算是用简单的番茄工作法也行。
很不错的文章,想摸鱼了看一看
很不错的文章,我就是想摸鱼了才翻译的