在独立开发的路上,请保护那份对游戏最初的热忱!

这篇文章是2016年偶遇了优秀的萌妹子编辑小五,应邀写了一个自己开发游戏的经历小结,算是对自己一段经历的概括,这篇文章首发在游资网 链接 是文本的编辑整理版本。偶尔读读还是会回想到很多难忘的记忆。

游戏之初体验

我的名字叫曹俊丹(男生)英文名叫Andy(并非刘德华粉丝,叫这个名字是因为喜欢KOF97里面的不知火舞,了解此作的人应该知道Andy意味着什么吧)。目前在某大国企做技术方面的管理工作,业余时间制作独立游戏。接触游戏估计得追溯到小学三年的时候了,家里由于父母工作原因搬家,来到另外一个城市,接触到了一些小伙伴家里有游戏机(任天堂FC),立马被这东西给征服了,记得接触的头些日子,脑子里基本被这东西神奇的力量所占据,现在想想那感觉就和爱上某个人脑海里挥之不去是一样一样的。然而那时候家里没什么钱,就算有钱,爸妈也不会给我买一台游戏机,当时这东西可是洪水猛兽。然而,有意思的是,有一个偶然的机会小伙伴家里的游戏机坏了,土豪的别人家的爹地,毫不犹豫滴又给小伙伴买了一台新的,当时我都羡慕的傻眼了,然后就恬不知耻滴和小伙伴商量,你的坏的游戏机能送给我么?小伙伴喜新厌旧,况且是个坏的,就毫不犹豫的游戏机甩给我了。我拿回家后如视珍宝,潜心研究几个月,学习了一门新技术-无线电,然后愣是把这台游戏机给修好了!始终还记得当时把一堆线路板摆在桌子上,插上手柄,游戏卡带,通电瞬间画面亮起的感觉!知道一个叫兴趣的东西有多么大的能量吧!现在我还有无线电这门手艺,也多亏了游戏,在之后的日子里,像是电器坏掉或者制作航模,包括大学物理的电学部分,我都游刃有余。

一些基本资料

接触编程

到了大学,第一次自由的接触到了计算机,学校的机房就像一个大网吧,在里面我遇到了大学时代的挚友,大鹏,第一次看到活人设计网页也是他了,当时被这门技术惊呆了,心理默念的就是 “原来网页是普通人类可以做出来的!我一定得会这个!”。就是这样我第一次接触了代码,知道了什么是编程,虽然当时的HTML连脚本都用不上,很多页面都是用Frontpage勾勒出来的,但是毫无疑问的是,我进了一个全新的世界,这里异常丰富多彩,我瞬间体会到了为什么刘姥姥逛大观园那么兴奋……
然而很快,我就对传统HTML网站失去了兴趣,因为我遇到了Flash,这里有更加丰富的表现,更好玩的动画效果,更重要的是距离游戏又近了一步。踏入Flash领域一入就是十余载,从做广告条、到做片头动画、宣传片、纯Flash网站到后来的企业级项目和小游戏。期间还获得了各种学校网页和动画比赛的冠军亚军,作为当时的车辆与动力工程专业的我,不知道有多少同学为我捏了一把汗,这孩子太不务正业了!一直到Adobe把Flash玩坏了,我才慢慢离开了Flash圈儿,开始了我iOS开发的道路上去。

第一款游戏

我做的第一款比较完整的游戏叫做《飞飞-自由飞翔》,是纯Flash游戏作品,但年Flash游戏非常的流行,就跟今天的微视频或者朋友圈一样火爆。这个作品是为了参加一个Flash游戏比赛而做的,所以时间非常的紧张,好像最多也就只有半个月的时间来开发。那时候刚好赶上我放寒假,在回程火车上做好了游戏的原画设计。家里并没有电脑,我就让我爸爸带着我去家里的电脑城租机器,让我爸爸印象深刻的是电脑店的老板说,你的需求还蛮奇怪的,人家租电脑都要装一堆游戏,你却要装软件。冥冥中爸爸也改变了对我这个贪玩孩子的刻板印象。2个礼拜,我觉得时时间似乎过了一个月,起早贪黑的干,连画图设计再到编程音效,还有各种算法要边学边用,中间还有存档丢失的事故发生。游戏做好之后让表哥来测试,最后顺利的完成提交。虽然那次比赛的成绩并不理想,只得了优秀奖,但是游戏本身却得到了大量玩家反馈,超过了1万的浏览量,这对我之后继续走游戏的道路夯实了信心基础。玩了那么多年的游戏,现在终于让别人玩上我的游戏了,我来制定规则,有种上帝的感觉。这种体验棒极了!
飞飞自由飞翔闪吧地址:http://www.flash8.net/flash/13784.shtml

飞飞-自由飞翔游戏界面 当年的源文件还可以打开 这应该算是我第一个设计的BOSS角色

工作

也就是因为第一款游戏的小成功,毕业之后,我被一家大型国有软件企业的项目经理看中,来到了北京,开始了一段新生活,并在这里遇到了我现在的妻子,如今已经相伴10年之久,并即将拥有我们的孩子,想到这个还是蛮激动的。

爱好

我个人是个闲不住的人,所以一直都会给自己找事儿做,工作之外的业余时间我总会安排的满满的。这几年里,当了8年的喵爸,喜欢涂鸦,还做了6年的站长,经营了一个叫做意赢互动(www.eingzone.com)的网站,做博客音乐播放器的定制化,当年最辉煌的时候每天注册用户超过2000人。用户最多也到了100多万;我的另一个爱好是玩航模,从固定翼到四轴飞行器,再到fpv(第一人称视角)飞行,虽然飞的还不怎么样,做飞机的技术确实提高了很快,这点也常常被老婆吐槽,人家玩航模在天上,你在家里就可以了。过了30岁,突然意识到身体的重要,健身,就是从这一刻开始的,经历了2年多的锻炼,体重从多年的160斤降到了稳定的67公斤,体脂含量也从25%以上变成了 17%以下,体能提高了不少。这里也提醒各位独立开发者,身体是本钱,路可以走慢点,但是身体要照顾好!为了走得更远点,为了自己也为了家人。

比较喜欢的一个涂鸦作品 渔鱼 家里两只神喵 健身的习惯锻炼了身体的同时也给了我不少其他领悟 航模也是无法割舍的乐趣之一

重回游戏圈儿

开始

然而,我始终没有忘记第一次做游戏的激动和快乐,所以冥冥中我告诉过自己,我可能还是会做游戏的。就这样07年iPhone发布,震撼了世界,我虽然后知后觉,但是也发现这是个伟大的平台,太适合独立开发者的大平台。2009年买了自己第一台MacbookPro,也第一次切换到Mac OS平台,基本第一年都没干什么活儿,就光熟悉系统和接触新软件了。但是当时的目标很明确,就是要写一款简单的游戏练手!
第一款游戏叫做《咯吱咯吱》灵感来自于当时社会的热点事件-捏捏族,上线后确实带给我不少惊喜,本来是一个很简单的游戏,下载量一路飞升,最多几日每天都有过万的安装,排行榜更是跻身到分类前几,总榜单最多到了13,可惜没留下截图,最后截图还停留在第22名。

当年的图标设计对下载量的提升帮助不小 虽然只经历了短暂的高峰,但是对于个人信心的增加还是非常大的 咯吱咯吱现在仍然可以扫描二维码在AppStore里下载

走弯路

其实最初的想法很简单,觉得做游戏也没什么困难的,毕竟也是个10多年开发经验的老程序猴,但是在开发过程中才知道业余一个人完成游戏项目,其实某种程度来说算是从零开始。就算你之前有过多么牛逼的项目经验和丰富的开发技巧,面对一个独立项目之后,很多东西突然失效了,我相信从事过一些独立项目的人都会有体会。举个不太恰当的例子就是你就算是铜锣湾的扛把子,面对老婆或者家庭生活还是没办法那么霸气和自如,面对同样的实物,在不同的情形下,确是差之毫厘谬之千里。
在技术路线上,我觉得自己是走了一个非常大弯路,进入iOS开发的领域后第一时间发现了Cocos2d-iPhone,当时不了解Objective-C语法,边学边啃,然后写了人生第一个iPhone游戏,因为我做了Flash有10个年头,所以其实心里始终对Flash是有感情的,在看到Adobe宣布Adobe Air支持iOS Android 跨平台开发之后,第一时间又转向了Flash 由于Cocos2d-iPhone并不支持跨平台特性,所以Flash有了很大优势,抱着对flash的旧情以及新特性的诱惑,感受到了某种旧情人整容后再次相见的感觉。然而,剧情往往都不是顺着你的意愿来演绎的,在做了一款叫钉钉钉! 的休闲虐心小游戏之后,我也不想在这条路上继续和旧情人约会了。Adobe不但没有解决Flash的运行效率问题(虽然也有Starling等高效方案,但是语法和结构改变还是很大的),在和原生程序沟通的问题(ANE)处理上也差强人意,虽然我也解决了很多问题让游戏顺利上线,但是还是觉得用起来很堵,时常给我一种隔着棉裤挠痒痒的感觉。在看到Flash某大神在Youtube发布的视频里说:“我可能是这个星球最后一个使用Flash的人了”,这样的调侃之后,我也决定忍痛放弃这条技术路线。

唯一一款上线的Adobe Air制作的游戏作品:钉钉钉!

现在我用了Cocos2d-x虽然已经开发了2款游戏PiuPiuPiu(PewPewPew) 和另外一个无尽模式游戏擦边球(Edge Balls)。但是我想吐槽的是Cocos2d-x入门简直就像月球表面,到处都是坑啊!各种版本分裂,网上找到的教程基本有N个版本,语法都不一样,从来不标明用哪个SDK。官方api文档里很多函数连一句话说明都木有,如果不是咬着牙啃过了那个阶段,我估计我早就放弃了。
游戏风格是有一个让我有巨大挫败感的事儿,我不是科班出身,原以为我自己做简单风格的游戏而已,自己又热衷涂鸦应该不是大问题。但是美术还是花费了我大量的时间,不是设计不出来,而是把握不好风格,风格经常随着自己的理解想法和心情就发生了变化,导致无数的返工。然而这还不是最可怕的,不断的修改和返工造成的严重问题是让自己对项目十分的厌恶,最后甚至因此而夭折了不止一两个项目。这时候就很理解那些去韩国整容失败最后自杀的吕子们的心情了。整容其实不可怕,可怕自己都没想好自己要整成啥样。。

继续前行!

2015年我一直在技术路线上挣扎,虽然作品不多但是也一直没停下脚步,坚持对我来说比成绩可能更重要,这一年我做了一款一直想尝试的游戏,游戏源于多年前我做过的一个梦,虽然具体内容都是模模糊糊的,但是隐约有记忆就是被某种力量缩小了,然后到了网页世界里,里面所有的按钮,广告条,焦点图都变成了怪物,有种时空交错的凌乱感,又神秘可怕的令人窒息。主角呢,融入了一些灵感是我的某个前端工程师同事(千万不能告诉他),符合这种萌萌的气质,我又做了些抽象。

开发PiuPiuPiu的工作状态 图标是游戏的第一印象,所以在设计图标上我会花费不少的时间

就这样,我把一丝丝的梦里凌乱的感觉,揉在一起,加上我在马桶上,或者洗淋浴,亦或是我在公交车上发呆时想到的怪物形象都揉捏在了一起。比如这只水泥管双旋翼直升机灵感就来自于我的四轴飞行器,加上一个fpv(第一人称飞行)爱好者,另外再加上《机器猫》里经常出现的水泥管,游戏里作为BOSS,此角色威力还真是惊人呢!

水泥管飞行棋

另外就是这只黑猫BOSS,其实来自于我家的喵星人小黑,而且我把他最有意思的几个特点我也融入到游戏特性里去了,比如他最喜欢的食物就是牛奶和玉米。在游戏里都被我转化成了强力的道具。

强化喵星人 目前PiuPiuPiu已经上线AppStore,有兴趣的话可以扫码下载

另外我今年做了一个快速开发的尝试(挑战三周开发时间),做了一个简单的无尽模式的小游戏,叫擦边球(Edge Balls)这是一个原创想法的游戏,游戏的故事大概是这样的:在C星系里的某族人有着自己独特的科技技能树,对于发展了很多先进文明的他们,始终没有实现有效的电力存储技术,所以某族人制造的O飞船只能在布满充电悬浮体的宇宙中航行。但由于充电悬浮体隐含着巨大能量,所以在行驶过程的中一定要避免碰撞事故的发生。

擦边球

游戏采用了我喜欢但是又不太擅长的风格,在开发多变的充电基站上我花了不少心思,怎样可以让画面多变又不失逻辑性,如何可以让玩家重复挑战,又可以增加节奏感和可玩性,但是所有原创想法都有巨大风险,充满未知,但是这也是我所热衷的乐趣之一,失败了再继续尝试!

一些感悟

不管从开发角度还是设计角度,我觉得这几年做独立项目让我收获最大的可能是流程上的经验,有时候个人做项目很随意所以流程上会想到什么做什么,想改什么就改什么,这对一个项目的伤害是致命的。流程的意义不光是高效的生产,另一个重要的作用是每个阶段要有明确的截至时间和项目定型。比如说demo阶段确定玩法和规则,如果demo已经定下来了,下一个阶段就不能对玩法和规则做大的修改,可以完善细节,但是逻辑就不能动了,有再好的想法可以放到下一款游戏里。阶段内定下的内容如果不能定型,就没有坚固的基础,项目很可能在某个阶段夭折,作为独立开发者完成项目比这个项目有多棒其实要重要的多。
最后10%的概念我之前在一些开发者论坛上也分享过类似的观点,这个观点我也是从其他开发者的文章里读过。但是做到自己的项目里才感触更加的强烈,最后10%对独立开发者来说,简直就是某种噩梦,在你觉得游戏几乎完成的时候,你才发现,你还有那么多事儿没有做,图标还得改,截图要那么多,文案还没写,标题是不是再改改,特效有些细节还没修,这个Boss的动作有点僵硬,音效不怎么满意……这时候对我唯一还凑效的办法就是Todo List。把任何时候脑海里出现的需要完成的事儿都记录到列表里,先把大脑清空了,然后逐个完成。这个过程很痛苦,尤其做开发的很多不擅长写文档。但是相信我这已经是洞房夜走到了新娘面前,再往前走一步,你就可以挑起女神的红盖头了!

希望

虽然目前我的游戏还没有大卖,没有改变我的生活,但是我乐在其中,我知道很多人希望一夜暴富,可能希望以此来开创自己的一番事业,当上CEO赢取白富美,走上人生巅峰,移民娶妻带妾(玩笑了),买房买车,送孩子去国外读书。但是在这之前,我也希望很多开发者别忘了自己当初是为什么要来做游戏,其实内心深处还是喜欢!对游戏的热爱,我当然希望大家都赚钱,但是别那么着急,着急就忘了初心,忘了那最初的乐趣。。我时常看一段广告片激励自己,是New Balance 的《致匠心》,里面一句话说的特别好:“人生的很多事儿急不得,你得等他自己熟“ ”人不能孤独地活着,之所以有作品是为了沟通,透过作品去告诉人家心里的想法,眼中看世界的样子,所在意的,所珍惜的”。其实就是希望独立游戏开发者们快乐的做游戏,快乐别人的同时也愉悦自己。赚钱了就好好享受生活,不赚钱也能享受兴趣,享受作品的诞生,就像期待一个新的生命一样。