手绘硬科幻游戏《Mayak》的独立开发之旅
Solo Dev on Making a Hand-Painted Hard Sci-Fi Adventure in Godot
独立开发者Nikita分享其首款游戏《Mayak》的开发历程。这是一款约4小时流程的线性科幻冒险游戏,采用完全手绘2D画面,在Godot引擎中通过分层、视差、光照和着色器赋予静态画作生命力。文章涵盖其寻找视觉风格的过程、硬科幻设定、开发挑战及对线性叙事的坚持。
深度解读
硬核科幻冒险游戏《Mayak》的开发者Nikita Nplus1,在Godot引擎中用手绘油画风格,构建了一场关于素数倒计时信号、首次接触与人类情感的线性叙事,并坚信“唯一结局”才是讲故事的最佳方式。
从科学家到游戏开发者:一场“混沌”的跨界
Nikita的身份相当特殊:白天,他是实验室里研究细胞生物学的科学家;夜晚,他则化身为游戏开发者,探索外星文明的奥秘。这种双重身份直接塑造了《Mayak》的独特气质——它既包含严谨的科学逻辑,又不乏艺术化的感性表达。在开始游戏开发之前,Nikita已经有约15年的音乐制作经验(以Nicephorus为名),并拥有童年艺术学校的绘画功底。然而,他从未接触过程序设计、场景搭建或叙事写作。这种“偏科”背景导致他的开发起点极为混乱:先定类型与故事,然后直接开始画场景,同时观看Godot教程,尝试2D、3D、2.5D等各种引擎,屡屡碰壁后推倒重来。整整一年时间,项目都未能成型。直到某天,他将一个场景组装完成,画作开始运动,光影、声音、音乐、视差效果同时呈现,他才确信:就是这种感觉,这条路走通了。
核心玩法与叙事:四小时线性科幻,一场关于“爱”的宇宙事件
《Mayak》是一款线性、剧情驱动的科幻游戏,流程约四小时,结构上混合了冒险游戏与视觉小说两种形态。玩家有时会在场景中行走、与环境互动、探索物品,有时则进入近乎纯粹的视觉小说模式。故事核心围绕年轻天文学家Nina、一只名为Isaac的猫,以及来自另一颗恒星的信号展开。这个信号以一连串递减的素数呈现:3571、3559、3557……这暗示着某个遥远的存在正试图传递信息,随之而来的便是“首次接触”这一经典科幻命题。不过Nikita强调,《Mayak》本质上并非关于太空,而是关于人类面对巨大宇宙事件时的反应与情感。用他的话说,这是“太空科幻与爱,还有一只猫”的故事——猫在游戏中占据重要地位。
视觉风格:主动拥抱“歪歪扭扭”的手绘美学
在寻找视觉风格上,Nikita花费了整整一年。他尝试过3D、2.5D、动态光影,甚至一度测试AI绘图工具,但结果令他厌恶,最终彻底放弃。转折点发生在他意识到:自己已经拥有一种独特的、略显歪斜的绘画风格。“现在到处都是完美无瑕的插图,人们还在争论那些是否由AI生成,也许我应该相信自己的‘歪斜’,让它自由发挥。”这一决定后,绘画突然变得顺畅。他深受油画、印象派、粗犷笔触、漫画、黑色电影、暗色调与明亮光线的影响,尤其热爱这一切元素在动画中“动起来”的感觉。在技术实现上,他手绘每个场景,将其拆分为多层,再在引擎中重新组装。由于场景数量庞大且几乎每个场景都是独一无二的,他的制作速度相当缓慢——通常一周只能完成一到两个场景。他坦言,这相当于给自己“挖了一个坑”,并不推荐他人效仿。
硬科幻的根基:逻辑自洽,而非堆砌术语
Nikita对“硬科幻”的理解,在于对“科学”部分的认真态度。他持续收听科幻有声书长达17年,这培养了他对科幻世界逻辑性的执着。《Mayak》虽然是虚构作品,包含许多假设,但他希望游戏内的宇宙是自洽的。他希望玩家通关后产生这样的想法:“如果人类真的收到了3571这个信号,事情可能就会这样发展。”然而,当被问及具体基于哪些科学概念时,他巧妙地回避了——因为详细列出这些概念,等同于剧透游戏的核心谜题。
技术实现:Godot引擎与2D的无限可能
开发过程中最大的技术发现,是《Mayak》是真正的纯2D游戏——既非3D世界中的2D精灵,也非隐藏的3D场景,就是完全平面的2D。对经验丰富的开发者而言,这或许不值一提,但Nikita惊讶于完全平面的绘画能承载多少生命力。他的工作流程包括:将画作拆分为前景、角色、墙壁、窗户、天空甚至“毫无必要的灌木丛”等图层;添加视差效果;叠加光源与阴影——例如,角色手持化学荧光棒走过树木时,树会被照亮并投下阴影。这种在平面2D上运用光源的体验带给他巨大的乐趣。此外,他谨慎使用着色器,实现画作表面的轻微晃动、微小扭曲、半透明闪烁纹理等效果。声音设计同样关键:环境噪音、风声、机器轰鸣、脚步声与音乐共同营造沉浸感。Nikita高度评价Godot引擎——“轻量、启动快、几乎无限可能”。此前他尝试过一些看似对新手友好的引擎,但在需要大量视差层、动态对话气泡或复杂着色器时总会碰壁,而Godot解放了他的双手。他构建了若干自定义系统(对话、场景、视差、转场等),但谦虚地表示这些都是“前人已有成果,我只是按喜好组装”。
叙事选择:唯一结局是对故事的尊重
《Mayak》只提供一个结局,这源于Nikita的个人偏好。他认为,多结局游戏往往让玩家陷入“通关一次→看视频补完其他结局→搜索官方结局”的循环,最终反而模糊了作者想要表达的核心信息。他并非批评多选择游戏,只是决定按照自己的喜好制作游戏:“一个故事,一个强有力的结局。”他希望玩家能放松地沉浸于叙事,不必背负沉重的道德抉择,让角色去处理那些难题。
开发现状与市场反响:Demo获好评,未来可期
目前《Mayak》已推出免费Demo,时长约30至40分钟,完整游戏预计约四小时,剧本已经完成,剩下的只是“制作游戏”这一庞大工程。Demo在社区获得了非常温暖的反馈,这对长期在“真空”中创作的Nikita是巨大的鼓励。他特别提到,自己曾花费三天时间只为绘制一面墙,而玩家的认可让这种孤独的坚持有了意义。
对独立游戏开发者的启示:真诚与个性是稀缺资源
Nikita的经历为独立开发者提供了几个关键启示。第一,跨界背景并非劣势,反而是独特风格的来源——科学家的逻辑思维与艺术家的感性表达,共同构成了《Mayak》的硬核与温情。第二,在AI生成内容泛滥的时代,手绘的“不完美”反而成为鲜明标签。Nikita主动选择拥抱自己的“歪斜”风格,这与其他追求极致工业化的作品形成差异化竞争。第三,技术选型应服务于创作需求,Godot引擎的轻量性和灵活性,使他能够实现复杂的视差、光照与着色器效果,而无需与笨重的工具链搏斗。第四,唯一结局的叙事选择,在分支叙事泛滥的市场中,反而可能成为情感共鸣的利器,吸引那些渴望纯粹故事体验的玩家。最后,从音乐、绘画到程序,所有技能都汇聚于游戏这一综合载体,他的长期积累在项目中找到了出口。对于其他开发者,尤其是同样在业余时间创作的Solo Dev而言,Nikita的故事证明了:即使开发过程漫长而孤独,只要坚持自己的美学与叙事直觉,就有机会在拥挤的独立游戏市场中发出独特的声音。
