“罗伽利克原则在于资源的严格有限性”——关于独立游戏《Roam》开发的采访
独立开发者马克西姆·比科夫(Мaksim Быков)已经花了三年时间开发复古风格的角色扮演平台游戏Roam(早前名为Moist)。关于这个项目、开发计划、遇到的困难和期待,我们与他进行了采访。
亚历山大·谢苗诺夫(Александр Семенов),App2Top:马克西姆,你好!在我们谈论游戏之前,先介绍一下你自己吧。
马克西姆·比科夫
马克西姆·比科夫(Roam): 你好!我25岁,住在圣彼得堡。一年前,我还在作为网页插画师为广告公司做自由职业。这是我选择的第一份也是唯一一份工作,因为绘画一直是我的第一爱好,其次是音乐和游戏。有一次,这种结合让我确信,如果我开始开发游戏,一切都会顺利的。
游戏的开发是从什么开始的?
马克西姆:事情开始于我和几个朋友在23到24岁时(2021年)都独立有了一个领悟:想要开展自己的事业并“再也不为别人工作”。
有人开始生产香薰蜡烛,有人去做市场销售。而我有一天梦见自己在Steam上发布了一款游戏,并在翻阅它的评论。我对这个梦感到非常满意,于是当天我就下载了Unity,开始思考我会制作什么。
从一开始我就明白:这将是一个严肃的项目,我必须倾注所有精力。当然,按照经典,我在规划阶段严重低估了工作量,但我一直认为耐心是我的长处,因此逐渐意识到工作的规模并没有让我感到害怕。我始终认为,开始开发的决定是一个双赢的情况,不是获得丰厚的收入,就是为自己提供一个强大的作品集,以便有机会在某个我感兴趣的项目(可能是在国外)当全栈开发者。
谈谈这款游戏。什么是Roam,你自己如何定义它?
马克西姆:最初,我仅仅是从像素图形和角色扮演游戏(RPG)的类型入手,因为这些因素在我选择玩什么时通常是决定性的。
由于我并没有制作任何设计文档,只是保持了基本概念,同时添加我认为必要的基础和非基础的元素,游戏经历了多次变化。最初计划时,主要是强调任务和叙事,但我及时意识到我并不是作家,而对我来说,游戏中最重要的永远是完善的多层次游戏性。
最终,这变成了(引用Steam上游戏的描述)“一款在程序生成的开放世界中具有rogue-like、metrovania和生存元素的2D平台动作用RPG”。
它有哪些关键特性,与该领域其他项目有什么不同?
马克西姆:考虑到这一类型已经被开发得烂熟于心,我仍然决定相信我自己的游戏经验和在YouTube上观看的关于我喜欢的游戏机制的几十篇文章会告诉我该怎么做。这是那种感觉,当你知道自己可以在传统的框架中加入一些个人特色,修正你在其他项目中发现的缺陷,并在很大程度上不依赖于他人的视觉/游戏性/叙事,创造出独特的玩家体验。
在这个过程中,rogue-like、metrovania和生存的元素被引入其中。也许主要特性(可能并不独特,但无疑)是所有过程和机制在游戏过程中的全面相互关联。可以称之为沉浸感吧。
例如,我注意到在类似的RPG中,通常会引入大量内容,其中90%在游戏结束时会变成垃圾(武器/护甲等级太低、金子泛滥以至于你不再注意并计划开销、NPC与游戏过程没任何结合,只是充当升级/出售/购买的按钮)。
我对rogue-like原理的理解是资源的严密限制。这使得玩家不会无脑地攻击敌人,而是为每种情况制定战略,做出更复杂的决定等等。
因此,我尽量平衡一切,即使是最初的物品在升级后也能够执行重要的功用,比如附加某种元素伤害或有利的属性加成。此外,所有可以找到的资源在整个通关过程中都将用于制作,而NPC分布在地图各处,仅出售/制作有限(通常是随机的)物品列表。
关于世界生成,情况也差不多。与其提供一张肠状地图或一个空荡荡的开放世界,玩家得到的是一张垂直构建的地图,上面有许多不同的路径、障碍、资源、藏身之地、地下城和敌营。找到的地点既可以帮助通关,也可能带来巨大阻碍。形成的就像是一个庞大的迷宫,包含洞穴、大空间和多样化的结构,引导玩家走向关键地点,比如Boss。
总之,敌人每一个都可能在缺乏适当装备或玩家经验不足时造成威胁。而群体中的小怪还可以相互作用:治疗、增益、传送,相互造成一定类型的攻击等等。
而且值得一提的是,所有地下城内的移动都依赖于钩爪机制。这一机制做得非常好。
我理解正确吗?你是独自开发Roam吗?还是有人在帮忙?
马克西姆:在2023年夏季之前,我是独自工作,之后我认识了来自莫斯科的投资人米沙(Миша)。他在项目中负责市场营销、信息搜集和法律问题,有时我们也会集思广益,讨论机制和叙事的想法。其他方面的开发仍然完全由我负责。
对你来说,自主开发项目最困难的是什么?
马克西姆:或许是人类心理。长时间坐在同一个项目上,每天10到12个小时,确实很艰难。而且这一切仅仅寄托着一个希望,那就是总有一天它会有所回报(无论是情感上还是经济上)。有时,确实会感到沮丧。
自2021年中期以来,开发工作几乎没有停止。是什么让你不至于感到耗尽?
马克西姆:耐心和努力,正如人们所说。我已经提到过耐心。这里可以加上自信心和休息的能力。事实上,我仍在学习如何休息,但似乎开始有所成效,这让工作变得轻松多了。相信自己能帮助我在遇到挫折时不感到沮丧,即使是那些重大障碍。在这种情况下,我总在心里想:“如果我花足够的时间去做,就一定能成功”。
开发工作的起步是什么?
马克西姆:从像素主角的绘制开始,同时下载并安装Unity。然后是在学习C#和引擎的过程中进行了150次的重新绘制。但我很高兴从一开始就尝试在项目上写一些代码。这样,在一年左右的时间里,我既学会了像素艺术,也学会了编程到足以慢慢开始复杂化和扩展项目。
在你的博客中,你提到最初没有什么具体的愿景。你似乎只是坐下来开始创作。为什么会这样?
马克西姆:我对任何项目的理解都是这样的。无论是歌曲、画作还是游戏,对我来说,最重要的是在开始时不要因某个具体的愿景或主题束缚自己的手脚,以免错过精彩的创意,并使它们能够随时融入结构中。
例如,旧的名字Moist被弃用,不仅因为30%的英文用户在Reddit上将这个词与各种分泌物相关联,还因为它极大地限制了我的想象力在水的主题上。而Roam则在这方面给了我更多的空间来探索任何创意和机制。
那最终是如何构建出这个愿景的?是通过原型开发吗?喜欢的特性就加入到游戏中,不喜欢的就去掉?
马克西姆:是的,确实如此。第一个功能之一是钓鱼,它存在了大约半年并且已经成功被替换(换成了类似水下狩猎的机制),这样不会影响游戏节奏。
第二个例子是起始城镇,我在其中纠结了两年,始终无法做到满意的程度,后来干脆把所有精灵换成方块,我对此解决方案感到非常满意。
还有一些这样的时刻,不过它们都不太显著。我努力提前思考并将新机制与旧机制连接在一起,以避免浪费太多时间去实验。
那么城市具体出什么问题了?
马克西姆:主要的想法是制作一个多层的紧凑区域——一个中心。需要做到的是:
- 整个构图不能像地毯(当所有精灵合并成一幅完整图像);
- 玩家不必费心思来理解可以跳跃的地方、可以行走的地方和钩子可以抓住的地方。
无论我怎么尝试——结果都是不如人意。
而且这座城市在方块风格中显得有些突兀,似乎暗示着要么需要设计其他类似的东西来丰富变化(而我并不想做这个),要么就拆分成几个部分,重新用方块绘制,把现有的建筑物放置在其上。仅用半天时间完成这一操作后,我惊喜地发现那些关于完整性、美观和玩家舒适度的烦恼瞬间消失了。
你花了多少时间才达到一个具体的愿景?
马克西姆:愿景是与米沙见面时才浮现出来的。所以大约是在启动两年之后。在此之前只有方向感,而此时情况迫使我必须明确一些具体的事情,开始更有针对性的工作。但我对此感到很高兴。
现在看来,主要的灵感来源是Terraria,这有意为之吗?还是你从其他地方出发?
马克西姆:我从所有我曾喜欢玩的游戏中汲取灵感。这包括Terraria、Minecraft、Don’t Starve,以及系列Souls,还有很多其他游戏。有时,灵感甚至来自一些不太知名的独立游戏,比如我高中时玩的Legend of Dungeon或Cube World。是的,在我看来,这些游戏之间总有可以相互借鉴以提升游戏体验的地方。
例如,在Minecraft和Terraria中,我从来不喜欢挖土。这在某个阶段会变得非常单调。通常,故事归结为不断向下挖掘隧道,直到找到哪种地牢/洞穴,然后去清理它们。那么,为什么不设计一种在地图上自由移动寻宝和资源的方式,而不需要做任何单调的操作呢?这样的例子不胜枚举。
总之,我尽量从各处获取最好的部分,并分析如何将其融合,甚至是否值得这样做。
你的工作流程是怎样的?你从哪里开始工作?
马克西姆:无论是在我的头脑中,还是在文档中,都会有一些优先要完成的基本任务。或者根据心情来进行。其实就这些。对我而言,坐下来开始工作更为重要,而在那之后,在工作日开始时的传统地图测试奔跑中,我会处理任何出现在我面前的事情。
在你的博客中我注意到,你经常提到你重做了一些东西,或许是因为技能的提高。你认为,如果放弃这种做法,开发时间会缩短多少?你对此有什么看法?
马克西姆:这是一种自然学习过程。当然,可以选择在项目之外学习编码,然后再开始组合。然而,我认为,实践是最好的老师。这样带来的动力是无与伦比的,所有事情看起来都能顺利完成(起初确实是这样)。画一些东西,写50行代码,事情就这么开始运作了,能走动和开火。但错误是不可避免的。
例如,在项目增长一年半后,你才会意识到代码架构是什么,以及为什么这如此重要。接下来六个月则是在重新构建,确保在数百个脚本中不会迷失。
要是现在从头开始项目,已经了解怎么做,这样就可以直接避免一年的细节摸索。
你同时负责代码、艺术、设计和声音。有没什么是你希望能避免或委托给别人的?
马克西姆:噪音方面确实很缺乏时间。有时探索灵感想要创作声音,或者在Serum中生成一些声效,但这种情况比较少。此外,学习这一切也需要时间和设备。我们计划在演示发布后聘请外包专家。
你是如何在脑海中整理所有正在工作的组件的?
马克西姆:这再一次关乎架构,以及系统化和尽可能简化一切。当所有文件夹都有适当的标签,代码里有合理的注释,而每个功能归其位置时,项目的秩序显得并不那么复杂。特别是每个文件/功能/变量都有简单易懂的命名,通过搜索很容易找到。
你最初曾说过,开发需要至少两年的时间。根据我的理解,一切似乎都在按计划进行,还是有些偏离?
马克西姆:目前我们计划在2024年2月底前发布演示,而正式发布则在2025年第一季度。理论上,演示之后,将项目规模从25扩展到100将比构建基础容易得多。
你用来规划的工具是什么?
马克西姆:一个单独的谷歌账户,里面存储着所有的计划、文档和云端文件。
总体而言,你使用什么软件进行开发?
马克西姆:使用Unity 2022.1.23,Aseprite用于像素艺术和动画,FL Studio 12和Serum用于音频。所有的地图和参数编辑器都是在游戏中单独场景中创建的。
你在Unity上开发这款游戏。面对他们的盈利模式变化,是否有考虑切换引擎的诱惑?
马克西姆:我认为这个话题比原本应有的更加流行。即使最初的变化门槛似乎从20万美元开始,但我们并不感到特别困扰。20万美元对许多人而言,当然对我们来说也是梦想的极限。而且改变引擎是一项繁重的任务。
由于其工作量较大,有哪些决策或特性被放弃了?
马克西姆:这甚至不能一一列举:在思考阶段,有很多东西被搁置了。但最主要的是可破坏方块和水流,因为这两个方面在理论上会完全改变生成机制,并产生大量需要考虑/修正的复杂因素。不过随着我对最终结果的理解不断增长,甄别出必要的东西变得更加简单,甚至不需要太多思考。
我还必须提到多人游戏。这一故事更像不是放弃实现,而是有意识地推迟。我一直想深入了解这个主题,一些机制已经为最多四人合作的游戏做了准备。但是我非常不想在游戏的基础还未完成时就去加大难度。因此,很可能多人合作只会在开发的后期阶段出现。
在你的博客中,你还提到的3D光照效果,视觉上很酷,给游戏增添了独特的视觉特点。为什么选择放弃实现它?
马克西姆:这也可以归为之前的问题。这里发生了简单的优化问题,整个世界都是基于Tilemaps构建的。1000x1000块的大地图会给同样大的地图投射阴影,甚至一张不错的显卡也艰难处理这些过程。而性能是必须最大限度优化的最重要事情之一。如果一款100-150MB的游戏要求的资源与极高设定下的《网络朋克2077》相同,这就很奇怪了。最后,经过颜色和绘制工作后,我现在对图形的喜爱程度甚至超过当初有灯光效果的样子。但是,或许在下一个项目中会得到机会来增加这种美感。
还有哪些事情需要完成?游戏的完成度大约是多少?
马克西姆:我在心里估算,演示的完成度在90%左右,但与发布尺度相比,它只占25%。而正如我提到的,从25扩展到100应该比构建基础要简单得多。而且在系统完善后添加内容是一种乐趣。
有多常有人提供帮助,对此你的态度是什么?
马克西姆:每两个月左右就会有人联系。总体而言,在音乐和绘画方面,有些人甚至愿意无偿帮助。我会保持他们的联系,以备需要帮助时。但我真的不想请无偿的助理:良心不允许我。当年我也试着当过一周的狂热艺术家。
有发行商联系你吗?你对发行商感兴趣吗?
马克西姆:是的,有三家发行商联系过。至于目前,我和米沙计划在市场上测试我们的能力。不过如果需要,确实会寻求发行商的支持。
推广有什么计划吗?
马克西姆:我们有相当广泛的推广选项。从Reddit Indie Sundays到Steam上的节日。途径和方式非常多,所以我觉得我们需要确定三到四个主要选项,然后有重点地进行推广。当然,我们还计划在发布的前一两个月投入广告费用。
你的期望是什么(当然,还有心愿单的情况)?
马克西姆:期望首先集中在尽可能优质地推出一款游戏上。如果游戏真的不错,则预告片和营销会发挥作用。
至于心愿单的情况目前有些令人失望:第一个月800个,然后就是静默(而且约50%的愿望单来自日本)。但我明白,在没有任何推广的情况下,关注心愿单毫无意义。流行的观点是30000个愿望单算是不错。我们目前的目标就是朝这个数据迈进。