先说明一下,这篇文章的原文在GODOT游戏引擎的官网上,地址是https://godotengine.org/article/how-actually-make-your-dream-game
作者是godot引擎的创始人之一 Juan Linietsky
接下来就是正文:
如何制作、发行你的游戏,并不让其胎死腹中
动机
今天我正在重新安装开发用的电脑,所以写不了多少代码。而且编译Godot将用到越来越多的时间,那现在就再给Godot的开发进度加个油吧。(附上了patreon的链接)
其实这篇文章很久之前就有很多人要我写出来了。除开作为Godot的主程,我也有将近20年的游戏开发及发布经验,以及近10年作为技术顾问的经验。
总的来说,从程序员到项目负责人都曾是我的职责范围,但大部分的身份都是一个技术主导或技术顾问。
我开过几家公司,也曾在业务上帮助过其他人。所以我相信我对于一个项目的整个过程都能有一个清晰的认识。(提起这些并不是想说我如何失败,我从来都不这么想)
我(还)没有通过做游戏变成一个有钱人,但我从做游戏的过程中学到了很多东西..而现在我正在开发Godot,并且享受其中,胜过一切。
肯定有其他人也写过类似的文章,但这篇文章是基于我的经验写出来的,希望对大家有所帮助。
从Godot发布以来,我看到了很多开发者用Godot做出了非常棒的项目。基于Godot的设计,使得开发者们在无需关心游戏架构的情况下将代码塞进游戏中就能够跑起来(甚至在扩张至大项目的情况下),这是Godot最大的强项。其中很多项目最终都发布了,但也有相当一部分的项目被放弃。
我尝试过去联系那些放弃了项目的开发者们放弃的原因,得到的大部分回答都不是技术上的问题,而是项目发展起来后难以管理。
制作游戏非常有趣,但也非常困难
制作游戏是困难的。因为其包含了许多学科,但又不能直接从其他学科中借鉴。
从艺术创作的角度来说,艺术家(画家,音乐家,编剧)通常会概念化一些东西然后为其添加深度。在游戏开发的时候,你在最初期实现的玩法总是会被打破,需要不断迭代去改进。很多时候要做出的抉择就是有一个点子因为某些其他因素变得不能实现,以至于要放弃。
从技术的角度来说,从学校学来的知识一般不能直接使用。软件工程是基于上市要求和开发用例。这里的用例是指,所有的交互都是概念化的。这个概念并不能用在游戏编程中,因为比起玩家会做什么,你更关心玩家会感觉到什么。
设计模式,或缺少方法
就算使用了标准的设计模式都不一定保证能成功。我作为顾问的时和工程师交流,经常看到的情况是他们掩耳盗铃般地认为他们成功将MVC模式应用到了游戏中(然后将游戏弄得一团乱麻)。另一个情况是工程师们声称他们已经成功抛弃了面向对象的设计(但其实是有用到的,而且不愿意承认)。看到的次数太多,数都数不过来。
这又与另一种我见到过无数次的情况重叠,就是程序员们太过关心“做得好”以及“优雅的实现”。这通常导致代码具有过多的封装,导致代码在规范更改时变得非常痛苦。
如果你在写游戏,应该先快速将其实现。先别管设计。先不要用设计模式或封装。简单粗暴,能用就行。如果将来有一天你决定整理一下代码,你需要确保你的代码已经是难以维护得了。否则就别碰它。
这通常都会以团队合作需要作为一个接口。程序主导要求大家写出干净的代码,但这样就会导致开发进度缓慢。说的话通常都是“我们应该能够在任何时候都能够换掉,所以代码必须清晰易读,好维护。”但现实是开发周期更长,且长期来说花费并不会更少。
能够确保每一个团队中的程序员都有特定的一个位置及负责的部分。在他们负责的部分能够让他们喜欢的方式去工作,但在需要多人沟通合作的地方,比如接口之类的就需要确保简洁。你在团队管理中失去的,将会以数量级在开发速度上给你回报。
我在做Godot的时候,我确保整体设计及架构接近完美。当我做游戏的时候,我就想尽快出活。
说到这里,很多读者应该都注意到Godot就是想要让游戏以这种想法制作而诞生的。它鼓励效率为最高优先级的设计。场景系统能够将游戏以“分而治之”的方式开发出来(而不用担心诸如MVC,组件分离之类的事情)。而且GDScript(游戏自有脚本语言)非常简洁,能够让你写出一大堆“能用”的代码,而代码一旦能用,你基本上不用再去修改。能够有这种自然的“感觉”是我和Ariel Manzur早在Godot开源以前努力多年做到的。
这就也是我们花了很多心思去开发Godot的原因。尽管现在仍然有很多缺失的东西,我们知道我们有一些特殊的东西,一些别人从来没有的东西。
有引擎是不够的,开发游戏的是你
一个经常被提出来的游戏就是“我想开发一个X类型的游戏,那我应该用什么引擎最好?”。尽管游戏引擎在一些特殊情况下可能会带来帮助,但实际上一个游戏的成功是依赖于你游戏的开发是否可行。
很多开发者都会犯的错误是从漂亮的素材着手,然后做一个简单的原型,然后希望剩下的部分都以类似的方式开发出来。随着时间的推移,可能会发生一下的情况:
- 美术是可以的,但是玩法捉急。然后想要重新开始,但由于已经花费了大量的时间已经无心再战。
- 整个游戏还行,但是感觉美术还可以再做好一点然后重新做素材不过心烦意躁。
- 游戏不错,但好像还有很多东西能够加进去,但是在这个时间点再做美术不太合适,而做吧又感觉没有劲头。
- 未预料到的复杂性需要额外的投入。
以上是一些常见导致游戏失败的情况。我知道听起来非常熟悉,让我们重新来过,从概念设计到发布,这次一定能够成功!
从头来过,这个游戏是否商业可行?
等等,我们不应该先做一个原型吗?通常在一个点子出来以后,应该都是先做一个原型的啊...
未必。这其实是99.99%的独立开发者和工作室做出做重要及最知名的错误。
不过,这并不是游戏的规模大小导致游戏是否商业可行。很多你读过的文章都告诉你的游戏规模要小以规避风险。这是一个没有经验的坏建议。别听从这个建议,有风险才有收获。重点是知道如何控制这个风险。
尽管做你想做的规模,在开发的过程中,你会看到你的优势和局限,以及你的边界是什么。野心是需要的,别在一开始就画地为牢。
在做原型之前,你必须能够回答以下四个问题:
- 谁会玩你的游戏?
- 你会如何将你的游戏送到目标用户手中?
- 游戏开发资金是如何筹集?
- 你的游戏有何不同?
问题阐述如下:
1. 谁会玩你的游戏?
第一个问题你必须问你自己。尽管想象一下谁会去玩你的游戏,常见的回答如下:
- 所有人,比如:这是一个不错的解密游戏,塔防游戏,休闲游戏等等。
- 主流玩家,比如:一个角色扮演游戏,第一人称射击游戏或策略游戏。
- 特殊受众,比如:一个冒险游戏,回合制策略游戏等等。
- 独立游戏玩家,比如:那些想要玩酷酷的游戏,小游戏的玩家,不管游戏是什么类型
- 诸如此类
理解了这个问题之后就需要回答下一个问题。
2. 你会如何将你的游戏送到目标用户手中?
这个问题有点棘手,那就从上面的例子来做例子吧:
休闲游戏:简单,休闲游戏(比如愤怒的小鸟,2048等等)是所有人都会玩的。是的,你的受众很广,数十亿的玩家都是你的潜在客户。那么你把游戏做完然后发布出去然后...大功告吉啦?并不是,商店是非常饱和的,你的游戏发布之后会被马上忽视。
宣传手机游戏基本不用考虑,太过昂贵了。你能够找到一个发行商,但大部分的发行商都是骗子。如果他们告诉你他们非常愿意发布你的游戏,千万别相信他们!他们只会在你的游戏启动的时候加上指向他们游戏的宣传画幅(这样的确能够赚钱),这叫交叉宣传。是的,他们会用你的游戏来赚他们的钱。
真正的移动游戏发行商会问你这些问题:“你的游戏的关键绩效指标是什么?”或者是“你的游戏的转化率和保留率是多少?”。这才是真正的移动游戏发行商!这才是真正会为你的游戏投资(invest money)的发行商!
不幸的是这些问题很难给出正面答案。给你一个思路吧,做移动游戏最流行的模式是“免费玩”。其他模式都行不通。付费游戏(免费或有付费内容)并不赚钱或者是广告栏赚的太少都不够你生存下去(即使有百万级的下载量)。是的,商业上唯一能行的办法就是通过“免费玩”的模式,也就是免费下载但是游戏内卖给玩家的物品会 1.让游戏更简单 2.获取个性化选项。
这个话题过于复杂,详细讲的话其实已经超出这篇文章的范围了,但总的来说,在免费玩的模式下,玩家(或者用户)需要消费。有些公司能够以5美元一个用户的价格为你找到用户。这不是在开玩笑,而且一般会用更多的钱。很多用户不会再你的游戏里面花一分钱,但某些用户(“大鱼”)会花不止5美元。这样一下子就提升了用户的平均消费水平。
有个术语“转换”,指的是平均每个用户在你投入后在游戏内消费你能赚到多少钱。如果平均每个用户投入了5美元,但平均赚到了8美元,那么你就有了一个正1.6的转化率。一旦你有了正的转化率,你的游戏基本上就是一个印钞机啦。
这时候你就可以轻松地找到发行商,让他们开始为获取用户投入啦("User Acquisition",或者就是以购买用户获得分成)。要到达到这一点没有足够的投入,还有多年的开发是非常困难的,在有损失的时候,需要不断地调整转化率直至为正。
总结一下,你的休闲游戏想要获得成功的机会基本上是不存在的(当然奇迹是会发生的)。除非你只是做着玩或学点什么,别碰休闲游戏。
主流游戏:会投入大量的资金以将游戏送到目标用户手中(当然也使用了大量的资金来制作)。如果你有足够的游戏开发经验,你可以尝试走这条路。
特殊受众的游戏:特殊受众通常都比较容易获得。他们通常活跃于特定的站点,论坛,脸书组等等。也有一些发行商专门发行特定类型的游戏(比如说回合制策略游戏,冒险游戏等等),如果你向他们询问的话,都能够告诉你他们能够获取到的用户。
独立或实验性游戏:如果你的游戏足够有趣的话,Steam,GOG等等仍然是发布这些游戏不错的平台(问题4会提到)。记住游戏只有卖得好与不好,没有你可以追求的中间地带。
3. 游戏开发资金是如何筹集?
你需要知道你的游戏开发资金如何筹集,我会谈谈常见的资金来源:
发行商:如果你按照正确的步骤来做,你是比较容易地从发行商那里拿到资金的(但几乎没人能够按照步骤来,不过放心,接下来会说到)。
通常发行商都会在促销的时候都会给你一些优势位置并获取分成。你只会在发行商拿到分成后再拿到钱(正常的投资回报)。
当你在找发行商的时候,尝试找一些和你的游戏类似的游戏然后看看是谁发行了它们。通常他们对于整个市场有更深的理解并能够为你的游戏评估风险。
众筹:像Kickstarter,Indiegogo 和Patreon现在都已经越来越难获得资金了(接下来的会聊到)。一个常见的策略就是在平台上要求比实际要用到的少得多的钱(然后推出一个更小的游戏)之后,如果成功了,就跑到发行商或投资人那里(通常都会对的游戏感兴趣)拿到剩下的资金。
补贴:咨询当地政府。很多国家都想游戏行业立足本土发展,所以他们会有游戏开发方面的补贴。
投资人:对于特定类型的游戏会有一些投资人,但比起投资,他们更愿意拥有部分公司股份或知识产权。常见的是种子资金(后面会说到)。
提前售卖和社区开发:操作得当的话,这是获取资金最好的方式之一。做法是边制作你的游戏边围绕游戏制作建立一个忠实的玩家社区。你需要在开发和听取建议方面非常在行才行。随着社区的发展壮大,会有更多的人购买你的游戏知道游戏完成。整个社区也会是让大众了解你的游戏的一个非常好的渠道。
最后是最重要的问题:
4. 你的游戏有何不同?
如果你的游戏和其他游戏并没有什么不同(一眼看上去就看得出来的那种),你的游戏就注定会失败。玩家们不会买账,发行商不会感兴趣,而且没有关于你的游戏的社区会建立起来。
更糟糕的是,你必须能够通过一句话,一张图或一个短视频来告知玩家游戏的不同之处。如果不能给玩家们留下印象,一般都会导致失败,如果看上去和其他游戏泰国类似,它也会走向失败。你的游戏必须和其他游戏不同。
这不同之处可以是创新的玩法或是从来没出现过的美术风格。独特的角色设计同样能够带来趣味。对于一个角色扮演游戏来说,故事,美术是关键。
制作原型
如果你对上面的问题都已经充满了自信,那么是时候开始制作一个原型啦。制作原型的目标是证明你的想法确实可行,并且你的审美(美术,声效等等)都没有太大偏差。
我看到过很多设计师都打包票保证他们的想法是可行的,然后看着他们的原型失败。千万不要跳过这个阶段。
你的美术(或声效)可能还不是完美的,你的代码也可能非常松散,但这并不是重点。重要的是体验式对的。说实际点,原型给你的感觉必须是或接近于你想要的效果。它必须能够尽可能地传到你的想法。
在进入下一个阶段前,迭代式必须的。一定要测试所有核心功能,然后不断调整直到完美。
任何在这个阶段没有解决的问题都会成为下一个阶段的大坑。也就是说控制必须流畅,反馈必须实时,并能够展现你的想法。
获取尽可能多的测试反馈在这个阶段也是必须的!
制作原型阶段也是找到种子投资的最好阶段。这些投资人会给你足够的金钱来制作阶段性成品(下一个阶段就会讲到),并会从你总收入中抽取相当一部分(通常是30%~40%)
种子投资背后的思路是找到很多未经证实可行,风险高的项目。如果其中一个非常成功,他们会赚到非常多的钱。
制作一个阶段性成品
如果你是自己一个人做游戏,并且是业余时间制作的话,投入到这个其实并没有必要。否则,这是保证资金投入的重要阶段(在内测之前)。
阶段性成品的思路是制作整个游戏中的一小部分,但这个成品的质量必须是与整个游戏的质量一致。
举个例子,你的游戏有30个关卡(任务,场景,地点等等),你制作了其中2到3个。那么他们就必须达到成品级别的质量。即使其中有一些其他场景的内容也必须展现出来,就算与其互动并不会出发效果。
它们不一定要是在游戏的开始,而可以是整个游戏的任何部分(有个好的开场的话就更好,不过做起来很难)。
为什么阶段性成品是对于获取投资是很重要的?有以下的原因:
1. 为投资人减少风险
投资就会带来风险。风险越小越容易获得投资。如果原型证明想法是可行的,那么阶段性成品就能够证明你能够做出整个游戏。
2. 提高开发成本预算的可信度
到了这个时候,你应该知道了做出一个阶段性成品用了多少钱,多长时间。
那么就能够基于此做出推断:如果做10%的内容(也就是阶段性成品)用了2万美元,那么做完整个游戏(100%的内容)就会大概用20万美元。
3. 更容易调整不同的预算
很多发行商和投资人可能都没有足够的流动资金来支撑你想要完成的内容。阶段性成品允许你评估将需要的资金切分成不同部分以获取对应的资金。
在内测之前的开发
这时候又有一个很多开发者犯下的严重错误。在内测版本完成之前,不要添加更多的素材了(美术,声效等等)。使用示意性的素材。除了一个特殊情况,这个游戏的类型需要这个素材(比如格斗游戏),那就是动画。
整个游戏所有的内容都必须使用示意性素材(比如涂鸦画,方块等等)。
我知道看到游戏运行起来非常激励人心,而替换素材则令人沮丧。但是,这是一个临时性的东西。
要知道,这样做是有原因的:
1. 玩法是重点
定义了你的游戏的是玩法。玩法必须尽可能完美,这样把游戏做出来才有意义。确保所有功能都已经实现而且游戏能够从头玩到结束,操纵的感觉必须优秀,操作的可用性必须感觉良好。
只需简单描出这里的素材即可,毕竟后面这部分不需要重做了。
2. 内测对于获得资金很重要
内测是你在谈判投资、发布时最强有力的证明,原因如下:
- 你能够展示出你是能够做出所有素材而且你知道你会用多长时间去制作(多亏有阶段性成品)。
- 你能够展示出使用全部素材的游戏是可行的(你基本上能够边玩边讲你的游戏是多有趣),所以这是没有风险的。
- 到目前为止,你并没有投入太多,因为只用到了程序员和一到两个艺术家/动画制作/游戏设计师.
- 真正的投资是用来支付那些剩余的美术/动画/声效/视觉/音乐等等以做出成品。
到了这个阶段,风险已经小了很多。也就更容易拿到更多的资金。
填充素材,走向公测!
公测基本上已经完成整个游戏了(可能会有bug和需要做一些微小的调整)。这意味着制作完剩余的素材然后完成它。
这个阶段是非常开心而且能够享受其中的,但这也很困难。不论是大到公司还是小到独立开发者,填充最终的素材都总是在开发最后阶段需要完成的任务。
对于独立开发者来说,这是聘请别人来制作美术,音乐,视觉效果等等的最好时机。你已经清楚确切的需求(以及游戏本身)并不会有太大的改变,那么你也就能够花费更少的钱。你能够用合适的钱把活干完。
这样一来像聘请了一个艺术家但因为开发时间太长而花光预算这样的常见问题了。
除了制作最终的素材,还有过场动画,本地化,音频录制等等,这些都是在这个阶段需要完成的任务。
完成
游戏在消除掉所有的bug和问题,并且游戏感觉上已经趋于稳定的时候就是一个完成品。这会消耗相当一部分时间,很多工作室在完成之前就将游戏发布出去,通过更新来修复bug。这很操蛋,但业界已经习惯于此。
发布
我在发布游戏方面的经验有点杂。发行商通常都会把他们的游戏当作赌注。他们会资助很多项目,但只会真正投资(在宣发上)那些卖的好的游戏。那些没有花多少钱的游戏则会丢到一旁,任其自生自灭。这是生命的规律。
就像你所听说到的那样。就算你拿到了一个发行位置,也并不能确保你能拿到用于宣传的投资。唯一能够拿到一定宣传投资的情况是用一个完成的游戏去和发行商谈判,至少是一个内测版本。
在开始的时候,我对这一事实感到愤怒,但现在我现在知道了站在发行商的角度来看的话这样做是再正常不过的了。他们是公司,不是慈善机构。
但是别理解错了。发行商仍然会给你的游戏带来手中,即使他们并没有以金钱的方式投资到游戏的宣发中,他们通常都会和媒体有非常密切的沟通甚至还会有一些无论他们出了什么游戏都会买的死忠粉丝(比如Atlus或Daedalic)。他们也非常清楚他们的目标市场,所以即使你的游戏卖的不好,那也并不意味着他们没有宣传你的游戏。
在大多数情况下,如果游戏的销量没有超过阈值,那么你去和发行商沟通的话是可以把游戏的发行权拿回来的。所以游戏在其他地方卖的好的希望还是有的。当然,如果你在之前有拿到过发行商的投资,那么他们会要求你将钱还回去(以防你和别的发行商勾搭上)。
至于引擎,你可能听有人说过发行商会要求你用Unity,Unreal或是某个特定的引擎。那是个谎话,我用Godot发行过一大堆的游戏到主机,移动端,PC所以不要再问这些关于引擎的问题了。
当然有一个特殊的情况,就是在制作一些有第三方产权(比如迪士尼,乐高等等)的游戏的时候。会出现向你要源码以便他们自己作出修改的情况。这时候你是可以选择和他们沟通的。
自行发布
自行发布游戏是机器困难的。独自去做所有的宣发工作会耗费巨大的时间,你甚至还需要学会如何去做这些事情。我认识一些小的发行商会一销售分成(或月付)的方式来做这个。虽然我觉得他们很多都是骗子,在相信他们之前还是先看看他们发行的游戏情况如何吧。SteamSpy是一个不错的工具。
结语
如你所见,制作游戏的整个流程是非常复杂的,而且还不能保证能成功,但我希望这篇文章能够带你走一遍其中的一些重要流程(如果你有经验的话你也可以反馈给我)。
在今日,估计十个游戏中能有一个游戏能过获得投资,只有两到三个能够收回投资(不同的信息来源可能会有不同的结果..)
但如果你擅长此道,这是你能够赖以生存的东西。如果你能够重复进行原型制作/极端性样本/内测/外测/完成/发布 这整个流程足够多次,我认为你离成功已经不远了。
有志者事竟成!