【生活娱乐赛道】渊索寓言Demo——AI驱动的互动文字冒险游戏

【生活娱乐赛道】渊索寓言 Demo——AI 驱动的互动文字冒险游戏

标签: 生活娱乐


0. 打个招呼 :waving_hand:

我是谁: 一个刚接触 vibe coding 不久的本科大学生,对 AI 的未来充满好奇与信心。

我是怎么用 TRAE 把 Demo 做出来的:

说实话,在遇到 TRAE 之前,我就有过很多策划想法在脑中浮现过。我试过自己学编程,但是很快我就放弃了——一是过程十分枯燥繁琐,二是不知道怎么把一堆文件组织成一个完整的产品。

TRAE 的出现改变了很多事。我把想法撰写成文本丢给它,说"帮我把这个做成可运行的程序",它就开始快速地撰写代码、搭架构。我只需要检查输出的程序哪部分代码存在漏洞,哪里的功能不符合预期,反馈给它就能进行修改。

从几个月前刚上手 TRAE 以来,我陆续在它的帮助下尝试了多个项目,从2D射击小游戏到Hermes部署,“渊索寓言”是我最为成熟且满意的项目之一。

当然,这个过程也不全是一帆风顺。设置系统的字体和颜色修改死活不成功,我和 AI 来回调试了 8 轮,最后发现是 Python 浅拷贝污染了默认配置——这种 bug 如果没有 AI 帮我逐层排查,我真的很难找到。

TRAE 帮我跨过的最大的坎,是"从 0 到 1"。它让我意识到,vibe coding 不是"让 AI 全包",而是"我说想法,它写代码,我审查调整"——就像结对编程,只不过我的搭档是一个不知疲倦的 AI。


1. Demo 简介 :page_facing_up:

是什么: 一款基于 Python + PyQt5 构建的 Windows 桌面应用程序,搭配 DeepSeek API 实现实时 AI 驱动的互动文字冒险游戏。用户创建故事世界设定后,AI 扮演 Game Master 实时推进剧情,每局都是独一无二的冒险。

面向谁:

  • 互动叙事爱好者——喜欢文字冒险游戏、TRPG、互动小说的玩家

  • 创意写作者——有故事想法但不会编程的人

  • AI 内容体验者——想亲身感受大模型叙事能力的好奇者

主要功能:

功能一:种子编辑器——从零创建故事世界

设定类型、风格、语调、世界观、主角等细节。支持自定义输入和 AI 自动生成两种模式。创建完成后可导出为加密种子文件分享给朋友。

功能二:AI 叙事引擎——实时生成独特剧情

基于 DeepSeek API 流式输出,支持多选 / 单选 / 简答 / 自由意志四种题型。上帝模式可强制干预故事走向。

功能三:记忆链系统——长篇不丢上下文

自动记录重要事件锚点,定期回溯提醒 AI 保持剧情一致性。同时维护 HP / MP / 物品背包 / 角色信息等完整 RPG 状态系统。


2. Demo 创作思路 :light_bulb:

灵感来源:

在接触过角色扮演游戏和互动小说后,我产生了一个想法——一种不需要游戏主持人,不需要写代码,只要一个想法就能开启的独一无二的冒险。大语言模型的出现让这一切成为了可能,于是我决定用 Trae 把这个想法变成现实。这是我第一次尝试使用 vibe coding 开发开源项目,从零到完整产品,全程与 AI 协作完成。

想解决的问题:

  • 内容重复: 传统文字冒险分支有限,通关即弃;AI 实时生成,每局独一无二

  • 创作门槛: 创作互动故事需要编程 + 叙事双技能;种子编辑器零门槛,AI 辅助生成

  • 长篇失忆: AI 聊天推进故事容易丢失前文;记忆链自动回溯,保持剧情一致

  • 互动单一: 只能选 A/B 或自由输入;多选 / 单选 / 简答 / 自由四种题型

为什么做这个方向:

我最开始选择了桌面应用 + DeepSeek API 的技术路线,而非 Web 端方案。文字冒险游戏需要沉浸式的全屏阅读体验,桌面端能提供更稳定的窗口管理和更流畅的流式输出效果;DeepSeek API 性价比高且中文能力出色,非常适合中文叙事场景。架构上采用分层设计,Prompt 工程层独立于 UI 层,未来可以轻松替换前端或接入其他 AI 模型。


3. Demo 体验地址 :video_game:

您可以通过以下两种方式体验:

方式一:交互式 HTML 演示版本

:paperclip: 渊索寓言-Web体验版.html (144.1 KB)

方式二:GitHub 开源仓库

:link: https://github.com/Monkey3072/the-abyss-fables

运行方式:git clonepip install -r requirements.txt → 配置 DeepSeek API Key → 双击 启动游戏.bat


4. TRAE 实践过程 :person_walking:

整个项目是我的一次 vibe coding 实践,全程在 Trae SOLO 模式中完成。以下列举其中的 5 个关键开发阶段:


步骤 1:从策划文档到可运行原型

把游戏策划文档和 DeepSeek API 文档交给 TRAE IDE,AI 阅读后生成了项目骨架。初版包含主窗口、种子编辑器、AI 客户端和基础游戏循环。随后修复了 QUrl 导入错误、stream_chat 方法名不一致等启动崩溃问题,并完成了警告窗口重写、开始菜单左右布局、设置对话框搭建等 UI 初版改造。

Session ID:.995522232212592:0435b2fef151b5cd1b32b06505cf1260_69f714ae8a14f6ca6a38a448.69f77fcfed1d4481d8a30c2c.69f77fcfc281b253c5d3224f:Trae CN.T(2026/5/4 01:03:11)


步骤 2:设置系统深度调试(踩坑最深的阶段)

设置窗口的"字体大小"“UI 颜色”"分辨率"修改始终不生效,反复调试了 8 轮以上。核心问题包括:

  • DEFAULT_CONFIG.copy() 是浅拷贝,嵌套 dict 被 _deep_update 篡改污染

  • app.setFont() 只设置默认字体,已有 widget 不会自动更新——需要手动刷新

  • QScrollArea 内部 viewport 阻断 QSS 样式级联,尝试了 5 种方案才最终解决

等等

Session ID:.995522232212592:8980924b17c380ac651c99cc489677e8_69f714ae8a14f6ca6a38a448.69f79705ed1d4481d8a3176a.69f79705c281b253c5d3225d:Trae CN.T(2026/5/4 02:42:13)


步骤 3:架构重构(Phase 1-3)

项目早期代码耦合严重,AI 分析后建议分三个阶段重构:

  • Phase 1: 拆分 config.pyconfig/defaults.py + config/theme_manager.py,建立分层目录

  • Phase 2: 引入 Pydantic 在数据入口做边界校验,不改动现有 dataclass

  • Phase 3: 修复重构后 stream_chatchat_stream 方法名不一致导致游戏无法启动

Session ID:.995522232212592:95764d17076acff41c8817a305db2393_69f714ae8a14f6ca6a38a448.69f7ad2bed1d4481d8a31a4f.69f7ad2ac281b253c5d32266:Trae CN.T(2026/5/4 04:16:43)


步骤 4:种子编辑器与游戏 UI 打磨

种子编辑器从简陋表单进化为分类导航 + 自定义输入的专业界面:

  • 新增 AI 生成种子功能:输入故事简短描述后 AI 自动填充所有字段

  • 游戏主界面:故事面板增加滚动条、答题卡区域支持切换题目

  • 流式输出优化:输出过程中用波浪闪烁条带代替 JSON 原文

等等

Session ID:.995522232212592:5ab0086f25aad5100a6a517e8ab02294_69f714ae8a14f6ca6a38a448.69f84d5566ffbc2c8c7e5f76.69f84d5472c2e07627ed1cfe:Trae CN.T(2026/5/4 15:40:05)


步骤 5:核心功能实现——加密、记忆链、上帝模式

  • 种子加密: AES 加密分享,未输密码时栏目锁定

  • 记忆链系统: 自动记录事件锚点,定期回溯提醒 AI 保持剧情一致

  • 上帝模式: ESC 菜单中的强制干预指令

等等

Session ID:.995522232212592:1869bd51381f3479585cf636b6533914_69f714ae8a14f6ca6a38a448.6a11e586ed28964f6caa5631.6a11e5860eb95238404052db:Trae CN.T(2026/5/24 01:36:06)


5. 踩坑复盘 :face_with_head_bandage:

坑一:配置改了不生效——原来是"假复制"

设置窗口里改了字体大小,点确认后没变化,改回去再改还是不行。跟 TRAE 来回折腾了好久,最后发现 Python 的 .copy() 只是复制了最外层,里面的嵌套内容还是指向同一份。也就是说我改的"副本"其实改的是"原件"。换成深度复制后就正常了。这种坑不踩一次真的不知道。

坑二:AI 偶尔"话多"导致程序崩掉

DeepSeek 大部分时候乖乖返回 JSON,但偶尔会在前面加一句"好的,这是你的故事:"之类的话,程序解析 JSON 直接炸了。后来在 Prompt 里加了更严格的约束,代码里也加了容错——先提取 JSON 部分再解析,双保险。

坑三:改了名字忘了改"电话簿"

重构的时候 AI 把一个方法名改了,但调用它的地方没跟着改,结果一启动就崩。这种"改了一头忘了另一头"的问题,在 vibe coding 里特别容易遇到——因为你是用自然语言指挥的,AI 不一定每次都能顾全所有关联。教训就是:重构后一定要整体跑一遍。


6. 后续规划 :rocket:

  • SVG 图片支持: AI 在适当回合返回 SVG 矢量图(场景/物品/地图),增强沉浸感

  • 多语言支持: 英文、日文等多语言界面与叙事

  • 提示词优化: 持续迭代 Prompt 工程,支持自定义模板

  • 种子市场: 社区种子上传、评分、推荐生态

  • 多模型接入: 接入 GPT、Claude 等,自由切换引擎

  • 分支可视化: 树状图展示剧情分支,支持回溯重选


报名帖链接 :link:

:link: 【生活娱乐赛道】渊索寓言——AI 驱动的互动文字冒险游戏

开源地址 :link:

:link: https://github.com/Monkey3072/the-abyss-fables

渊索寓言AI文字冒险这个项目很有创意!用TRAE做出的创新应用让人眼前一亮,方向选得好!

我们也在用TRAE做创新——「智读古籍」,用AI解读中国古代典籍,和孔子老子孙子实时对话,让科技与传统文化碰撞出火花。

恳请大家来我们的帖子点赞支持,每一票都很重要:

在线体验:https://zhidu-guji.surge.sh

一起用TRAE创造更多可能!