引言
本文系 Godot 引擎的 Juan Linietsky 所写,我在油管翻教程的时候看到了一个视频是借这篇文章聊游戏开发的事情,好像在 Reddit 也有不少人讨论这个话题,就去找了原文HOW TO MAKE YOUR DREAM GAME, PUBLISH IT AND NOT DIE IN THE PROCESS来看,感觉很不错,希望大家喜欢。
Godot 是一款多平台开源游戏引擎,indienova 有介绍:Godot引擎
好像最近 HeartBeast 也荒废了 GMS2 的教程跑去玩这个引擎了orz
以下为译稿。
写作初衷
今天我用于开发的电脑正在重做系统,所以没法继续编写代码。因为编译 Godot 所耗费的时间越来越久,所以我想着重装一个干净的系统会快一些,也能给 Godot 的开发提提速
今天之所以会写这一篇文章,是因为有太多开发者都问过我这个问题。而我除了主导研发 Godot 之外,还拥有近20年的游戏开发和发行经验,以及十年左右的技术顾问经验。
总体而言,我的主要工作是程序编码和项目管理,但我大部分的时间都是技术总监或顾问的角色。
同时我也开过几家公司,并曾在一些业务上向他人给予过帮助。因此我相信我对游戏制作这件事的整体流程有着足够清晰的了解和画像。(绝不是失败的经验)
当然,我没有通过制作游戏而发大财(只是“还”没有而已:D),但我在这个过程中学到了很多……如今我十分享受开发Godot的过程,更甚于其他任何事情。
我相信在此之前已经有很多人都写过这个话题,但本文基于我的个人经验,也希望对大家有所启发。
自从Godot发布以来,我见过很多开发者用它做出了很棒的游戏项目。这正是Godot最强大的地方,由于它独特的设计理念,开发者可以不用忧心游戏体系结构就可以着手编码工作(且十分易于扩展成大型项目)。很多游戏最终发布了,但有更多项目被放弃了。
我尝试联系了许多开发者,询问他们为何如此,大多数情况下,项目终止并非由于技术问题,而是项目管理遇到了麻烦。
制作游戏非常有趣,但也十分艰难
制作游戏的确不容易,过程中会涉及大量其它门类的知识,但切勿深陷其中。
从艺术性和创新性的角度而言,艺术家们(画师、作曲、写手)通常会选择抽象一些概念,然后慢慢向其中添加内容以丰富其深度。而在游戏开发中,你最初设想的玩法往往会被否定,需要反复迭代修正才能提升品质。而很多时候,除非你真正意识到你必须舍弃掉一些你中意的元素,否则游戏无法完成。
而从技术角度而言,在学校里学到的那套也许就不太奏效了。软件工程是基于需求和用例清单来进行研发工作的,并借此指导交互设计,而在游戏开发中并非如此,因为你会更重视玩家的体验感受,而非简单的交互操作。
设计模式及其它
而就算选用最标准的设计模式,依然无法保证一切顺利。我在顾问过程在曾反复遇见过这样一种情况,许多工程师都会自欺欺人觉得已经在游戏中使用了MVC1架构。另外一种人则相反,认为自己不用OOP2设计模式也能搞定(其实他们还是用了,只是自己并未意识到)。我见过太多这样的例子,不胜枚举。
随之而来我还发现了另一个问题,许多程序员总是太过在意“用正确的方式做事”和“良好的编码习惯”。这种行为往往导致代码过度封装,这导致当你遇到问题需要修改代码库时变得异常痛苦。
如果你正在制作一款游戏,要尽量用最简单最迅速的方式实现它。不要纠结于设计模式,要避免为设计而设计、为封装而封装。为了效率哪怕代码脏一点也不要紧,能跑起来就行。如果你计划重构代码以使代码变得更加干净,最好是在现有的代码无法负荷时才去做这件事,否则千万别碰它。
许多人都说这是为了便于团队协作,通常领导们会要求代码更有条理和组织,因为“我们中的任何人都有可能随时离开或被替换,因此代码需要具备可读性便于维护”,尽管这么做会拖慢开发的进度。而事实上,这会导致周期变长,长远来看几乎无法降低任何成本。
其实只要给每一个程序员都明确分配好角色和责任范围即可。然后就可以让他们按照自己喜欢的方式去干活儿,只要够快,哪怕脏一点儿,但是一定要确保他们的API接口是足够清晰明确的,这样才能便于其他人来调用。为此你可能丢掉了一个有序的组织架构,但你的开发速度将赢得几何级数的增长
当我在管理 Godot 的研发时,我会确保设计和架构上尽可能完美无缺。但当我制作游戏时,我会希望尽快完成所有的工作。
说到这一点,很多读者可能会意识到Godot出现的意义,就是为了能用这种方式来制作游戏的。Godot 鼓励生产力高于一切的设计模式。场景系统的工作原理使得你可以化整为零,逐步完成游戏的开发(而不用去关心诸如 MVC、细分组件等无意义的事情)。而 GDScript 也足够简洁,你只需要编写整段能够“正常工作”的代码,然后就再也不用去管了。这种“刚好够用”的感觉,在 Godot 开源前,我和 Ariel Manzur 就如此合作许多年了。
这也是我们花费这么多精力来研发 Godot 的原因,尽管目前还有许多不足之处,但我们知道我们拥有许多前人没有做过的特点。
只有引擎是不够的,态度更为重要
在社交网络上出现最多的一个问题是“我想做一个X类型的游戏,用什么引擎最合适?”。有太多引擎都有其针对的特性,而事实上,能否成功取决于你如何执行你的开发计划。
大部分开发者犯的第一个错误是用精美的画面实现了一个简单的游戏原型,然后打算用同样的模式去完成剩下部分的游戏内容。而随着时间的推移,各种情况接踵而至:
- 游戏素材都很棒,但游戏性很糟糕。总觉得该重新来过,又实在太费时间而叫人灰心。
- 游戏本身没有问题,但是又觉得素材可以做的更好来匹配这个游戏,重制素材的过程让人沮丧。
- 游戏很棒,但总觉得还可以加入更多的元素,对应大量的素材准备工作又成了拦路虎,很不爽。
- 还有一些游戏因为低估了复杂度,需要额外的投资才能继续
以上这些都是一些常见的问题和项目失败的原因。我相信其中有不少你都耳熟能详。让我们重新开始梳理这整个流程,从构思概念到最终发行的各个环节!
从头开始,这个游戏有市场吗?
等一下,不是应该先做原型吗?想到了一个好点子,下一步当然是做一个原型啊……
显然不是的,这就是99.99%的独立开发者和工作室犯的最严重的错误。
你要知道,制作原型与游戏的可行性无关。我知道你读过许多文章,他们都说制作一款成功的游戏应当以较小的规模来试错从而规避风险。这种没经验的说法很糟糕,千万不要学。这个世界上不冒风险何来收获,关键在于要如何去理解甚至管理这种风险。
只做你想做的领域,随着开发的推进你的长处和局限性都会表露无遗,千万不要太早折断自己的翅膀,有野心才有机会获得成功。
在制作游戏原型以前,你应该仔细考虑以下四个问题:
- 什么样的人会玩这款游戏?
- 如何才能找到这些人?
- 开发经费如何筹措?
- 你的游戏有何独到之处?
具体如下:
什么样的人会玩这款游戏?
这个问题是你最先需要考虑的,在脑海中勾画一下这款游戏玩家的画像,比如下面这样的:
- 所有人——比如说:这是一个解谜游戏、塔防或休闲游戏等
- 主流玩家——比如RPG、FPS或战略游戏等
- 非主流玩家——比如冒险游戏或回合制策略游戏等
- 独立游戏玩家——比如那些喜欢找一些冷门小游戏的人,无论什么类型皆可
- 等等
在进入下一个问题之前务必把这个问题先想清楚,下一个问题是:
如何找到这些人?
这个问题开始就变得复杂起来了,让我们继续用上面那些例子:
休闲游戏
简单的休闲游戏(如愤怒的小鸟、2048、跑酷等)是几乎所有人都会玩一下的。没错,这个市场巨大,数十亿玩家都是你的潜在玩家……所以你只用把游戏做出来然后发布出去……就够了?显然并不是,应用商店中有大量这种游戏,你发布的游戏会在瞬间被淹没,无影无踪。
讨论手机游戏有些超出这个问题范畴了,因为这实在太贵了。你当然可以找到游戏发行商,但其中绝大部分都是骗子,如果他们告诉你他们十分乐于发行你的游戏,千万不要相信!他们会在你的游戏中植入大量的广告来交叉推广他们自己的游戏。没错,他们会发行你的游戏,但只为自己攫取利润,而不是为你。
靠谱的手游发行商都会问你这样的问题:“你的游戏 KPI 指标是什么?”或者是“你预期的游戏转化率和留存率有多少?”。这样的才是像样的手游发行商,他们会为你的游戏投入更多资金心血。
不幸的是,这些问题并不容易回答。让我来告诉你一点,现在手机游戏中最流行的盈利模式是“F2P”(免费游戏内购付费)模式。其它任何模式都不奏效。付费游戏(免费或有价值的内容)几乎挣不到钱,广告收入也不足以维持你的生活(即使是有百万级下载的游戏)。没错,唯一能赚钱的方式就是“F2P”,这意味着游戏的下载完全免费但是游戏中提供两种内购内容给玩家
- 降低游戏难度
- 获得更酷炫的皮肤
这个问题非常复杂,这篇文章无法详细解释,但是在这种免费游戏模式的浪潮下,“玩家”(或“用户”)是要花钱买的。对于一些公司而言,愿意付出5美元来赢得一个用户下载并启动自己的游戏。这绝不是笑话,均价可能会更贵。其中大部分玩家在游戏里半毛钱都不花,但有一小部分(国外叫“鲸鱼”,国内称“大R”)的花费将大大超过5美元,这将会极大拉高用户的平均付费水平。
“转化率”是指你在每个用户身上的平均“产出/投入”比,如果你平均花费5美元获得一个用户,而平均从没个用户身上能得到8美元,那你的正向转化率就有1.6,一旦你实现了这种正向转化,你的游戏就变成了一台真正意义上的印钞机。
即便你找到发行商愿意为你的“UA”(获取用户“User Acquisition”缩写)投入资金(哪怕只是其中的一部分)。无须多言,要想达到盈亏平衡点也是十分困难的,甚至有许多游戏在其中耗费了数年时光才勉强扭亏为盈。
我们长话短说,在休闲游戏中要想取得成功的机会非常小。除非因为兴趣或学习,不要尝试进入这个领域。
营销专家们总会跟你说的一句话是——与常识相反,市场越大越难做。
主流游戏
这类游戏需要投入大量的资金用于宣传,才能吸引用户(这会花掉很多钱)。如果你有足够的游戏开发经验,还是可以尝试一下。
非主流游戏
非主流游戏的玩家通常比较容易找到,他们都有专门的网站、论坛和FB专页。并且每种类型的游戏都会有一些专页的发行商(回合策略、冒险等),只要你想了解他们会告诉你这个市场的相关数据。
独立或实验性质的游戏
Steam 和 GOG 等依然是很好的平台,只要你的游戏足够有趣(在问题4中会细说)。请记住:大多数游戏要么卖得很好,要么销量惨淡,几乎没有你向往的中间地带。
开发经费如何筹措?
你需要考虑游戏如何获得投资,下面我会说明一些常见的渠道和方法:
发行商
只要你按照正确的步骤操作,一般都不难从发行商手中获得资金,但很少有人做得到,我下面会详细说明。
通常而言发行商都会协助你销售游戏然后从中获取分成,你只有当发行商收回自己的投资后才能看到属于你的收益(这是最常见的方案)。
在寻找发行商的时候,请先寻找那些跟你类似的游戏,看看是谁发行了这些游戏,通常来说他们会更了解这个市场,也能更好的评估游戏发行风险。
众筹
目前想从 Kickstarter、Indiegogo 或 Patreon 之类的网站上获取资金越来越难了(下一个问题会帮你解决这个问题)。常见的策略上降低期望的资金额度(并回报一个小游戏),之后如果募资成功,再去找发行商或私人投资者,向他们展示你的成果(基本上,这些人会对你的游戏比较有兴趣),这样你就可以得到剩余的资金了。
政策补贴
留意一下你所在的地区是否有相关条款,很多国家都想发展游戏产业,就会提供相关的补贴和产业基金。
投资商
有一些投资商专门从事游戏投资,但通常他们对公司的股权和知识产权更感兴趣,最常见的是天使投资人。
预售结合社群开发
在我看来这是最好的一种形式,但必须做好每一步工作。这样可以在你开发游戏的过程中形成一个忠诚度很高的社群,你必须很好的管理这个群体,在开发的过程中也要注意倾听他们的意见。随着社群的扩张,会有越来越多的人来预购你的游戏直到最终完成。你的社群也会帮忙宣传你的游戏,因此它会自发增长。
最后,也是最重要、最难回答的一个问题:
你的游戏有何独到之处?
如果你的游戏与市面上的游戏没什么不同(非常明显的差异),那它就很容易失败。人们不会去玩,发行商也不会有太大的兴趣,更不可能围绕这个游戏形成独有的社群。
更糟糕的是,这种差异必须能被轻松传达给玩家,一句话、一张图或一个十几秒的短片。必须与众不同。
这种差异可以是创新的游戏设定、或是既往的游戏不曾使用过的美术风格。独特的角色设计也能让人产生兴趣,而对于优秀的 RPG 或冒险游戏来说,故事性和艺术性缺一不可。
制作原型
如果你对以上问题的答案都了然于胸,那么现在就是时候制作游戏原型了。这个原型的目的是证明你的游戏创意行之有效,你的艺术风格(美术、声音等)也都恰如其分。
我见过许多设计师在自己的想法中投入大量金钱,而其实他们原本可以在原型阶段就预见到失败。永远不要跳过这个步骤。
在此阶段,你的美术风格(或声音)都不是最终效果,代码也可能非常粗糙。这都不是问题,最重要的是“游戏体验”要到位,可用性强,要在游戏性上接近你的最终成品。务必要能很好地传达出你的游戏创意。
在这个阶段中反复迭代是至关重要的,测试时不要漏掉任何一个核心功能,务必反复修改直到体验上足够完美
这个过程中任何没有解决的核心问题,都会成为后续工作中的拦路虎。这意味着操作反馈需要足够顺滑,即点即现。
在此时需要尽可能寻求各方面的反馈!
至于钱,在原型阶段能找到天使投资肯定是最好的。这类投资人会给你提供足够的资金来开发一个细节场景作为半成品DEMO(下一段会说),并可能向你要求最终收入的很大一部分(通常在30%~40%左右)
这些天使投资人的出发点是,将金钱投入到少量未经证实(能获得成功)的高风险项目,一旦其中有一个成了,就能赚到很多钱。
制作半成品 DEMO
如果你是自己在业余时间做游戏,或者已经有现成的资金来源,可能没必要做这一步。否则,这可能是确保你的游戏能获得足以完成开发(或 Alpha 版本)投资的关键步骤。
这个半成品就像是从你最终的成品中剥离出来的一个片段,其质量和完成度必须达到最终成品的效果。
举个例子,如果你的游戏一共有30关(任务、场景、地点等等),你可以制作其中的2、3个,这几个演示关卡必须达到最终品质,甚至通往其它关卡的入口也应该是可见的,哪怕暂未开放。
这DEMO并不一定要游戏的开头部分,可以是任意的内容(一个好的介绍场景纵然很加分,但想实现也殊为不易)。
为什么这一点会这么重要?原因如下:
降低投资人的风险<
投资是有风险的,风险越低,获得投资的机会就越高。如果通过原型能表现出游戏的可行性,那么这个DEMO就足以表明你有能力完成整个游戏。
可以更好的预估研发成本
到此为止,你应该很清楚自己花了多少成本,包括投入的金钱和时间。
那就可以简单推导一下:如果制作 10% 的游戏内容(这个 DEMO 在整个游戏中的占比)花费了2万美元,那么最终(完全版游戏)的成本可能要在20万左右。
便于调整预算
有很多发行商和投资人可能没法提供足够的资金来完成你最初设想的游戏长度和内容。这个DEMO可以让你估算需要砍掉多少内容以确保在预算范围内完成游戏。
持续研发完成 Alpha 版本
这是大部分开发者很容易犯的另一个致命错误。在完成 Alpha 版本的开发工作以前,千万不要在此过程中去增补任何最终游戏素材(美术、音频等),全部用临时素材替代即可,唯一的例外是某些游戏类型中必须的关键动画素材等(比如格斗游戏)。
整个游戏,务必全部用临时素材来完成开发(或草图、方块图形等)。
我知道这么做非常令人沮丧,因为看到整体愈发完善会让人感觉更好。但是,请务必抵制住这种诱惑。
这么干是有原因的:
游戏性是最高优先级
决定你的游戏是不是好游戏的关键因素是游戏性,在这一点上必须精益求精追求最好,因此首先需要确保所有功能都被实现,游戏可以从头到尾完整进行,操控感和用户体验必须优秀。
在此期间使用临时素材就会便宜得多,因为不需要因为游戏调整而去重新制作游戏素材。
Alpha 版本更易获得投资
当开发进入 Alpha 阶段以后,你就获得了跟投资商和发行商谈判的最大筹码。这是因为:
- 你可以更清楚展示出完成游戏还需要多少素材和资源,以及需要多长时间能完成(这都亏了之前做的DEMO)
- 你可以全面展示出游戏内容,你可以当场演示出游戏中的趣味性,对投资而言风险更低,因为成品至少比这个Alpha版更强
- 你没有为此花费太多金钱,投入基本都在程序员和个别美术/动画师/游戏设计师身上
- 后续的投资都将用于后续雇佣相关的工作人员(动画师、图形师、作曲、音效等等),借他们之力完成整个游戏
因此,投资以上这些开发工作的风险是较低的,那就更容易谈到一个合适的价码。
完善游戏素材向 Beta 版迈进
Beta 版基本上就是整个游戏的完成形态了(除了有一些 BUG,也许还会有微调),只是在游戏素材质量上还有所欠缺。
其实这个阶段是非常有成就感的,但这过程同样不易。无论是大型的3A公司还是独立开发者,完善游戏素材都是在开发末期才进行的。
对于独立开发者而言,在这个时候可以考虑找外包来辅助完成美术、音乐、声效等工作。因为此时需求(和游戏本身)基本不会发生任何变化,这样你可以省一点钱。你可以提出精确的预算要求,并签署相关服务内容的合同以保障这一切。
这么做可以避免长期雇佣一名专职的工作人员所带来的花费,毕竟开发过程往往比你的预期要久得多。
要从 Alpha 版进化成为 Beta 版,通常除了游戏的素材之外,还有一些工作诸如多地区的文本翻译、宣传影片、录音工作等等。
完全版
当游戏中的各种 BUG 和问题都被修复以后,能够稳定的运行时就基本意味着游戏已经完成了。这个过程可能需要很长一段时间,有很多工作室在游戏稳定之前就提前发布游戏,然后在后续的过程中通过更新来修复游戏中的问题。我想说这不是个好习惯,但这个行业已经习以为常。
发行版
就我个人的游戏发行经验来看,发行商在选择游戏时其实类似赌博下注,他们会为许多项目提供资金,但是只为销售情况良好的那些提供大力支持(推广),而那些得不到支持的游戏只能静待死亡,这是自然规律。
正如我刚才所说的,即使你签下了发行合同,也不能保证你能获得足够的营销资金。而你得以跟发行商讨价还价的唯一资本就是完成度足够高的游戏,至少也得是Alpha版。
最初,我对这种行径非常愤怒,但如今我已经理解了他们这种做法。对于发行商而言,这是最自然不过的行为。毕竟他们是商业公司,而非慈善机构。
另外,也不要曲解我的意思。不同的发行商也千差万别。有一些即便不投入资金去推广营销,他们也具备很多媒体资源,甚至有大量的粉丝(比如Atlus3和Daedalic4)会主动购买他们的游戏。他们同样知道自己的目标市场在哪,所以即便你的游戏没有大卖,也不代表发行商们花功夫去推广。
通常情况下,你可以跟发行商进行谈判,比如如果游戏的收入低于一个值时,你可以要求他们把发行权返还给你……也许在别的地方还能找到新的希望。当然,如果你之前曾经从发行商那得到过投资,他们会在这种情况下要求你支付相关费用(这一点你可以尝试跟新的发行商谈一下)。
同时,就我个人经验而言,如果游戏卖的不好,想通过砸钱推广的方式来提高销售的机会也不太大。
至于游戏引擎的问题,你可能听说有的发行商会对开发引擎有特殊要求,比如指定使用 Unity、Unreal 或其它。这是彻头彻尾的谎言,我用 Godot 开发并发行了许多游戏,其中有面向桌面设备、移动设备等各种平台的游戏,但从未有人质疑过这个问题。
你唯一需要注意的是如果受雇于第三方公司(比如迪士尼、乐高等)来外包制作游戏时。他们在最后会要求你提供游戏源代码,以便于在没有你的情况下他们也能自行维护游戏内容。这取决于你们之间的协议。
自主发行
自主发行其实很难,即便你学会了其中各个环节,自己去做所有的推广工作也会耗费很多时间和精力。我知道有一些较小的发行机构可以帮忙完成这些工作,他们通常会从销售中提成(或按月结算)。但我觉得其中有很多都是骗子,记得要先去核实一下他们以前发行的游戏数据表现如何。比如 SteamSpy 就是个很棒的参考工具。
结语
如你所见,制作游戏的完整流程超乎寻常的复杂,而且即便走到终点并不意味着能够收获成功。希望这篇文章可以帮助你了解游戏制作过程在的一些重要环节(也欢迎经验更丰富的朋友提出更多宝贵意见)。
在当下的行业中,估计只有十分之一的游戏能成功获得投资,在这些游戏中更只有少数能获得足够的回报(取决于资金的来源而异)。
但是,如果你做得够好,起码可以赖以为生。如果你能反复重复以上所有步骤,只要尝试足够多,我相信你在有生之年非常有机会赢得真正的成功。
永不言弃!
注释
- MVC模式(Model–view–controller)是软件工程中的一种软件架构模式,把软件系统分为三个基本部分:模型(Model)、视图(View)和控制器(Controller)。详见: MVC ↩
- OOP:面向对象程序设计(英语:Object-oriented programming,缩写:OOP)是种具有对象概念的程序编程典范,同时也是一种程序开发的抽象方针。详见:面向对象程序设计 ↩
- Atlus(株式会社アトラス)是日本一家电子游戏开发和发行公司。著名的代表作品有真·女神转生系列、女神异闻录系列及世界树迷宫等 ↩
- Daedalic Entertainment GmbH 是位于德国汉堡的一家游戏开发及发行公司,其发行作品大多很有特色,诸如《影之策:将军之刃》、《德波尼亚》等。详见:Daedalic Entertainment、机核 ↩
诸如此类的文章反复不断地提醒我们一个事实:开发游戏是一件多么困难的事情。
万事开头难啊
@ForMxc: ┭┮﹏┭┮自己做过才知道,何止开头难,中间难,结尾也难。
@张公子:其实我觉得坚持最难
这是可操作性最强的开发文章之一