案例:克隆、开发和推出“找不同”类型的游戏
制作人 尤戈尔·瓦西里耶夫 撰写了一篇关于克隆“找不同”游戏经验的详细材料。他讲述了预算、开发过程中的困难、软启动、发布以及初步结果。
引言
一年前我在找工作。拥有九年的游戏行业经验,其中六年是作为制作人。这段经历并没有让我不再担心失业、没有收入而陷入贫困和无名的恐惧。经过大约15次面试后,我收到了莫斯科、基辅和明斯克一些大型公司提供的四千美元以上的薪资邀请。但我并不急于接受这些提议,我缺乏挑战。
可以说,我可以在办公室以“货币化制作人”的身份工作,创造超成功的具有五年历史,每年收入数百万美元的匹配-3游戏的提案,但这并不是我热爱这份工作的原因。
在我看来,制作人工作中最美好的部分就是走出去“到一片空地”,在这里一无所有,从零开始组建团队,搭建开发流程,把产品推向软启动,然后是发布。因此,当德米特里以类似的提议联系我时,我们很快通了电话,开始讨论细节。
德米特里和他的合作伙伴专注于移动应用程序。他们购买具有自然流量的现成App,进行货币化,回收成本,然后再转售。虽然没有游戏开发的经验,但他们有尝试的愿望。他们的注意力被位于第聂伯的 SmartProject 工作室的游戏 5 Differences Online 吸引。
游戏的核心是寻找两幅图片之间的不同之处,还有一个有趣的特点。玩家在与其他玩家同时寻找不同之处。最后找到的玩家会被淘汰,其他人进入下一轮。这像是一场休闲的“大逃杀”。
在游戏的节奏中也很简单——每日任务用于短期留存,每周锦标赛用于中期留存,收藏品用于长期留存。货币化则基于提示——玩家可以购买提示,直接显示出一幅图片上的一个不同之处。
我查阅了 App Annie 以查看财务指标。游戏每日在每个平台的收入为4万美元。2020年1月的收入为250万美元。直到1月份,月收入稳定在50万美元。我们决定进行克隆。
资金
最初需要回答的主要问题是——这将花费多少。我使用以下方法来计算开发成本。
首先,我定义团队需要具备哪些专业知识。在我们的情况下是:
- 游戏设计师。需要将原始游戏进行拆解,编写文档,将平衡数字录入到管理系统。任务相对常规,且不需要特别才能。我预算为$1000每月,全职;
- Unity开发者。这里基本上不需要多说,需要一名有信心的中级开发者。$2500每月,全职;
- 服务器开发者。需实现PvP、内容传输(带有不同之处的图片)、购买验证、快速测试更改的服务器配置。$1500每月,兼职;
- 2D艺术家。需要绘制9个场景及加载画面。对于软启动来说,可以减少2D图形的数量。$2000每月,全职;
- 内容艺术家。需要制作界面、收集品的 предметы 以及本身的不同之处的图片。$1500每月,全职;
- 制作人(就是我)。负责组织和管理流程。$2000每月,全职。
总的来看,团队的烧钱速度为$10,5千每月。我通常将工资定得略高于市场水平。首先,这可以在有机会时雇用真正有天赋的、热门的专业人士(实际上这样的机会并不多)。其次,如果时间表被推迟,也可以避免超出预算。
下一步是撰写路线图。为此,我在Trello上列出需要实现的机制。在每个机制内部大致列出子任务(以粗略了解开发时间),并标记团队中谁将负责这个机制。得到一个这样的描述:
游戏机制的粗略描述
然后,我把机制分配到各个月份,整理出路线图。同时,我注意:
- 开发顺序——在核心游戏玩法尚未准备好时,不应该做收集机制;
- 开发者的工作负载——团队成员的工作负荷应均匀分配;
- 开发时间——粗略估算一下,开发每个机制需要花费几周。
关于时间表,需要理解一点。机制的开发分为两部分,称为“头部”和“尾部”。
“头部”是游戏设计师描述的机制实现。“尾部”是对机制的打磨,包括修复非关键缺陷、平衡测试、可能的视觉实验。对于较短的机制和特别重要的机制,在规划阶段“尾部”的时间等于“头部”的持续时间。对于其他机制,则少一半。同时:
- 对于关键机制的“尾部”可能是无穷无尽的;
- 在规划阶段,“尾部”可以和应该根据需要削减或延长,以优化开发过程;
- 在规划出现错误时,首先需要削减的正是“尾部”。
最终得到如下表格:
在Trello上的项目路线图
通过这个表格我们可以看到,谁、何时以及在哪上工作。最重要的是,开发时间为4个月,成本为$42,000。通常我还会预留20%的额外风险,以防万一发生问题。
因此,开发所需的预算为$50,400。
该预算不包括软启动,因为无法提前预测软启动的持续时间或流量成本。需要根据自身的财务状况来制定。
在详细描述开发过程之前,值得指出一个重要的细节。我有克隆游戏的经验,我知道,当项目启动后指标低于目标时,首先想要改进的就是那些与原始游戏不同的部分。因此,我从一开始就坚持在第一轮迭代中最大限度地复制所有机制。
此外,还有两个盲点。第一个是与游戏的难度有关。第二个是机器人。我们无法将这些机制的内部结构进行拆解。我们仅仅拥有主观的感知,且每个人的看法都不同。
开发
在开发开始之前,还有一个未解决的问题。我不喜欢原作似乎没有视觉和理念上的统一性。我无法确定游戏的设定。我希望我们的游戏能更加完整。
为此,我选择了几个流行的休闲主题,并通过 Facebook Audience Insights 检查了它们与HOG类型游戏的交集,后者对我来说是最接近我们游戏的类型。最终得到这样的表格:
不同设定受欢迎程度的分析
我们最终选择了“食物和饮料”作为主题——我们尽力在视觉上保持这个主题。
接下来我开始组建团队。寻找人才时我使用了以下资源:
- 与游戏行业相关的Facebook群组;
- 与游戏行业相关的Telegram频道;
- 在dtf.ru和hh.ru的招聘版块;
- 论坛Gamedev.ru。
我不能说我的经验足够具有代表性,但我认为寻找开发者最有效的方式是使用Telegram,寻找艺术家则在Facebook,而游戏设计师和测试人员则在Gamedev.ru。在类似 dtf.ru 或 hh.ru 的专业网站上寻找人才在我这里并不奏效,因为很难与大型知名公司竞争。
组建团队花了两周时间,我们在二月中旬开始了开发。
最重要的问题之一是实现不同之处的机制,以及为其准备什么样的内容。主要问题在于,薄层的图像在每一关的不同数量是相同的,但每一关之间的差异在5到10之间。而且,由于玩家可能会输并多次重玩同一关,因此无法准确计算出每一关所需的内容数量。
最终,这个问题的解决方案是:图片来源于股票图库,我们的Photoshop大师为每一幅图片画上12个不同之处。我们将所有不同之处保存到单独的文件中,放在它们应该出现的位置。最终收到这样的图像对:
该系统首先允许我们在任何关卡中使用相同的图片,而不论需要多少不同之处。其次,对于已经通关所有内容的玩家,我们可以重复使用这些图片,但附上不同的不同之处。
经过两个月半的开发,几乎所有所需的机制都已实现。尽管一切看起来仍然非常未成熟且有许多漏洞,但我们开始准备软启动。为了加快进度,我们决定再增加一名Unity开发者。
“你们的游戏存在根本性问题,恐怕离发布还有一段距离”,新开发者在了解项目源代码后说道。
我发现自己处于一个尴尬的境地。一方面,确实有许多漏洞,但这对于早期开发阶段的游戏来说是典型状况。另外,几乎每个开发者都喜欢批评同事的工作,想要将所有东西都改成自己的方式。另一方面,我缺乏技术专长,无法真正理解和评估灾难的程度(如果存在的话)。
更糟糕的是,第一位开发者因新冠病毒住院,何时出院尚未可知。我做出决定是极其艰难的。尽管从商业的角度来看,重做是一项糟糕的决定,但我还是同意进行了重做。我这样思考:如果让新开发人员在现有代码上工作,这会使他感到沮丧,因此,我们最终可能在代码质量较低和由于新团队成员的低积极性而增加开发时间上遭受损失。
重做花费了一个月的时间。
软启动
2020年6月5日,经过三个月半的开发,我们进行软启动。一开始的指标令人沮丧。
但首先谈谈软启动的策略。我们决定从拉丁美洲的国家开始,特别是墨西哥、阿根廷和智利。首先,这些国家的采购费用远低于传统的加拿大、澳大利亚和新西兰。其次,这些国家与美国和欧洲的心态更接近,而不是东南亚国家,后者也经常用于软启动。平台选择安卓,因为便宜。
启动时,第一天的留存几乎达不到25%,而基准留存为35%。其他指标更是乏善可陈。我们开始查看第一轮会话数据,发现了显著的流失。我们提出假设,认为起始图像太复杂。我们修改了它们,通过明亮、明显的不同之处使其变得简洁。留存率提升至40%。接下来,我们还对起始图像进行了实验(图表中6月中旬的下滑),最终稳定在40%以上。
推出后的第一天留存率图表
第一天的留存和第七天的留存率均达到了理想目标,分别为15%+。在等待第28天的数据时,我们将重点转向货币化。
一开始的货币化状况糟糕得几乎让我们去检查商店和购买是否有技术问题。但事实上,没有技术问题,也没有任何购买。为了寻求资金,我们开始查看统计信息。
接下来该描述一下我们的统计数据收集和分析是如何组织的。我们使用 Game Analytics——这个免费工具可以监测主要的参与度、留存和货币化指标。可以按广告活动、国家或应用版本等进行抽样。最后,结合Play Market向一部分听众推送构建,提供免费的A/B测试工具:
A/B测试示例
有时需要重新检查统计数据是否有误。为此,我们使用了Facebook,因为无论如何,必须将其集成到应用中,以便购买流量。此外,我们经常查看“生命周期价值”部分,以了解广告的回报动态。
广告回报的评估
为了进行更深入的分析,我们展开了ClickHouse数据库,发送与游戏活动、经济和货币化相关的事件。为了与ClickHouse一起工作,我们使用了Redash,可以通过Web界面构建自定义仪表板并向数据库发送请求。
Redash中的仪表板示例
我们在ClickHouse发现了经济中的盈余——游戏内的虚拟货币投入超过了支出。我们开始调整平衡,减少货币的输出,但这未能引起统计上显著的变化。与此同时,我们在独联体国家开启了应用程序并购买俄罗斯流量,但也远未实现收回成本。
接着在讨论中有人提出重新设计锦标赛。在游戏中有每周锦标赛机制,玩家相互竞争,谁获得更多积分。每周的最佳玩家会获得奖励。排行榜上的都是实际玩家。我们决定制作完全虚拟的锦标赛,针对每个玩家个性化。锦标赛在他注册的当天开始。在第一天,玩家会迅速攀升至前列,但到了第二天,机器人对他也难以击败。接下来的每一天,玩家需要花费越来越多的精力来保持前列位置。此次更改使得平均消费翻了一番,但是距离收支平衡仍然遥远。
在8月初,我们决定改变广告采购策略。我们依然在拉丁美洲每天购买100次安装,这是为了能够在较为同质化的受众中监测留存指标。同时我们也意识到,在Tier 3国家测试货币化是无意义的。我们决定在英国发布应用程序,并开始购买优化为购买的流量。回报率从20%提高到60%。
在8月,我们的首席开发者失踪了。虽然他的在线状态显示正常,但他不再回复Slack中的消息。我们很困惑。四天后,他出现并道歉。他说这种情况每年都发生,他只是过度疲劳需要休息。开发因此停滞了两周。
为了不浪费时间,我开始解决一个长期存在的问题。我们多次讨论了图片中差异的复杂性——有些玩家觉得太复杂,有些玩家却轻而易举就完成了。我想消除主观性,获得数学上的复杂性评估。显然,差异的大小可以用像素来衡量。但是,如何用数字表达出蓝色在红色背景上比深绿色在浅绿色背景上更显眼呢?
实际上,存在一种颜色空间LAB,它考虑了人眼的视觉特性。通过将像素的颜色坐标从RGB转换为LAB,可以计算出两个像素之间的差异程度。
这使我们能够在数学上表示差异的复杂性,但遗憾的是,它并不能完全解决问题。差异的可见性在很大程度上取决于图片本身。如果图片五颜六色、细节繁多,无论差异多么简单,它仍然会在背景中丢失。
我明白,图片中的视觉信息量显著影响复杂性。信息量就是熵,但对于“图像熵”的搜索并没有得到结果。解决方案出乎意料的简单——图片上的信息量就是此图片文件的大小!
一旦我开始在复杂性公式中考虑图像的千字节大小,公式就起作用了。这使我们能够在游戏中更准确地构建复杂性曲线,并将第28天的留存率提高到7%。
截至9月,我们的每个付费用户花费为$20,而收入为$14。我们需要找出如何再获得$6。我们聚在一起进行了为期三天的头脑风暴,得出四个可能提高货币化的主要方向:
- 优惠。可能是增加收入最明显的方法;
- 额外的货币化点。到目前为止,唯一的货币化点是提示。我们决定增加购买放大镜的功能,帮助玩家放大图片以方便寻找细微差异;
- 事件。统计数据显示,有相当一部分付款者停止支付,但仍然继续玩游戏。我们决定在游戏中增加基于核心玩法的收藏事件,以创造进一步付款的动机;
- 机器人。我们的机器人行为与真实玩家不相似。我们决定“人性化”机器人。
接下来的两个月我们致力于实现这些想法。没有一个想法在统计上带来了显著变化,无论是积极的还是消极的。到12月中旬,我们发布了圣诞事件并开始投放流量。
尽管这是采购的最糟糕时机,但我们仍然寄希望于看到任何积极的变化。在第三天,所有广告活动都停止了。看着ROAS,我们意识到广告几乎不能收回20%的成本。我们决定解散团队,停止开发。
如前所述,原始应用中有两个盲点——寻找不同的难度和机器人。两种机制都是隐藏的,因此无法进行准确的拆解。而且,如果在与不同之处的实验中,我们似乎解决了复杂性的问题,但关于机器人的问题仍有许多不确定的地方。只有一个明显的细节。
在我们的游戏中,与原作不同,玩家无论在何种情况下都无法输。当某个机器人只剩下一个不同之处即将胜出时,它会停下来等待玩家获胜。我多次建议增加输的机制,但我的同事们对其可能对情况产生的影响不太信任。在12月底,当所有其他建议都用尽时,我坚持对机器人的配置做出相应变化,玩家开始有时会输。
过完圣诞节后,我们在两个平台上向全世界开放游戏,并 على最后一次开启流量,同时我开始准备迎接新年,更新简历,并思考我想要进一步做些什么。
结论
“伙伴们好。新年快乐!你们看数字了吗?)看来我们在去年都表现不错,圣诞老人给我们送来了新年的奇迹)”,——这是我们在1月3日早上收到的流量合作伙伴的消息。
我急忙去查看统计数据。两个平台的ROAS都显著超过了目标。显然,到月底,所有流量将会收回并盈利。也就是说,产品的生命周期进入了一个新阶段,此时需要通过实时运营和市场营销来扩展游戏,回收开发成本并开始盈利。
而我的使命在此结束。