查漏补缺
你的理解非常准确。我来逐条确认,并补充你可能遗漏的算法模块。
一、LLM负责的部分(内容生成)
| 用途 | 说明 | 是否需要LLM |
|---|---|---|
| 普通场景生成 | 每轮20个场景,共200轮,由LLM生成描述和选项 | ✅ 是 |
| 层间事件生成 | 每层一次,生成场景、选项,并指定陷阱选项 | ✅ 是 |
| BOSS个性化设定 | 根据道德比例生成心魔形态、开场白、战斗中的动态台词 | ✅ 是(或预配置+变量) |
| 卡牌名称与描述 | 每张普通牌和万能牌的名称、描述由LLM生成 | ✅ 是 |
| 新手引导文本 | 可放在RAG数据库或静态文本,也可由LLM生成 | ⚠️ 可选(静态更稳) |
| 帮助文档 | 静态文本,无需LLM | ❌ 否 |
核心原则:LLM只负责叙事内容,不参与游戏机制的逻辑判断。
二、代码负责的算法模块(游戏机制)
2.1 道德倾向算法(核心)
- 输入:玩家每轮选项(A/B/C/D)
- 处理:
- 根据选项更新善、恶、中立数值(含基础分和连续选择加成)
- 每轮后检查是否触发极端结局(比例≥阈值)
- 200轮后计算普通结局比例
- 输出:道德三值、是否触发结局
2.2 每层牌数控制算法
目前的设计是每轮必得1张普通牌,加上层间事件可能获得0或1张万能牌。这已经是最简形式,几乎算不上“算法”,只是一个简单的计数器:
每轮结束后:
获得1张普通牌,类型由选项决定
总普通牌数+1
如果未来需要调整牌数(如某些轮不获得),只需在配置中指定哪些轮次无牌,逻辑依然简单。
2.3 BOSS战规则算法
- 输入:双方手牌(类型、数量)、玩家动作(质疑/跟/不跟)
- 处理:
- 判定质疑结果(翻牌验证、计算胜负)
- 更新手牌(收回、弃牌、额外弃牌)
- 切换先手方
- 检查胜利条件(手牌数为0)
- 输出:对局状态、胜负结果
2.4 层间事件陷阱判定
- 可由代码随机指定一个选项为陷阱,无需LLM参与逻辑。
- 也可由LLM在生成时标记陷阱选项(如JSON返回
trap: "C"),代码读取即可。推荐后者,让LLM控制叙事一致性。
2.5 结局判定
- 极端结局:由道德倾向算法实时触发。
- 普通结局:200轮后根据最终比例分档。
- BOSS战结局:结合BOSS战胜负与道德倾向,生成最终结局文本(可由LLM生成,也可预置)。
2.6 背包管理
- 纯数据结构:存储当前层获得的每张卡牌(类型、名称、描述、获得轮次)。
- 提供查询接口(
pack、card)。
2.7 辅助功能
- 状态显示(
status):根据道德比例输出模糊描述(如“善念较重”)。 - 存档/读档(如需):序列化当前游戏状态。
三、可能遗漏的算法模块
3.1 BOSS AI 策略(如果BOSS不是纯随机)
- 如果希望BOSS有一定智能,需要设计决策算法(如根据手牌分布、玩家历史行为决定是否质疑、跟牌或不跟)。
- 可以是基于规则的简单AI(例如:当怀疑概率>阈值时质疑),也可以由LLM实时生成BOSS的“思考”并做出决策,但后者复杂且慢。建议用规则AI。
3.2 同伴系统(如果加入)
- 同伴在平时给出建议,需要根据当前道德值、场景类型生成对话(可由LLM生成)。
- 同伴在BOSS战的建议(如“我觉得他在虚张声势”)也可由LLM生成,但需注意调用频率。
3.3 轮回奖励/图鉴系统
- 记录已解锁结局、卡牌图鉴,纯数据存储,无复杂算法。
四、技术架构总结
┌─────────────────┐
│ 玩家输入 │
└────────┬────────┘
▼
┌─────────────────────────────────────┐
│ 游戏主循环(代码) │
│ - 解析指令(选项/背包/状态/帮助) │
│ - 调用道德算法更新数值 │
│ - 调用牌数控制记录卡牌 │
│ - 检查结局触发 │
│ - 调用LLM生成下一场景(如需要) │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ LLM服务(可选) │
│ - 场景生成(普通/层间) │
│ - 卡牌名称描述生成 │
│ - BOSS个性化台词生成 │
└─────────────────────────────────────┘
│
▼
┌─────────────────────────────────────┐
│ 数据存储 │
│ - 道德三值 │
│ - 当前层卡牌列表 │
│ - 游戏进度(层数、轮次) │
└─────────────────────────────────────┘
算法数量:
- 核心算法:2套(道德倾向算法、BOSS战规则算法)
- 辅助逻辑:牌数计数、陷阱判定、结局判定(可视为简单逻辑,不算复杂算法)
五、你的总结非常准确
“用到LLM的我觉得就场景生成,两套模板,BOSS设定,新手指引啥的可以放文本也可以放RAG数据库,背包完全可以由项目完成不需要LLM记忆,LLM对于BOSS战策略这块也是一个点”
完全正确。补充两点:
- BOSS战策略可以用LLM作为“AI队友”提供建议,但核心对战逻辑仍是代码。
- 除了场景生成,卡牌名称描述也建议由LLM生成,以增强收藏感和叙事连贯性。
如果你准备进入开发阶段,可以基于这份总结搭建技术方案。

浙公网安备 33010602011771号