游戏终于发布了,媳妇问我赚的钱够买包盐不?我说应该够了。
《RunningDead》上线没多久后,potion就准备去找工作上班了。从2016年10月离职回家做独立游戏到产品上线,他用了差不多半年的时间。在这短暂的时间里,用他自己的话说是:“跑通开发到绿光到发布的一整套流程,现在跑通了,绿光要没了。现在游戏发布了,已经回去上班了,独立游戏还是没法养家糊口的。”
在开发游戏的过程中,他也零散的记录了一些自己的开发日志,以下是他的分享:
我是一名制作人兼美术兼策划,从业很多年,这是我第一次自己做一款完整的游戏。作为尝试性的制作,我没有选择太复杂的游戏类型,也并没有打算一定要以此盈利,为得只是实验一下自己的能力是否能够足够完成。
因为不会写代码,所以我选择了Construct2作为工具,自己绘制资源,设计结构和编写。我选择了以一款半年前我爱不释手的小游戏BB弹为原型,开始了属于自己的游戏。
作为游戏从业者,直到游戏上线才真正拥有自己的游戏,说来不容易,其实也挺简单的。做了这么多年的积累,真正要自己做的时候会发现一切都是水到渠成的,没什么难度。
一、开端
《RunningDead》并不是刻意要做的一款游戏,起因是因为穷,没闲钱买好电脑舒舒服服的玩游戏。
去年10月我刚好辞职回家,打算好好休息一阵,给自己一个舒服的假期。
原本的计划是,买台胶囊咖啡机,每天睡到自然醒给自己来杯香喷喷的咖啡。把用了快7年的电脑换掉,能够安安心心的在家玩两盘守望先锋,或是把steam库里积攒很久的喜+1掏出来玩玩。
然而现实问题是,一旦离开工作你就会发现生活开销和房贷立刻成为巨大的压力摆在眼前——媳妇说,买什么电脑,在家呆几天就赶紧回去上班去!
看着眼前的破电脑,我知道没办法如预期的那样享受一番后,我开始思考是不是该做点什么。
我是一个同时拥有美术和策划经历的游戏制作人,在游戏行业做过不短的时间。从美术硬转成策划,源于我的不安分。早在07年我就在尝试学习GMS制作自己的游戏,而快10年后的今天,我想利用这次假期重新开始那时候的梦想——自己独立开发游戏,而《RunningDead》则是我尝试独立开发的第一步。
二、开发工具:Construct2
作为一个美术,我做过从2D到3D,从动画到特效乃至UI和视频等几乎所有工作,策划和游戏制作人的经历让我对游戏设计和产品开发流程管控都有清楚的认识。
然并卵 —— 我不会写代码!
幸运的是,我找到了Construct2这套开发工具。简直太适合我了:无代码编程,只要理解一些程序基础就能够做开发。以前我用过GamemakerStudio的GMS,比较起来C2简直太友好了。
我开始用以前制作的僵尸小动画在C2上做大量的实验。两周后,我完成了一套逻辑较乱但体验还可以的平台游戏DEMO。在这个Demo里,我可以操作绿色的僵尸跑跳吃金币,躲避红色僵尸的追击,拿起箱子开启机关门。我甚至制作了移动端的版本,用XDK打包了APK文件放在安卓上运行起来。
三、《RunningDead》最初只是另一个DEMO
利用Construct2,我完成了第一个实验DEMO后,我决定制作一个更完整的DEMO,包含完整的游戏逻辑,并可以持续体验几个小时。
我想起了手机里一个玩的不亦乐乎的游戏——BBTAN。这是一个计分打砖块的游戏,每个砖块有自己的生命数字,通过发射弹珠反弹消耗数字消除砖块。
我决定按照BBTAN的思路,复制这一核心玩法,并在完成后进行改良。
这一天是11月5日,我花了几个小时初步实验了原型,并因为没有断电没有保存而失去了一切。11月6日,我怀着复杂的心情,正式开始了RunningDead的原型开发。
一周后,我完成了原型开发,但是我并没有制作美术资源,而是仿照BBTAN的样子,用方块+数字的方式表现一切,并在简陋的游戏原型中体验其中的游戏性。
四、美术制作
鉴于实验Demo的素材是僵尸,我很快定下来了方案,玩家将操作僵尸在公路上啃人,我都能听到咔嚓咔嚓的啃咬声了。
第一次绘制像素资源
这是我头一次正式绘制像素资源。以前虽然也有画过,但基本都是练习或资源ICON。我在网上买了Aseprite,用了2天感觉非常顺手。比起来用PS画逐帧动画就是自虐。
几天后,第一组角色出炉了:
是不是看着还挺像回事的?然后我就发现我把自己坑了——做为像素游戏我绘制的太精细了,导致根本不像像素风格。与此同时场景在这个精细度下根本没法画。没办法,我找来其他像素游戏看,我发现他们的角色都能清楚的看到像素块,这就是说,他们的原图尺寸可能很小,放到游戏里故意放大的。
于是我重新绘制了几乎所有资源,缩小到了原来的1/2尺寸:
我开始一边绘制,一边思考游戏该做成怎样。
这时我突然想起,很久以前我也曾经做过一个带有攻防数值的泡泡龙LIKE的设计方案,于是就想出来这个新玩意。
我将敌人做成了像泡泡龙一样错位的出现,同时将僵尸的实际碰撞尺寸修改的很小,这样终于解决了碰撞问题。
但这还不是关键,消除类游戏的特有爽快感在泡泡龙式的“同色相消”规则添加后出现了。
“僵尸”的感染设计
经过一番的努力,我把游戏的基础框架搭了出来,并将试玩版给一些朋友体验。
有一天,群里有人突然说:僵尸为什么不做感染?
我说:一开始打算做限制僵尸个数+感染获得新僵尸的,但现在不是这个玩法了,做感染的僵尸会给人获得僵尸的错觉。
然后我突然灵机一动,让僵尸感染后直接继续弹不就得了?场面越混乱越好。
实际也是这样,随机产生的感染让游戏充满不确定性和爆发性,甚至有可能因此一次消除全部敌人。
五、思考与转变
以前我也曾用Gamemaker制作过小游戏的Demo。那时候经验尚浅,想好设计后就开始写脚本编码实现功能,之后再去制作美术资源。等美术资源完成后,回头一看自己写的脚本已经不认识了。回想起那段手忙脚乱的记忆,我这次刻意的尝试自我协调。
独立开发与团队开发的不同之处
正式开始前,我花了一周的时间自己和自己磨合。为啥要磨合?因为是一个人做游戏。
我之前做过美术和策划,程序写过脚本语言,管理过团队,带过项目,但从来都是团队开发。
所以第一周的工作,就是让不同分工下的自己互相磨合,理解什么东西该交给美术potion,什么东西应该交给程序的potion。
这听起来很扯,但实际情况是,在合作开发中往往会有分工上的扯皮。例如一个小功能,是程序写代码实现动态效果好,还是写死好,或是美术直接用动画效果来做,亦或是设计上妥协更换需求效果。
在合作开发中往往会因为这些问题先讨论功能需求、分工,时不时还因为工作方法的不同互相扯皮。
但在独立开发中,一切问题都消失了,自己和自己的合作,一切都以最优解为最终导向,所有分工的目标一致,互相“商量”得到最优解。
最终的成果令人惊讶,《RunningDead》核心内容我大约开发了6周。 实现功能的效率估计比合作开发快4-5倍。一些非常有效果的小功能,在团队中可能会因优先级的问题直接移后一直拖着直到开发完成都没实现。个人开发却可以在几分钟内就实现,再几分钟就完善了效果。
设计思路上的转变
很久以前,在我从美术转策划的痛苦过程中,我第一次受挫就是被战斗逻辑打败。那时候天真的我做了个天马行空的战斗体验,之后完全把自己坑在里面,想死的心都有。现在想想好像并不是很困难的状态机,在那时候简直让我怀疑自己的智商。之后很长一段时间,但凡有和战斗系统相关的设计我都会去做,并与程序讨论完成设计。
直到我最近才意识到,在策划的角度,能够理解程序的设计思路到底有多重要。当我设计《RunningDead》的核心玩法逻辑时,我几乎一并将玩法和实现逻辑全都梳理清晰了才开始正式去写。这之后编写的时候简直行云流水毫无障碍,效率高的我自己都吃惊。
最后
因为是辞职自己做游戏,媳妇很快就问我啥时候去上班,不能这么一直吃老本儿,所以响应号召我给自己定下了春节后就上班的期限。
在我开始做独立游戏开发之前,我就比较担心自己的开发状态。因为在家太舒服了,随时可以床上一躺,或是泡杯咖啡,叫个外卖享受一下。而做之前也听闻很多业余团队或网络团队效率低下,导致研发周期非常漫长,节奏缓慢。
所以我恢复了之前的工作习惯,RunningDead的开发期间,每天我都会写Review。从11月13日到12月4日,游戏核心内容的开发期间每天我都会将当天的开发内容,以及第二天打算解决的问题都列出来,这使我的开发效率大大提升,每天都知道该做什么,而不是浑浑噩噩的做一天算一天。
游戏终于发布了,媳妇问我赚的钱够买包盐不?我说应该够了。
《RunningDead》对我来说是一个小品级的实验。我完成这款游戏是为了跑完全套的开发流程,尝试成为独立开发者,以及体验独立开发的乐趣。甚至在游戏的开发过程中,我还跑去参加了今年的GGJ,体验了一把48小时极限开发的刺激。
国内的独立游戏开发者现在都很艰难的在生存着,而这款游戏并不会给我带来什么收益。游戏在3月3日发售的时候,我早已经又回到了工作中开始为了养家糊口而努力。
对我来说,这是一个很棒的假期,同时也是一个从0到1的很好的开始。