输入是一张截图和一句话,产出是一款精致、浏览器直接可玩的逻辑解谜游戏——AI 生成的美术、生成的配乐、一支 15 秒玩法广告,全部经 Floniks 产出。人类写了零条提示词。本文一步步复盘:agent 如何把随口的指令变成上线的游戏,以及这条流水线为什么从不卡壳。
这是上下两篇中的上篇。下篇《从一句话,交付一部视觉小说》把同一套方法推向语音、立绘与分支剧情。

人类到底提供了什么
这款游戏的全部人类输入是:一张解谜游戏截图、一段玩法视频、几句一行话。没有设计文档,没有规则书,没有提示词工程。其余的一切——玩法调研、任务分解、素材生成、测试、部署——由 agent 用两个平台统筹完成:开源引擎 rust_bevy_lua_game 与经 MCP 接入的 Floniks。
完整的输入台账如下:
| 人类说的 | agent 分解出的 |
|---|---|
| "做这个游戏"(一张截图) | 从图识别玩法族:Queens / Star Battle 类逻辑谜题——每行、每列、每个色区恰好一子,任意两子不得相邻(含对角) |
| "规则你自己去调研" | 调研补全规则,并把每条规则编码为无头测试不变量——规则文档就是测试套件本身 |
| (没说) | 决定棋盘必须唯一解,并写解数计数器强制执行 |
| (没说) | 按仓库规范自注册进合集菜单,零引擎改动 |
第一版当天上线。
视频成了需求规格
第一版能玩,但和原作气质相去甚远。人类丢来一段玩法视频,只配一句:"完全复刻它的 UI 和玩法。"
agent 从视频中抽取关键帧,当规格表用:8×8 棋盘、圆角关卡徽章、心数、倒计时、连胜;点按落子、冲突格自动打 ✕ 的交互节奏;布局比例是量出来的,不是目测的。然后照这份"从视频读出的规格"重写了整个界面。视频就是需求文档——前提是读它的是 agent。
反馈以截图形式到达,而不是工单
下一轮打磨始于人类发回的一张不满意截图:格子是色块不是图形、字体不够粗、棋盘应为 8×8,以及"加一点相机高级效果"。
一条消息变成四项并行修复:超采样贴图生成器产出可染色圆角瓦片;换上真正的 CJK 粗体子集字体;关卡生成器改用爬山精炼——8×8 下盲重摇找不到唯一解棋盘(首关实测 237 个解,收敛到恰好 1 个);引擎新增相机变焦 punch API。
唯一解那个 bug 值得记住:是测试套件抓住的,不是人工评审。 套件断言每关恰好一个解,agent 只能更换算法。这正是 agent 能独自迭代的底气。
一切视听产物交给 Floniks
小马棋子是 Floniks 文生图产物:去背景、缩放到精确像素、落进引擎素材目录——游戏按文件名拾取,零代码改动。十个 HUD 图标和圆角 UI 贴图出自同一条线。配乐是 Floniks 文生音乐(Lyria 2)。那支 15 秒玩法广告:真实游戏素材渲染成关键帧,交给 Floniks 图生视频,配上生成的配乐。

为什么不卡壳:两个平台,一条流水线
流水线顺畅的原因不是 agent 快,而是路上没有关卡。引擎侧与 Floniks 侧各管半条流水线,每个接缝都是机器可以通过的契约:
| 需求 | 引擎提供 | Floniks 提供 | 接缝处的契约 |
|---|---|---|---|
| 改玩法 | 逻辑集中在一个 Lua 文件,秒级热重载 | — | 一页纸的 game.* API,agent 全记得住 |
| 验对错 | 无头测试套件,13 万+ 断言 | — | 规则 = 不变量 = 测试 |
| 要美术 | 素材按文件名与尺寸加载,零代码换皮 | 文生图 + 去背景,经 MCP 调用 | 风格圣经锁色板;manifest 让每张图可重放 |
| 要音乐 | 三声道音频,一行接入 | 文生音乐 | 同名音频文件落位 |
| 要宣传 | 真实素材渲染成关键帧 | 图生视频 + 配乐 | 关键帧进,成片出 |
agent 在同一个会话里写代码、跑测试、调 Floniks、把产物落进约定路径、提交——没有任何一步需要人在工具间搬运文件。
完全跨平台:一份 crate,原生与 WASM
游戏从同一份 Rust crate 发往三端:原生 macOS(agent 的热重载开发循环)、原生 iOS 120Hz ProMotion、以及浏览器里的 WebAssembly——Lua VM 换成暴露同一 API 的纯 Rust 实现,每个游戏脚本在三端字节级相同。
证据就在本文题图:右侧不是设计稿——是 headless 浏览器中 WASM 版的实机截图。一条链接在任何手机浏览器可玩;同一款游戏在 iPhone 上又是原生流畅。
问答
人类写过提示词吗?
没有。人类提供的是截图、视频和一行话;Floniks 生成的提示词与引擎侧的任务分解都由 agent 自己组织。
agent 怎么调用 Floniks?
经 MCP:Floniks 注册为一组工具(文生图、图生视频、文生音乐、去背景等),agent 在编码会话中直接调用,产物落进游戏素材目录。见 Floniks MCP 服务。
agent 独自迭代时靠什么保持诚实?
把游戏规则编码为不变量的无头测试套件。唯一解要求对每一关断言,真实的生成器 bug 正是这样被抓住并逼向更好算法的。
成品能玩吗?
能——整个合集经 WebAssembly 在浏览器中运行,源码开源在 GitHub 的 rust_bevy_lua_game 仓库。
想把生成能力接进你自己的构建循环?从 Floniks MCP 服务开始;或者读读同一方法如何扛住更重的题材:下篇。

