《上下文之外的夏天》开发手记

从一句关于记忆与爱的设想,到一部真正能在浏览器里运行的 Galgame

Overview

最近用AI捣鼓了一个Galgame,看着游戏一点点完成,感觉很有成就感

主题MV(HE通关后自动播放):

在线体验地址: https://gal.layton-explorer.top/
因部署在海外,建议使用魔法打开

游戏架构

组成 作用
剧情与美术 提供剧情 Markdown、CG、立绘、背景与 BGM
本地 TTS 生成未央的中日语角色语音与构建元数据
Codex 连接内容规划、代码修改、媒体生产、检查与发布流程
前端游戏 用 React、TypeScript 与 Vite 运行剧情和加载全部游戏资源
Cloudflare 构建并托管静态成品,通过 CDN 分发游戏
浏览器 提供玩家实际游玩的界面,并在本地保存存档与设置

剧情灵感

灵感来自于《可塑性记忆》和现在进步飞速的LLM

对LLM来说记忆就是核心上下文,如同电脑的内存

我们经常使用的sub-agent的功能有两个,一个是为了并行,另一个就是为了不污染核心上下文

当agent的核心上下文满了之后我们经常会compact

那么如果和agent谈恋爱,核心上下文就是记忆的话,compact就相当于压缩(删除)记忆

你会怎么操作你心爱的人的记忆呢?

为了节省记忆空间,可以开sub-agent,但是这和你换一个人相处有什么区别呢?

剧情开发

第一个 Demo 跑起来以后,真正费时间的不是继续堆功能,而是让剧情能够被反复检查和细调

我把剧情骨架给到codex生成完整剧情后,有些剧情细节需要微调

我们把 Markdown 作为剧情源文件,再用脚本同步成游戏数据,同时生成一份独立的 当前游戏剧情.html

这份 HTML 像一张从头铺开的分镜表,会把章节、台词、背景、立绘和 CG 放在对应位置,我可以直接在浏览器里 review 整部剧情

哪里该出现 CG、哪句之后不该立刻切回背景、哪张立绘停留得太短,都可以准确定位到具体台词

每轮修改后再运行 npm run story:review,重新生成 HTML,然后继续检查

1
剧情 Markdown → 游戏数据 → HTML 剧情审阅页 → 细调 → 再次审阅

游戏里的故事和审阅页始终来自同一份剧情源,不需要同时维护两套版本

CG 开发

CG 开发最重要的不是单张画得多漂亮,而是人物始终像同一个人,画面也确实属于当前剧情

从AI生图方面来说可以用LoRA 用来稳定身份,ControlNet 则负责姿态与构图

但是我只是做个demo,直接固定prompt让codex自查重试就好

CG 的出现时机同样重要,午睡后的甜蜜对视需要覆盖完整对话,而不是下一句就切回背景;立绘也改为通常承接两到三句对白,避免频繁闪烁

这里未央穿睡衣的原因 ——— 触发GPT限制了,不知道为什么穿JK就不能kiss,明明prompt都说了是成年人,最后换成睡衣就行

是时候用Grok了

给未央一套属于她的声音

画面稳定后,我们用 Qwen3-TTS 为未央设计了一套年轻、明亮、甜美但不过分撒娇的原创声线

VoiceDesign 适合寻找声音方向,却会随台词产生漂移,所以正式配音改为使用确认样本建立声音克隆 profile

中文与日语分别使用自己的母版,每句生成前也会阅读上下文,标记情绪、潜台词、停顿和句尾处理

重要台词生成多个候选,再比较音色是否仍像未央、表演是否符合当时的关系

一句话读对并不等于演对,这部分比单纯批量生成花了更多时间

打磨那些看似很小的体验

第一章的 BGM 最终换成了更轻快的纯钢琴曲 SUMMERTIME — ruha,让日常场景真正有夏天的空气感

加载完成后也不再自动跳转,而是显示 Tap to Play,等待玩家亲手开始,同时满足浏览器播放音频所需的用户交互

我们还做过一版完整 OP,但是不充会员的seedance太垃圾了,遂放弃

移动端目前不加载完整游戏,而是用一张专属 CG 提醒玩家换到电脑继续

即使是暂不支持,也希望它看起来仍然属于这个夏天

片尾曲

有天刷着b站,觉得一个叫 《稳稳地接住你》的旋律非常好听

遂倒入suno,让AI结合剧情帮我生成主题曲

然后再让AI根据现有美术素材帮我生成视频,于是一个很好听的《Agent失忆没关系》就诞生了

开发记录

买的是GPT plus订阅,最主要的问题是token不够hh
真正的开发时间大概就是一周左右,主要是剧情微调那里花了很多时间
再次感叹于现在AI的强大,不写一行代码就能实现需求

阶段 开发重点 完成内容
第一周 · 搭起骨架 剧情与基础玩法 完成可运行 Demo、完整故事和 HTML 剧情审阅流程
第二周 · 填满夏天 美术与演出 批量接入 CG 和立绘,统一未央形象,调整画面持续范围
第三周 · 交付成品 配音与体验 完成中日语音轨、音乐、加载流程、移动端提示和结局影片

最后

从当初的一个念头,到最后的demo成品,太有成就感了

看着未央的人物形象一点点丰满,做到后面凌晨还不睡就为了等token刷新

很多失败的图片、被替换的音乐和删掉的功能已经不在最终版本里,可它们留下的判断,最后都变成了现在的游戏

这个夏天,agent失忆没关系~