Floniks
返回博客
教程8 分钟阅读

纯 Vibe Coding:用 Claude Code + Floniks 做 AI 时代的游戏(七步方法)

你只说"想要什么":Claude Code 写代码、调 Floniks 生成素材、跑测试、自主迭代。这是我们游戏开发系列的总览:从一个为 agent 设计的仓库,到一句话加一个游戏、现场生成素材、一部视觉小说、系统性 debug,再到浏览器发布——七步,全部来自真实 git 历史。

作者: Elena Park
纯 Vibe Coding:用 Claude Code + Floniks 做 AI 时代的游戏(七步方法)

你只说"想要什么",其余的事都由 agent 完成。Claude Code 把你的一句话展开成计划——读仓库约定、写代码、调 Floniks 生成素材、跑测试、自己修 bug、提交。这就是我们这个 agent 游戏开发系列背后的方法,全部来自真实的 git 历史,一步步复盘:从一句话加一个解谜游戏,到用文生图、图生图、去背景、TTS、文生音乐做出一部悬疑微恐视觉小说,再到系统性 debug 与浏览器发布。

本文是这个系列的总览。两篇深度教程均已上线:上篇《从一张截图,做出一款解谜游戏》,下篇《从一句话,交付一部视觉小说》。这一篇把它们串成一套端到端可复现的方法。

先说清楚这里的 vibe coding 是什么意思:你只说"想要什么"——不写提示词、不搬文件。Claude Code 把你的一句话变成计划,你的角色从"操作工具的人"变成"定方向、验成果的人"。

三个部分咬合成一个闭环:

角色是什么负责
编排Claude Code读约定、写代码、跑测试、自主迭代
引擎Rust + Bevy + LuaRust 管渲染与跨平台,Lua 管玩法,命令队列解耦两者
素材Floniks(经 MCP)文生图 / 图生图 / 去背景 / TTS / 文生音乐,变成 agent 的工具

这不是愿景稿。下面每一步都有真实的踩坑与真实的修复。成果是一套 12 个小游戏、浏览器直接可玩的合集:maweis.com/rust_bevy_lua_game

第 1 步:从一个为 agent 设计的仓库开始

关键不在工具多强,在于把上下文写进仓库。项目根的 CLAUDE.md 不是给人看的 README,而是给 agent 的架构契约:Lua 怎么跟引擎通信、加一个游戏分几步、什么归 Rust 什么归 Lua。在文档里说一次,胜过每次对话重复一百次——这就是"agent 会自行完善提示词"的真正含义。

然后把 Floniks 接进来。一行命令,素材工厂就出现在 agent 的工具箱里——这就是 Floniks MCP 服务:

claude mcp add --transport http floniks \
  https://api.floniks.com/api/v1/mcp \
  --header "Authorization: Bearer mk_YOUR_KEY"

从此 agent 能调用 list_modelssingle_taskexecute_workflow 等工具——生成图像、跑工作流、查积分、取结果,全程无需人在中间搬运文件。

第 2 步:一句话,加一个游戏

最小的循环是这样的:

你说:做一个 Queens / 数独变体的逻辑解谜游戏,8×8,每行每列每种颜色各放一匹小马,小马不能相邻。

agent 做:新建一个 Lua 文件、写生成器(保证唯一解)+ 交互,自注册进菜单,补上一套断言规则不变量的无头测试,跑绿,提交。

这就是《小马拼图》的由来。玩法逻辑全在一个 Lua 文件里;改一行、保存,桌面端热重载秒级生效——agent 的"写 → 验"循环因此是秒级的。而它写的生成器真的会数解的个数,只保留恰好一个解的棋盘。

《小马拼图》运行截图:圆角瓦片、粗体中文标题、心数 / 倒计时 / 连胜 HUD——由 agent 按参考视频逐帧还原
《小马拼图》运行截图:圆角瓦片、粗体中文标题、心数 / 倒计时 / 连胜 HUD——由 agent 按参考视频逐帧还原

这款游戏的完整开发日志——从一张截图到上线、全程零提示词——见上篇:《从一张截图,做出一款解谜游戏》。

第 3 步:素材:让 Floniks 现场生成

程序员做游戏,卡住的从来不是代码,是美术。这里 agent 自己解决:它读一份可执行的风格圣经(锁死色板、描边、构图的 prompt DNA),只填每个素材的主体词,经 Floniks 文生图生成,再去背景、缩放到精确像素,按"同名同尺寸"的契约落进 assets/textures/——游戏零代码改动就换了皮肤。

你说:小马要栗色的身体、奶油色鼻梁、飘逸鬃毛,侧视,透明底。

agent 做:拼 prompt → Floniks 生成 → 抠底 → 48×48 落位 → 更新素材清单。同一条管线也产出了十个 HUD 图标和圆角 UI 贴图。

连生成的 15 秒玩法广告也出自这条管线:真实素材逐帧渲染成关键帧,配乐是 Floniks 文生音乐(Lyria 2)。

玩法广告关键帧:手指演示放马、冲突格自动打 ✕、过关庆祝——每个元素都是游戏内真实素材
玩法广告关键帧:手指演示放马、冲突格自动打 ✕、过关庆祝——每个元素都是游戏内真实素材

第 4 步:让它更精美:反馈驱动迭代

第一版往往能跑但糙。你把不满意的地方截图发回去,agent 就改。真实发生过的一轮——反馈是"格子是生硬色块、字体不够圆润、要加相机特效"——变成四项并行修复:

  • 贴图:新写一个 8× 超采样生成器,产出可染色的圆角瓦片、粗体 ✕、胶囊与卡片。
  • 引擎:新增 game.zoom() API——放对轻推、放错重推、过关猛推近再回弹。
  • 字体:换成 Noto Sans SC Bold 子集,逐字校验无缺字。
  • 生成器:盲重摇在 8×8 找不到唯一解棋盘,改用爬山精炼——首关从 237 个解收敛到恰好 1 个。

注意最后一条:这是个真 bug,被测试当场抓住并逼着修好。测试就是 agent 的眼睛——它看不到屏幕好不好看,但能看到"唯一解"这条不变量有没有被破坏。

第 5 步:更重的题材:一部完整的视觉小说

同一套方法扛得住重得多的东西。《深夜画廊》是一部悬疑微恐的审讯视觉小说:名画《凝视者》在画廊失窃;你逐一询问三位证人,选问法、看她们表情变化、最后指认真凶。这一步把 Floniks 的多模态能力全用上了。

选人界面:三位证人并排,点击前移 + 震动 + 变焦——透明立绘抠图干净地叠在深夜画廊背景上
选人界面:三位证人并排,点击前移 + 震动 + 变焦——透明立绘抠图干净地叠在深夜画廊背景上

四种能力,一条链路:

  • 立绘——文生图 + 图生图:每个角色一张文生图底图,再用图生图派生平静 / 紧张 / 惊惧三种表情——同一张脸,不同情绪。再过去背景,得到透明立绘。
  • 语音——TTS,一人一音色:三个真实不同的女声,一人固定一个,声学验证过基频各异(291 / 202 / 158 Hz)。
  • 氛围——文生音乐:Lyria 2 生成的暗黑氛围循环乐,铺在对话之下。
  • 剧情——分支对话树:打字机字幕 + 选项分支;问中关键线索会让立绘切到惊惧表情,问软了则被搪塞。

三位证人的平静表情立绘:同一条管线保证角色一致性——底图定人,图生图派生表情
三位证人的平静表情立绘:同一条管线保证角色一致性——底图定人,图生图派生表情

《凝视者》场景:把干净的画廊底图用图生图改成惊悚变体——墙上多了一张盯着你的画。微恐氛围,全部生成
《凝视者》场景:把干净的画廊底图用图生图改成惊悚变体——墙上多了一张盯着你的画。微恐氛围,全部生成

完整的构建过程——包括"三个声音其实是同一个"这个 bug 如何被仪器读数而非听感揭穿——见下篇:《从一句话,交付一部视觉小说》。

第 6 步:系统性打磨:真实的 debug 循环

Vibe coding 不等于不出 bug,而是你报现象、agent 找根因。这个项目里真实发生的三个,每个都被系统性解决:

你报现象它找根因并修复
网页版没声音浏览器把 AudioContext 初始为 suspended,需首次交互解锁——在页面首次点击时 resume 全部音频上下文
立绘的背景挡住了别的角色立绘带烘焙底 → 9 张全过 Floniks 去背景抠成透明;浏览器缓存又拦下新图 → 改文件名绕过缓存
音轨乱,多条声音叠着放缺声道模型 → 引擎重构成三声道:SFX 可叠但每帧去重、Music 同名不重启、Voice 单条对话声道(播新的先掐旧的)

每一次修复都带一条回归测试或验证。这套无头测试套件如今已有 13 万+ 项断言——这就是 agent 敢独自迭代的底气。

第 7 步:发布:浏览器里直接可玩

同一份 Rust crate 编成三份:桌面、iOS 和 WebAssembly。合并到主分支即自动部署到 GitHub Pages——一条链接,任何手机浏览器直接玩,无需下载。

git push        # 合并到 main
# → CI 编译 wasm → 发布 GitHub Pages → 上线

在浏览器里试玩 · 查看开源代码

为什么这套方法成立

  • 上下文写进仓库。 CLAUDE.md、风格圣经、素材清单就是 agent 的资深架构师。约定写一次,永久生效。
  • 测试当 agent 的眼睛。 它看不到画面,但能看到不变量。有机器可验证的"对",自主迭代才安全。
  • Floniks 当素材工厂。 经 MCP,生成能力变成普通工具。模型升级 = 换个 id 重放,架构不动。
  • 你只出意图和验收。 不写提示词、不搬文件。你定方向、验成果;计划、代码、素材、测试都归 agent。

一个人加一个 agent:晚上留一句话,早上收一串带着绿色测试的提交。这就是我们认为的、属于 AI 时代的游戏开发方式。

问答

这套方法里的"vibe coding"是什么意思?

你用自然语言给出意图和验收标准,其余交给 agent:Claude Code 把你的一句话展开成计划、代码、Floniks 生成调用、测试与提交。你的角色从操作工具变成定方向、验成果。

Floniks 在这条流水线里到底提供什么?

经 MCP 接入后,Floniks 成为 agent 工具箱里的素材工厂:文生图、图生图、去背景、TTS、文生音乐,产物直接落进游戏素材目录——无需人搬运文件。

需要写提示词吗?

不需要。人类提供的是一行话的意图和截图反馈;Floniks 的生成提示词与引擎侧的任务分解都由 agent 自己组织。

这套流程能复现吗?

能。引擎开源在 GitHub 的 rust_bevy_lua_game 仓库,成品合集经 WebAssembly 在任何浏览器可玩,把 Floniks 接进 Claude Code 只需一条 claude mcp add 命令加上你的 API Key。

想把素材工厂接进你自己的构建循环?从 Floniks MCP 服务开始,再跟着两篇教程走:上篇做出解谜游戏,下篇交付视觉小说。

标签

#tutorial#vibe-coding#claude-code#mcp#ai-game-development#game-asset-generation#agentic-development#webassembly

相关文章

纯 Vibe Coding:用 Claude Code + Floniks 做游戏 | Floniks