【Code With SOLO】用 SOLO 打造沉浸式宋代园林交互游戏「古园奇梦」——当 AI 遇上千年营造智慧
夸克网盘链接: 夸克网盘分享
提取码:5R55
摘要
我是一名在读本科生,平时对编程和传统文化都有兴趣,一直想做一个能真正传播古建知识的作品。我用 TRAE SOLO 从零搭建了一款名为「古园奇梦」的沉浸式交互式古建研学 Web 游戏——玩家扮演一位软件工程师,在女友因考察宋代园林遗址而昏迷后,通过入梦穿越、解谜闯关,逐步理解宋代造园技艺(叠石、榫卯、布局),最终唤醒爱人、完成一场跨越千年的文化传承。整个项目包含自研视觉小说引擎、Three.js 3D 大木作搭建、榫卯/叠石互动小游戏等,全部由 SOLO 辅助完成。
背景
我一直对古建筑文化很感兴趣,但发现市面上关于中国古典园林的数字作品非常少——要么是枯燥的学术资料,要么是走马观花的旅游介绍,真正能让人边玩边学、沉浸其中的产品几乎没有。我想做一个市面上少见的、娱乐性与教育意义并存的古建科普游戏,让更多人感受到宋代园林之美。但问题在于:
- 我对古建筑专业知识了解有限,需要大量查阅《营造法式》等文献
- 项目涉及视觉小说叙事引擎、3D 场景渲染、互动小游戏等多个技术模块
- 从文案撰写到代码实现,工作量巨大,一个人很难在有限时间内完成
这就是 SOLO 发挥作用的地方。
实践过程
第一步:任务拆解与整体架构设计
我首先把整个项目拆解为以下几个核心模块:
- 叙事系统:自研轻量级视觉小说引擎,支持多分支剧情、角色立绘、场景切换、选项分支
- 知识系统:宋代园林知识百科(月洞门、太湖石、榫卯、营造法式等),以「收纳」弹窗形式融入剧情
- 互动解谜:叠石解谜、榫卯拼合小游戏、潜行躲避守卫等
- 3D 场景:基于 Three.js 的晋祠圣母殿大木作 3D 搭建体验
- 音频系统:背景音乐、音效触发、环境氛围
第二步:用 SOLO 逐步实现各模块
1. 视觉小说引擎(frame.js + ui.js + shared.css)
我给 SOLO 的核心 Prompt:
“帮我构建一个轻量级的视觉小说引擎,支持:多屏幕切换(screen)、角色立绘显示(data-sprite)、对话框系统(speaker + dia-text)、热点交互(hotspot)、知识收纳弹窗(know)、选项分支(choice-screen)、结局画面(ending-screen)。要求纯原生 JS + CSS,不依赖任何框架,代码结构清晰可维护。”
SOLO 帮我搭建了完整的引擎架构,包括:
Game.configure()配置系统,支持章节 ID、初始屏幕、屏幕列表Game.show()屏幕切换与过渡动画Game.showHotspot()热点信息弹窗Game.collectItem()物品收集系统Game.flashGame()画面闪烁特效Game.sfx()/Game.bgmEl音频管理
2. 剧情文案撰写
这是最耗时的部分。我给 SOLO 提供了故事大纲和角色设定:
“故事背景:宋代女工师清砚用三年心血修建归梦园,绍兴十一年战火袭来,清砚将设计图纸藏匿于园中,园子遭大规模损毁。当代女孩沈璃(古建研究生)在归梦园遗址考察时意外昏迷。她的男友顾寻(软件工程师)为了唤醒她,深入研究归梦园,几次入梦穿越,在清砚指导下理解其毕生所学,拿到三件藏匿的古物。请帮我撰写沉浸式的剧情文案,要求文学性强、节奏感好、融入真实的古建筑知识。”
SOLO 帮我完成了数万字的剧情文案,涵盖:
- 序章:宋代园林历史背景介绍
- 第一章:沈璃昏迷、医院 ICU、顾寻与沈璃的回忆
- 第二章:第一个梦——月洞门、太湖石假山、沈璃的背影
- 第三章:档案室查阅资料、《营造法式》研究、第五诀「置」
- 第四章:遗址探索、石刻发现、含章石
- 第五章:第二梦——潜入书房、叠石解谜、获得《叠石营造图》
- 第六章:第三梦——回廊榫卯修复、获得《廊架榫卯钥》
其中融入了大量真实古建知识:太湖石「瘦透漏皱」四字诀、榫卯结构原理(燕尾榫、透榫、斗拱)、《营造法式》材份制、月洞门框景艺术等。
3. 互动小游戏开发
叠石解谜游戏(stone_game.html):
“做一个叠石解谜小游戏,玩家需要在书房场景中找到散落的 3 块太湖石模型,将它们放到案几上对应的凹槽中。7 块石头对应 7 个凹槽,4 块已就位(瘦、透、漏、皱),玩家需找到剩余 3 块。找到后触发机关,弹出暗格获得《叠石营造图》。”
榫卯拼合游戏(卯榫3.0.html):
“做一个榫卯拼合互动游戏,玩家需要根据卯口内侧刻字提示「以木接木,力循木纹,旋则入,直则出」,将脱位的木构件旋转后嵌回卯口。修复成功后触发机关,获得《廊架榫卯钥》。”
潜行躲避游戏(minigames/newgame.html):
“做一个 2D 潜行小游戏,玩家需要在回廊中躲避两名巡逻守卫的视线,利用光影和空档潜入书房。守卫沿固定路线巡逻,玩家被照到则失败。”
4. Three.js 3D 大木作搭建(4.1.html)
这是技术含量最高的部分。我给 SOLO 的 Prompt:
“用 Three.js 做一个沉浸式的宋代大木作搭建体验,参考晋祠圣母殿的减柱造。分两个阶段:第一阶段,玩家观察 3D 柱网结构,找出并点击拆除 3 根冗余前廊内柱;第二阶段,玩家亲手搭建构架,按顺序放置立柱→乳栿→六椽栿→四椽栿→平梁与蜀柱→叉手。要求 PBR 材质、GSAP 动画、粒子效果、呼吸光效。”
SOLO 帮我实现了:
- 带卷杀(entasis)的宋代柱子建模
- 月梁造型的梁枋几何体
- 简化斗栱构件系统
- 减柱造第一关(拆除冗余柱 + 粒子消融效果)
- 大木作沙盘搭建第二关(虚影呼吸 + 实体落下动画)
- GSAP 相机过渡、进度条、Toast 提示系统
- 完整的 PBR 材质色库(参考宋代传统彩绘色谱)
第三步:踩坑与迭代
踩坑 1:iframe 嵌入小游戏时的通信问题
小游戏通过 iframe 嵌入主页面,胜利消息需要通过 postMessage 传递给父页面。SOLO 帮我设计了完整的消息监听机制,处理了 STEALTH_WIN、STONE_GAME_WIN、gameWin 等多种消息类型。
踩坑 2:Three.js 场景与主页面 UI 的层叠
3D 场景需要全屏覆盖但 UI 面板要浮在上面。SOLO 帮我用 z-index 分层 + backdrop-filter: blur() 实现了毛玻璃面板效果。
踩坑 3:古建筑知识的准确性
SOLO 生成的文案中有些细节不够准确,比如斗栱的具体构造、减柱造的力学原理等。我通过查阅《营造法式》注释本和学术论文进行修正,SOLO 再根据我的修正意见调整文案,反复迭代了多轮。
踩坑 4:多章节文件的管理
项目最终拆分为 chapter1~5 共 5 个 HTML 文件 + 多个小游戏文件。SOLO 帮我设计了统一的 Game.configure() 配置接口和 shared.css 样式系统,确保各章节风格一致。
成果展示
项目名称:古园奇梦 · 入梦寻物
技术栈:HTML5 / CSS3 / JavaScript / Three.js / GSAP
核心特性:
自研视觉小说引擎,支持多分支叙事、角色立绘、场景切换
融入真实宋代园林知识(月洞门、太湖石、榫卯、营造法式)
三大互动解谜:叠石锁、榫卯修复、潜行潜入
Three.js 3D 大木作搭建体验(减柱造 + 构架组装)
沉浸式音频系统(BGM + 环境音效)
知识收纳系统,边玩边学
项目结构:
├── chapter1.html # 序章 + 第一章(昏迷/回忆/第一个梦)
├── chapter2.html # 第二~六章(档案室/遗址/研究/抉择)
├── chapter3.html # 第二梦:书房(潜入 + 叠石解谜)
├── chapter4.html # 第三梦:回廊(榫卯修复)
├── 4.1.html # 3D 大木作搭建体验
├── frame.js # 自研视觉小说引擎核心
├── ui.js # UI 交互逻辑
├── shared.css # 统一样式系统
├── stone_game.html # 叠石解谜小游戏
├── minigames/ # 潜行小游戏
├── building/ # 场景背景图
├── char/ # 角色立绘
└── audio/ # 背景音乐与音效
效果与总结
提效数据
| 环节 | 传统方式 | 使用 SOLO 后 |
|---|---|---|
| 视觉小说引擎开发 | 3-5 天 | 半天 |
| 剧情文案撰写(数万字) | 1-2 周 | 2-3 天(含迭代修改) |
| Three.js 3D 场景搭建 | 3-4 天 | 1 天 |
| 小游戏开发(3 个) | 2-3 天 | 1 天 |
| 总计 | 约 3-4 周 | 约 1 周 |
SOLO 在流程中做了什么
- 架构设计:帮我设计了模块化的项目结构,引擎/样式/剧情/游戏分离
- 代码生成:生成了视觉小说引擎、Three.js 3D 场景、小游戏等核心代码
- 知识融入:将《营造法式》、太湖石品鉴、榫卯结构等专业知识自然地编织进剧情
- 文案打磨:数万字剧情文案的撰写与反复迭代,文学性与知识性并重
- 问题排查:帮我解决了 iframe 通信、3D 层叠、动画时序等技术问题
可复用的方法
- 分治思想:将大型项目拆分为独立模块,每个模块单独用 SOLO 实现,再整合
- Prompt 迭代法:先给粗粒度需求,看结果后再逐步细化,比一次性给超长 Prompt 效果更好
- 知识验证闭环:SOLO 生成专业内容后,务必人工验证准确性,再让 SOLO 修正
反思
这个项目让我深刻体会到:AI 不是替代创作者,而是放大创作者的意图。我对宋代园林的热爱、对叙事节奏的把控、对交互体验的追求——这些是 AI 无法替代的。但 SOLO 帮我跨越了「想法」到「作品」之间最艰难的那段距离——从几周压缩到了几天。
正如游戏中清砚所说:“执念是有重量的,而解开执念,需要等量的理解。” 用数字媒体活化传统文化,需要的不仅是技术,更是对文化的真诚理解。SOLO 帮我更快地到达了那个理解的起点。
使用 TRAE SOLO 从零完成,一个本科生的古建科普游戏实践。



