游戏开发随想(更新中)

这个一个非常牛叉的大牛写的,他也是我的好朋友,和他共事半年多,他已经做游戏10多年,而且还写过游戏引擎,也是一直做游戏,和他共事这段时间我学到了很多东西,在这里共享他的一篇文章
如果对游戏有兴趣的同学可以关注他的个人博客网站:http://www.wy182000.com
原文:
做了十几年游戏,经常会有各种想法念头突然出现,也会给自己做一些总结,但是一直都没有想过把这些东西写下来。近几年来,感觉自己的记忆力每况日下,所以脑子里的很多东西会随手记在手机的便签中,
其中也包含了很多其他人的观点和启示。得益于这几年一直在使用小米手机,手机里的便签越来越好用,一直到现在的云便签,很多东西都得以保留了下来。现在想想还是抽时间总结一下,对自己对其他人可能都会有用处。今天先开个头,后面再慢慢不停的完善。(题外话,说到小米,我可以算是小米的绝对粉丝,家里有小米各个方面的产品,但是它有的时候真是叫我又爱又恨,有时间一定写一篇关于小米的感想。)
有一个解决问题的方法,叫“5whys”,其实就是不停的问自己为什么,之前有一篇blog写到了关于运维的问题解决思路里面有提到,其实触类旁通,大部分问题都可以使用这个方法来解决,包括做游戏。

先来看看做什么样的游戏。
游戏分很多种,按类型分FPS、ACT、RPG、SLG等等,按交互方式分联网和单机,按平台分端游、页游、手游、主机游戏,按收费情况分休闲游戏、深度游戏。在这多种多样的游戏里选择一个制作方向确实不是一件容易的事。
到底要做什么样的游戏,在之前的游戏经验里,做什么游戏至少我这边主要还是被动选择的,有些是公司在做什么游戏进去就做了什么游戏,有些是公司定了什么方向就按照这个方向去做了。
现在回头想想,这其实是游戏成败的第一步,也是最重要的一步。只不过之前都不需要自己考虑,但是想想如果是自己的公司或者自己是制作人,这一步就真的要慎重了。

我觉得主要可能考虑几个问题。
首先,明确一点游戏是做给自己玩的,如果自己都不想玩,怎么去让其他人愿意玩甚至愿意付费。所以在选择过程中可以倾向于自己的偏好,当然不是自己偏好的不一定不能做,但最好是自己熟悉和接受的类型,一个自己连碰都不会碰的游戏类型还是不要去做了。

其次,结合自己团队的能力和经验,去选择合适的方向,比如技术比较强会找一些有技术门槛的东西尝试,策划强的侧重游戏玩法和周边养成,美术强更多的美术表现展示。当然这个也没有那么绝对,现在的游戏环境下,可能真的需要各个方面都很强才能成功了,至少不能拖后腿。

另外,根据自己公司和项目的状况,确定合理的方案。这部分之前也吃了很多亏。如果公司没有足够强的经济实力完全支撑游戏的开发和后期的维护,就不要轻易去尝试收费能力弱的休闲游戏,虽然这类行游戏可能更吸量、有更好的留存、成本更低,但是收入见效也更慢,往往需要积累足够的量,通过量变带来质变,等待周期较长,前期和后期维护可能付出的成本远远大于现实的收益,当然线上持续的生命周期可能也会更长。不过小公司还是不建议走这条路,还不如从实际情况出发走一条更适合自己道路,如卡牌、策略等收入见效快的游戏。
当然还是要提一点,现在的游戏也没有以前那么好做了,想要成功往往会更加困难,从现在游戏市场情况来看,用户积累和收费可能要同步挖掘,才能可能有更好的生存机会。但是,这永远是矛盾的两个方向,想要收费最简单的就是卖数值,想要用户体验就不能有很多的数值,只有在两个方向中间找到一个平衡,另外找一些其他的突破口,才可能有更好的机会。

总的来说,对于做什么,没有一个明确答案,每个公司每个团队每个制作人都会有自己的选择,其实这跟天时、地利、人和全都相关。

—–

选好了做什么还是要再问问自己,为什么做这个游戏。

先从自己的角度分析,如果这个游戏按照自己的方向做好了,到底好不好玩、有什么是游戏吸引你的地方、自己愿不愿意玩、愿意玩多久、愿不愿意花钱、愿意花多少,虽然可能没有一个准确的答案,但还是要想一想,而且在游戏制作的每个阶段都要不停地问自己,只有这样才可能少走弯路。
以前遇到很多制作人其实更像是项目经理,他们每天做的都是版本计划、功能确认,却很少去想一想这个游戏到底好不好玩,游戏游戏,如果不好玩儿,有再多的系统,有再全的功能也没有什么意义。虽然,市面上有很多游戏会是类似的情况,而且可能也赚到了钱,但是这跟市场和推广的机会有很大的关系。但是,如果游戏核心好玩,其实现在市场上所过多强调的所谓窗口期等问题就可能都不是问题了。当然不排除人家在你之前出了一个和你类似的游戏,那这只能说是没有天时了。

说完从自己的角度分析,接下来还要从用户的角度做同样的分析。做分析之前,还要确定一下,这款游戏的用户定位,根据用户定位的不同,可能的到的答案也会有所差异。比如你的性别定位,游戏玩家的男女比例。你的游戏大量玩家的年龄层是多少、你的核心玩家的年龄层是多少。虽然在游戏获取到真实数据前不一定准确,但自己心里还是要有一个预期,这个预期可能更多的是来源于之前制作游戏的经验和对游戏市场的了解程度了。

分析的目的就是明确游戏的方向和定位,我们要做的是什么样的游戏,用户群是哪些用户,有什么优势,有什么劣势,靠什么吸引用户,用户的短中长期追求,用户游戏时间预估,留存周期预期,如何吸引玩家付费,商业化深度等等。只有更好的了解自己才能更好的服务用户。

—–

做什么,为什么想清楚了,接下来就是谁来做了。关于团队的组建很多时候都是很无奈的,手下就能凑出这些人,也就这些人做了。但是这往往就是悲剧的开始。

首先,关于制作人。制作人要有对游戏的理解,对团队的管理能力,经得起压力,吃得了苦,果断,坚持等等等等,可以说需要集各种能力于一身,当然十全十美的人是不可能有的,但是一定要有突出闪光点,团队成员要对他信服,有威慑力。我一直认为一个游戏的成败,最主要的因素就是制作人。优秀的制作人制作游戏不一定都能成功,但是成功游戏的背后一定有一个优秀的制作人。这也是我不认同公司盲目开项目的原因,因为市场情况也好、因为合作机会也好,如果当下没有一个合适的制作人来带项目的话,宁愿错失机会也不要轻易去尝试,有的时候回头想想,做多做错的结果还不如不做。

其次,关于团队成员的选择。最好的人选当然是有热情、有能力、有想法、肯吃苦的了,不过这种人可遇而不可求,遇到了就好好珍惜吧。更多的时候选人有一两项突出点的就已经不错了,这时候选人就有技巧了。我认为态度大于一切,如果连基本的做事态度都没有,其他一切都是徒劳的。其次就是能力经验之类的了。有一点最为重要的,以前我的部门里面试首先需要了解这个人是否玩游戏、爱不爱玩、是不是痴迷,如果游戏连玩都不玩的人一般我的团队里是不会要这样的人的,不管什么岗位,如果你游戏都不玩怎么有可能把游戏做好。另外一点关于员工的工作状态的问题,一般新进员工普遍工作状态会比较好,老员工会相对差些,尤其是待得时间长的员工很难保持一个很好的状态在工作中,人都有疲的时候,而且在公司里老人是很难管的,尤其是公司对他没有什么约束力的时候,公司做的好可以通过工资涨幅奖金来处理,公司做的一般的本来激励就少,对于他们就更难处理了,要开掉还有高额的赔偿金,一般不是太过分大部分也就睁一只眼闭一只眼了,这也是很多公司开的时间越长效率越低的原因。所以在选人的时候我会更倾向于新人,尤其是觉得有潜力的新人(态度积极,学习能力强),或者是一些入职时间不是太长的员工,如果在公司工作时间较长的员工其实我是一般不太想要的,当然这不是绝对的,有的时候更多的还是和个人情况相关了。

—–

谁来做之后就是用什么做。

这部分主要还是一些技术选择问题,选择什么引擎、用什么语言、制作过程中需要用到什么工具、需要用哪些SDK等等。我之前做过端游引擎,对这部分可能更有体会。对于引擎选择,首先,除非是非常大的公司,否则不建议自己研究引擎,一来需要大量的资金支持,另外你去找能维护这个引擎的人也很困难,我们自己的引擎后面就是因为没人维护就停掉了,但是研究引擎真的很锻炼人的能力,你除了要了解游戏怎么做,还要更熟悉做游戏的人需要什么,那段时间对自己以后的提升有很大的帮助。但是后面才认识到,公司出成本做了这个引擎后,虽然东西都还在公司,但是人都走了以后,其实公司之前的积累就都白费了,只是相当于公司出钱给大家做了培训。

所以,现在做游戏我更倾向于使用市面上的成熟引擎,如Unity。找人好找,现成的插件多,网上资料全,好处多多。而且我认为最好深入研究一种引擎,比如要做Unity就一直使用Unity。因为之前做引擎的时候各种引擎都去研究过,像Unreal、Crysis、Gamebro等等,但是对于个人来说,想把游戏做的更好,还是需要对一个引擎有更深入了解的。Unity本身,目前来看可能更适合现在市场,也是我现在的选择。像Unreal4,因为更容易实现次世代效果,在当下VR比较热的情况下可能会是一个不错的选择,但是做手游并不建议使用,它的兼容性问题很大。至于cocos,即便现在做2D游戏也不建议使用,虽然它新出的cocos creator对于制作H5游戏很方便,但是unity的H5支持也开始越来越好了,而且Unity至少还是有做3D的可能性的,在Unity上面的积累可能应用更广泛一些。

前端确认了以后,这时候就要考虑后端用什么来实现了。根据之前的经验,对于游戏逻辑方面,建议前后端使用相同的语言,如前端用Unity后端可能就考虑用C#来写游戏逻辑了。好处就是,同样的一个人可以即做前端又做后端,你会发现这会极大的提高效率。因为根据之前的经验,如果前后端是不同人来实现的话,耗时间做多的往往不是开发而是沟通、测试、联调。

因为Unity的机制问题,它本身对代码的保护相对薄弱,即便很多游戏使用的加密,但是只要花点心思,通过调试总有办法绕过。包括对于游戏作弊,在前端处理其实就是一个博弈过程,永远没有最优解。所以,我做游戏的理念就是,能在服务器算的东西一定不在本地处理,除非是有严重效率问题的东西。一旦所有的逻辑都到了服务器,其实你的前端是否被破解也就没那么重要了。
最后,关于各种可以使用的插件和SDK,也是基于之前经验的忠告,如果有第三方可以提供完整支持的,就不要自己再去开发了,虽然有的时候很多开发人员觉得自己开发逼格很高,能提高自身能力,但这些都是浪费时间浪费成本的事情,而且这个积累真的只到个人就截至了,对公司没有太大帮助,当然大公司除外。