在Godot中制作手绘硬科幻冒险:独游开发者访谈《Mayak》
简介
你好!我叫 Nikita。白天我是一名科学家,在实验室研究细胞。到了晚上,我研究外星人。Mayak 是我的第一款游戏,一款我其实还没做完的游戏。当我开始做 Mayak 时,音乐对我来说是最容易的部分。在做游戏开发之前,我以 Nicephorus 的名字做了大约 15 年音乐:Spotify。多年来积攒的许多旧草图、录制的采样和音乐想法,现在正慢慢融入到 Mayak 中。
我也会画一点画。小时候上过美术学校。但我以前从未尝试过编程、搭建游戏场景或写故事。所以我的起步相当混乱。我先定了类型和故事,然后开始画场景。与此同时,我看 Godot 教程,尝试不同的引擎——2D、3D、2.5D——碰壁,推翻重做,再重新开始。
大约一年里,一切都没什么起色。然后某一刻,砰。我拼好了另一个场景,画面开始动起来,有了光、声音、音乐、视差。我想:就是它了。这样能行。




核心玩法机制
Mayak 是一款线性、剧情驱动的科幻游戏,流程大约 4 小时。结构上,它是冒险游戏和视觉小说的混合体。有时你会在场景中走动、与周围环境互动、探索事物;有时它几乎变成纯粹的 VN。
故事的核心是一位年轻的天文学家 Nina(你好,Nina)、一只叫 Isaac 的猫,以及来自另一颗恒星的信号。信号看起来像这样:
3571
3559
3557
…
所有数字都是质数,而且它们在倒计时。简而言之:某个非常遥远的东西正在试图传递什么。接着就是首次接触的问题。接下来会发生什么就是剧透了。所以我不再多说。

会有太空、接触、未知、硬科幻,以及不少奇怪的东西。但对我来说,Mayak 与其说是关于太空,不如说是关于面对宏大宇宙事件的人们。如果要非常简短地描述:太空科幻与爱。还有一只猫。猫很重要。

灵感
我花了大约一年时间寻找视觉风格。我画了很多。试过 3D。试过 2.5D。摆弄光照。有一阵子甚至还试过 AI 工具,但我讨厌那些结果,就放弃了那个方向。后来某一刻我想:我已经有自己那种古怪、有点歪歪扭扭的风格了。它是我的。
现在到处都有完美打磨的插画,而且有一半时间人们在争论那是人做的还是 AI 做的。所以,或许不如相信自己的歪扭,放手去画?这个想法之后,画画不知怎么就顺利起来了。
我喜欢油画、印象派、粗犷的笔触、漫画、黑色电影、很暗的颜色和明亮的光。尤其是当这一切开始动起来的时候。

现在,我手绘每个场景,把它拆成许多层,再在引擎里重新拼装。有时我能一周画两三个场景。其实不,更像是一两个。我不知道。一切都非常慢。最棒的是,游戏里几乎每个场景都是独一无二的,不会再出现第二次。某个时刻我意识到,我给自己挖了个坑。我不会向任何人推荐这种做法。
至于硬科幻,我一直喜欢认真对待“科学”二字的科幻。大约 17 年来,我几乎每天都听科幻有声书。不知怎么的,我还是没听腻!当然,Mayak 是虚构的。会有假设,有些还挺大胆。但我想让游戏里的宇宙是合乎逻辑的。
我希望玩家通关后能想:“嗯。也许如果人类某天真的从太空收到 3571,事情可能会这样发生。” 那么故事基于哪些真实科学概念呢?在这里我就优雅地回避这个问题了。如果我把它们列得太细,基本上就等于开始剧透游戏里的谜团了。

开发流程
这是我在开发过程中最大的发现之一。Mayak 是真正的 2D。不是放在 3D 世界里的 2D 精灵,也不是什么隐藏的 3D 场景。就是 2D。对于有经验的开发者来说,这听起来可能有点好笑,但我真的不知道你能给一幅完全平面的画注入多少生命力。
首先,我把它拆成图层:前景、角色、墙壁、窗户、天空,还有一些完全没必要的灌木丛——不知为何我花了两个小时画它们。然后我加了视差。

然后是光照。光照已经画进了美术作品里,但在此基础上,我还能添加真正的 2D 光源和阴影。例如,这里一个拿着化学荧光棒的角色走过一棵树。树被照亮并投下阴影。这是件很小的事,但能在一块平面 2D 上运用光照,让我获得巨大的快乐。

接下来是着色器。我会非常谨慎地使用它们:轻微的抖动、手绘画面上的动态、微小扭曲,叠加在原始美术上的半透明闪烁纹理。这些都由其实很简单的着色器完成。

然后是声音的加入。房间噪音、风声、机器嗡鸣、脚步声、音乐。可惜 GIF 无法展示这部分。但对我来说,这才是真正的魔法开始的地方。我非常喜欢 Godot。它超级酷,轻量、启动快,而且感觉几乎没有上限。起初,我也试过一些对新手看起来更友好的引擎。
但每当我想加入大量视差层、带动画的对话气泡,或更复杂的着色器时,迟早会撞墙。而在 Godot 里,我的手基本是解开的。我有不少小型自定义系统:对话(特别感谢 Godot 的 DialogueManager 插件作者,你太棒了!)、场景、视差、转场、图像处理、着色器、光照。
但我不会把这称之为伟大的工程成就。一切早在我之前就已存在。我只是按照自己喜欢的方式拼装这些零件。

在《Mayak》中,最大的技术挑战或许就是海量的美术资产。我绘制大场景,有很多图层,然后再叠加上特效、光照和着色器。到某个时候,我意识到自己那个“每个场景都应当独一无二”的浪漫想法需要付出非常具体的代价:时间。我必须大量地画。
只有一个结局
它只有一个结局,因为我喜欢线性故事。当游戏有多个结局时,我打完一个,就跑去 YouTube 看其他结局,再上网搜索哪个结局才是官方设定。到某个时候,我就不再理解作者到底想用故事表达什么了。
这完全是我自己的问题。我并非在批判有选择的游戏。我只是决定按自己个人的喜好来做游戏。一个故事,一个有力的结局。有时候我只想放松下来,沉浸到一个故事里,而不必让沉重的道德抉择压在我的良心上。让游戏角色去面对那些吧。我希望有足够多的人和我一样。
目前进展
现在有一个免费试玩版,时长约 30–40 分钟。完整游戏大约四小时,非常粗略的估计。剧本已经写好了。现在只剩一个小细节:做出游戏。到目前为止,玩家对试玩版的反应非常温暖,这给了我很大帮助。尤其因为我曾花了很长时间几乎在真空中制作《Mayak》。
晚上你坐在家里,花三天时间画某面墙,完全不知道除了你之外世上是否有人需要这面墙。然后某个来自其他国家的人写信说,他们通关了试玩版,喜欢里面的氛围、音乐,或者那只猫。于是你想:好吧,我们来画下一面墙。

市场推广也大多是我自己做的。我是独立开发者,所以没有营销预算,也没有公关部门。我只是试着尽可能在各种地方缓慢展示《Mayak》:展会、小型展示会、Reddit(谢谢封禁)、社交媒体,以及给记者和创作者发的邮件。
最近我也开始尝试中国平台 HeyBox。作为外国开发者在那里注册,本身就是一场小型叙事游戏,要经过四轮验证。但最终我发布了面向中国玩家的第一条帖子,反响出乎意料地热烈。愿望单数量最大的几次跃升通常出现在各种展会和展示会之后:Wishlisted、Convergence、Six One Indie、Nashy Games 等等。我对它们感激不尽!
实际上,再过几天就是《Mayak》获得首个愿望单一周年的日子。现在是 2026 年 8 月,愿望单数量大约 1.75 万。不算超级爆款,但一年前我甚至无法想象能达到这个数字。
给新手开发者的建议
这些大多是我会对自己说的话。我不是专业人士,对目标不同的其他开发者来说,这些建议可能完全不适用:
- 拥有独特的视觉风格。它应当有风格。
- 也许游戏应该做得小一些。我完全无视了这条建议。
- 不要等到你“会做游戏”再开始。我是从零游戏开发经验起步的。我只是边画场景边看 Godot 教程。到了某个时刻,零散的碎片开始连接起来。
这大概就是我的主要建议。做点小东西,但有风格。然后再做另一个。到某个时刻,突然之间,你就会拥有一款游戏。甚至也许其他人会对它产生兴趣。或者你会有一个装满 PNG 的巨大文件夹。那也很酷。

Nikita Nplus1,《Mayak》的游戏开发者
采访由 Amber Rutherford 主持
相关链接
原文链接:https://80.lv/articles/solo-dev-on-making-a-hand-painted-hard-sci-fi-adventure-in-godot
喜欢这篇内容吗?