独立开发者:复盘Unity手游[HyperBowl]

最近,一名海外独立开发者在博客中复盘了自己做的一款Unity手游《HyperBowl》,虽然这款手游并没有获得数千万美元的收入,但足以让他继续手游研发,而且更为难能可贵的是,他在这个游戏项目上已经持续投入了6年的时间。他讲述了在这个项目中遇到的问题和得到的经验,希望可以对开发者们有所帮助:

【GameLook专稿,转载请注明出处】

GameLook报道/随着手游市场的不断增长,越来越多的独立开发者开始进入手游领域,小团队的成功率也随之降低。最近,一名海外独立开发者在博客中复盘了自己做的一款Unity手游《HyperBowl》,虽然这款手游并没有获得数千万美元的收入,但足以让他继续手游研发,而且更为难能可贵的是,他在这个游戏项目上已经持续投入了6年的时间。

在博客中,他讲述了在这个项目中遇到的问题和得到的经验,希望可以对开发者们有所帮助,以下是GameLook编译的博客内容:

游戏项目介绍:HyperBowl最初发布于2009年7月(iOS版)/2011年5月(Google Play版),发行商是Technicat,LLC,游戏开发者只有我一个人,研发用了一年,加上其他版本和游戏更新,到目前已经有6年,虽然没有特别好的成绩可以晒,但也足以让我继续手游开发,而且我还会继续为这款游戏做支持。游戏开发使用了Unity专业版手游引擎,SVN、Visual Studio、FBX SDK等工具,整个游戏包括C#和Javascript在内大约7万行代码。

我之所以对这款Unity游戏《HyperBowl》进行复盘,是因为该游戏在玩家社区当中非常受欢迎,在《HyperBowl》这个项目上我用了6年的时间(GameLook注:HyperBowl系列有11款iOS版游戏,一款为付费版2.99美元,其余10款为不同模式的免费下载+广告版本),虽然不能说这个游戏是我最热爱的项目,但至少是我非常愿意投入努力的工作。所以下面我来复盘这款游戏的研发始末:

我做对了什么

保持自己的想法

我之所以做了《HyperBowl》,是因为在此之前曾经参与过原版游戏的研发,当时的原版游戏由Hyper Entertainment开发,最初是和旧金山索尼Metreon工作室合作的一款游戏。2001年的时候,我只在Hyper公司工作过几个月,但却一直和该公司的研发总监Aaron Pulkka保持了联系,Pulkka现在也有了自己的Rabbx工作室。

在Unity当时宣布他们即将推出iPhone引擎支持的时候,我跟Aaron说自己想在iPhone平台做一款HyperBowl手游,他表示认可,并建议我向商标持有者Hyper联系,结果也算是非常顺利,他们很爽快的答应了,因为他们表示Hyper公司没有打算做这个项目,所以非常愿意交给我。因此,我后来获得了这款游戏在网页、Mac/PC、移动平台以及Wii版本的授权,这些平台基本上都是Unity引擎支持的。

使用Unity

使用Unity是非常正确的选择,从某种方面来说,Unity选择了HyperBowl,在2007年我最初开始使用Unity的时候,当时还是Mac版本,而且可以做网页版,在后来的WWDC大会上,一个偶然的机会遇到了Joachim Ante(Unity公司CTO)。但直到几年之后Unity宣布支持iPhone的时候,我才想到把HyperBowl移植到iPhone平台,而且才意识到iPhone的屏幕分辨率对于这款游戏有多么的合适。

所以,使用Unity是权宜之计,也是唯一的选择,但后来证明这个选择是非常正确的。我当时并没有意识到Unity引擎会这么受欢迎,我相信在为独立开发者发布免费版本之前,他们也不知道Unity引擎能火起来,而且Unity iPhone版本出现的比Android版本早一些,所以我最先做了iPhone版。多平台支持的引擎是一个非常大的优势。尽管我专注于移动平台,但还是做了Mac、Windows、网页、Flash以及Mac插件版HyperBowl游戏,在这些版本之间唯一的差别就是,触屏和鼠标控制代码的差异。

我本可以避开中间件的问题,但我在代码转换方面遇到了很多的问题,但在移植到多平台的时候却没有遇到多大问题。而且当时还没有现在的游戏引擎这么多的工具,比如说使用地图着色器以及动态阴影效果等等。

拿到了源代码

除了获得授权之外,Hyper Entertainment还给我提供了这款游戏的原版资源,包括音频、图片、模型以及街机和Windows版本的源代码等等。他们不仅给了我这些源文件,还给我提供了最初游戏研发用的PC,一个是街机版本用的,另一个是Windows版本使用的,这样我可以进行对比,然后选择其中一个作为新游戏研发的起始点。

在启动了这2台PC之后,我做的第一件事就是把所有的东西都复制到DVD和我的个人电脑上,然后专注于版本控制。我这种做法是非常幸运的,因为接下来我把其中的一台PC联网之后才发现需要下载大量的Windows更新,而且最后电脑也因为空间不足崩溃了,另一个PC联网之后也遇到了同样的问题。

在经过了多次不成功的版本转换之后,我决定把这些资源转换成Unity引擎可以识别的FBX格式,因为在直接使用OBJ转换的时候遇到了问题。不过,在用OBJ转换加入了FBX SDK的文件时,我遇到了同样的问题。所以,尽管拿到了最初的源代码,但由于和Unity不兼容,我尝试并且失败了很多次。

做一个手游应用

在我尝试解决如何转换HyperBowl源代码的时候,为了测试保留球操作,我决定做一个保龄球App,名字叫做Fugu Bowl。我当时的想法是,滑动屏幕让保龄球运动,主要是为了测试原版保龄球控制操作。实际上,街机版只有一个轨迹球,而最初的Windows版本是提供了保龄球的,你需要用力推才能打出去。

我觉得这个应用表现不错,虽然当时看起来非常简单,缺乏了很多的元素,这是我做的第一个手游,但让我觉得有点受伤的是,这款手游依然是我所有手游作品中下载量最多的。

Facebook宣传

当然,我也做了社交媒体宣传,包括Twitter、Google+、YouTube等等,但HyperBowl表现最好的是在Facebook平台,目前有800多个粉丝,但除了数量之外更重要的是,这部分粉丝忠实度很高,对于游戏非常支持,而且热情也很高,他们为我提供了很多的建议、要求甚至本地化方面的帮助(比如中文版和法文版得到了粉丝帮助)。随后,很多Facebook粉丝下载了最初的Windows版本进行体验。

建议:你可以设置Facebook页面自动分享内容到Twitter平台,这样可以让你的游戏和Facebook获得新用户,而且还节省了需要在2个平台发内容的问题。

独立开发商的优势

我所有的手游,在一开始都有一些消极的反馈,这里我说的其实是恶意的评论,有些人倾向于攻击低价或者免费的手游。当然,现在这样的评论少了,而我并不认为是自己的手游提高了。最大的区别,我觉得原因是越来越多的独立开发商开始不断进入手游领域,人们对于小团队或者独立开发者们的作品变得宽容或者认可了,因为我们的资源有限,即便是他们不喜欢你的产品,也会认可你付出的努力。即便是现在,一个刻薄的评论,如果你进行回复的话,对方很可能变成你的粉丝,毕竟,你只是一个人在做游戏。

独立开发商往往是不起眼的开发者们,我们只能说自己是职业的游戏开发者,而且没有3A大作项目那么多的资源。我在游戏开发者论坛也看到过这样的评论,但只要游戏策划想要回到原来的工作室寻求脚本方面的帮助时,他们的态度就变了。目前来说,已经有太多的游戏开发者离开了大型工作室,转而做自己的手游,独立开发商们受到了越来越多人的认可。

遇到的问题

转换成FBX格式

把最初的游戏资源转换称FBX格式毫无疑问是必须的,但却并不是那么有趣。当人们说自己希望成为一名游戏开发者的时候,我确定他们绝不是想要做工具化的程序员。

神奇的是,我已经不记得很久之前自己写过的HyperBowl代码,虽然我很确定要做代码移植,但却连一行代码都认不出来了(我并不是原版HyperBowl的程序员,但曾经做过一些优化和更新)。不过,不管是谁写的,对我来说代码并不难懂,所以也并不是不可能完成的事情。

我最不喜欢的就是FBX SDK,这里我要说的FBX并不是人们常说的一种文件格式,而是一种标准,他们告诉你不要自己写文件,而是要使用SDK,这就是所谓的标准。所以我必须写FBX版本的,这样Unity才能识别,而我也为此用了很久的时间。

失去源代码

当然,这里说的并不是原来游戏的源代码,因为我一直有非常好的习惯,我把所有的Unity项目都做了离线版本保存起来。我这里说的是FBX版本的源文件丢失。实际上,我当时觉得这个方法可能最后行不通,而且我也非常不愿意做FBX移植。最后我实在忍不了了,所以只在Unity编辑器里面进行了自动调整。但这也同时意味着,每一次做移植的时候,我都必须重新做完之前的这些繁琐的事情。然而,一台PC坏掉了,而且多年之后,当我想要为这个版本增加优化的时候,发现一些都必须重新做一遍。

市场营销力度不够

我觉得HyperBowl的Facebook页面有很多的粉丝,而且在Twitter上做的也还可以。但其他方式的市场营销几乎没有做。理论上来说,如果有足够的时间和收入,我非常愿意投入到市场营销方面,但当时我在没有工作的情况下,还需要养家糊口,所以既没有收入也没有足够的时间来做。

在有收入的时候,我至少会多投入一些进行市场营销,而且也的确对游戏销售有帮助。放出推广代码、经常的更新、Facebook、本地化、与评论者交流以及博客回复等,都是有帮助的。虽然市场营销竞争越来越大,但这些方式所取得的效果差异也越来越小。说实话,这款游戏的收入曲线几乎是铃铛式的,在圣诞节前夕达到了顶峰。

这里再说说盗版,有一段时间,我的iOS手游刚刚更新就被人在几个小时内破解了,我非常厌恶这件事,而且并不像有些人说的那样,盗版可以帮你做市场营销,当然,盗版也并没有影响我的游戏收入。而另一方面,在Android平台,几个月之前Android APK被破解了,在此期间,游戏在Google Play的收入出现了大幅下滑,虽然不一定有直接关系,但总之谁也说不清为什么。

货币化做的不好

在我一开始做手游的时候,我并没有真正的去想加入广告,因为当时如果不写自己的Unity插件的话,做游戏内广告是非常不方便的,还有一部分原因是我不愿意在游戏中看到太多的广告。所以我当时的每一个手游要么是付费下载,要么就是完全免费,而且没有加广告。直到有一天我发现prime31加入了iAd插件,所以我开始尝试这种做法。几个月之后,我发现广告是可以带来收入的,所以我现在也在一些游戏里加入了广告。

Unity现在也加入了iAds插件,所以prime31插件就没有必要再使用了,最初,Unity的iAd插件效果并不如prime31,但Unity的广告API没有加入AdMod或者Chartboost,因此广告收入来源也不多。也或许,我可以尝试免费模式,并且加入IAP选择,但当时都没有条件去做。

货币化方面的困扰

这里说的并不是很多的收入,而是对之前的做法比较遗憾。当时有很多的广告网络联系我,而每一个我都进行了回复,这浪费了很多的时间。首先,他们想让你加入Skype式的聊天,但却不给你提供可以用的SDK,所以大多数的时间都是在讨论一些毫无意义的问题。我知道可能从目前的广告网络不会得到太多的收入,但我目前的游戏设置是可靠而方便的。

所以我的教训是,你可以通过多个小项目学到一个游戏引擎的很多东西,这可能是最好的开始方式。但如果要真正的掌握一个游戏引擎,你需要一个大的项目,同时尝试多种功能。几年前,Apress邀请我编写一部Unity iOS书籍,我首先想做的就是做一些项目来证明不同的功能。所以我现在还在尝试做手游,而且是一些简单的项目。

如若转载,请注明出处:http://www.gamelook.com.cn/2015/01/201336

关注微信