和 Gemini 一起,把一个像素 ACT 游戏 Demo 从 0 做出来

缘起:为什么我一直想做一个游戏

小时候,我上过很多诸如 4399、7k7k 等小游戏网站,接触过了很多 Flash 小游戏,那些游戏现在回看,技术并不复杂,美术也谈不上精致,但它们都有个共同点:

你能明显感觉到,这是“某一个人”做出来的东西。

长大后,我开始玩上了 Steam 平台上的游戏,接触到了诸如《Rabi-Ribi》、以及它的续作《TEVI》这类横板 ACT 作品,这种感觉再次被放大了。

横板 ACT 的战斗密度、Boss 的弹幕节奏、游戏本身的表达性,让我第一次意识到:

ACT 不只是操作游戏,也是一种叙事方式。

而另一条线,则来自于我长期接触的二次元内容。

就拿我喜欢的 BanG Dream!!、PJSK 这类企划来举例,它们本身并不是“游戏性导向”,但它们作品中的角色、剧情、情绪、世界观,一直让我觉得:

如果用另一种形式去承载,可能会很有意思。

这几条线慢慢地交汇在一起,我开始有了一个很模糊、但一直挥之不去的念头:

我也想创造一个“我自己会想反复打开”的游戏世界。

我为什么选择 Phaser 作为游戏引擎

其实我并不是不知道 Unity、Godot 这类成熟的游戏引擎。

但我很清楚一件事:

我不是全职的游戏开发者,我是一个前端。

我更习惯:

  • 快速看到结果,所见即所得
  • 直接调试渲染与逻辑
  • 用代码去试错,而不是不停地去学习引擎本身的用法

所以,我选择了 Phaser ,而且版本选的是最新的 Phaser 4 的 RC 6 版本(据官方内部消息说这几周内会正式发布 Phaser 4)。

原因也很简单:我之前对 Shader 有点研究,而这个版本对自定义 Shader 的支持更自由。

这是一个并不稳妥,甚至有点“逆主流”的选择,但它非常符合我的性格。

邂逅 Gemini:不是轮椅,而是拐杖

真正让我敢启动这个项目的,是 Gemini 。

大概在 2025 年年底吧,我订阅了 Gemini ,发现了它的 Nano Banana Pro 模型拥有强大的图片生成能力,尤其是在风格理解和补全方面,非常强。

我不会画画,这一点我并不回避。

Gemini 并没有“帮我解决美术”,而是让我第一次敢正视这个短板。

很重要的一点是:

AI 并不会直接给你成品。

它给你的,是大量的“也许可以”的结果,而真正费时的,是:

  • 否定
  • 重来
  • 筛选
  • 再调整

当时我还没意识到,这种“不断做选择”的状态,会在 Demo 发布后,以另一种形式出现。

素材,是如何一点一点炼成的

之前我发的 Demo 试玩帖子里,有很多人在问:我那些角色图片素材是怎么来的。

实话是:没有任何一个是现成的。

人物和背景

人物静态素材,是在参考原作角色 Q 版形象的基础上,结合了横板 ACT 的构图需求(3/4侧视图),一次次生成、调整、淘汰,最终筛选出来的结果。

背景也是同理,也是通过参考游戏里无人世界的氛围,再不断逼近我脑子里的感觉得来的。

我并不回避“参考”这件事,但我回避的是不理解的拙略模仿

我很清楚自己在借力,但目标始终是:

服务于我想要的节奏和情绪。

动作帧:反复踩坑的血泪史

动作帧可以说是整个过程中最折磨人的部分了。

我试过:

  • 用 Nano Banana Pro 根据参考图直出动作帧(不自然、缺乏一致性)
  • Pixellab 的 Character Creator (尝试了很多次,风格很容易失控)
  • Pixellab 的 animate with text(效果好,但成本有点高)
  • 其他 AI 序列帧生成平台(不支持 3/4 侧式视角)
  • 甚至还折腾过 ComfyUI Workflow / SD WebUI(一顿操作猛如虎,但最后得到了一片混沌)

generated-stuff

每一条路,几乎都走到了尽头。

最后,我选择接受现实:

用 Pixellab 的 animate with text ,配合 Gemini 生成 prompt ,抽卡式递进。

尽管这不是最优解,但也是唯一让我能持续前进的解法。

经过不停地抽卡、筛选,在所有素材生成完之后,还远没结束。

用修图软件去白点、帧对齐、拼接、修边,也全部都要手工完成。

代码不是最难的,决定才是

代码层面的问题,其实反而是“可解决的”。

相机、物理、角色控制、连击系统、Boss 技能、AI 调度、UI、演出机制……

每一个都很麻烦,也有很多细节问题要调,但只要花时间,都可以啃下来。

真正让我反复犹豫的,是这些问题:

  • 要不要降低游戏难度,对新手更友好
  • 要不要加更多的小怪
  • 要不要加更多的游戏机制
  • 要不要加更多的 Boss 技能
  • ……

后来我意识到:难的并不是去实现这些功能,而是我是否愿意为它们负责。

不停地加元素,只会导致 Demo 的开发无限期地延长,很多作品就是因为这样而胎死腹中的。

经过了一定的考虑,我总算制定好了 Demo v1.0 版本的完整 TODO List,一共将近 100 条,但也不是所有的都要在 1.0 版本完成,只需要完成有必要的,有的可选的点可以留到下一版再去实现。

todo-list

看着最后把这些勾全部打上,心中也是满满的成就感。

当 Demo 终于被正式发布了

screenshot

2月10日,是该 Demo 的 Boss —— K 在原作游戏里的生日,我准备在这一天将 Demo 发布到社交平台。

发布后的这一天,在平台引起了很多人的注目,评论和私信仿佛潮水似地朝我涌来:

  • 有人一眼就看出像《东方》《Rabi-Ribi》《TEVI》
  • 有人被 Boss 打到气哭
  • 有人打了十几次终于通关
  • 有人发现了游戏设计里的小彩蛋并为之称赞
  • 有人因为设备或网络原因只看完了游戏实机视频,说了句“音乐和文本非常用心”

那一刻我才意识到:

它已经不完全属于我了。

我第一次同时站在了:

策划 / 美术 / 程序 / 运营 / 客服的位置上。

回复私信、解决问题、解释设计,每一件事都很消耗精力,但也非常真实。

但是,能和如此多的真实玩家相遇,并且能与少部分的人产生共鸣,我也觉得值了。

comment

后续

我不知道这个 Demo 最后会走向哪里。

是否继续、是否扩展、是否真的会有下一个 Boss——

这些我都没有答案。

但我可以确认一件事:

我已经不会再怀疑“能不能做出来”这件事了。

接下来要面对的,不是技术问题,而是:

我是否愿意继续承担“作者”这个身份。

如果你愿意看到这里,谢谢你。

不管你是开发者、玩家,还是单纯的围观者——

这次 Demo 的意义,已经远远地超过了我最初的预期。

我的 Demo 地址:https://my-sekai-game.netlify.app/

Author: alphardex
Link: https://alphardex.github.io/mygo/posts/11328/
Copyright Notice: All articles in this blog are licensed under CC BY-NC-SA 4.0 unless stating additionally.