games-development-ai/.agents/skills/trpg-game-design.md
lili a207cb8d65
Some checks failed
contract-gates / contract-gates (push) Has been cancelled
docs-gate / docs-gate (push) Has been cancelled
docs(agents): skill 规范化双层收口 + 席位context skill 新增 + W-NSTAR/W-TPL/W-GENLOG 设计波落档
- .agents/skills 25 件全量 frontmatter 规范化与评审修入(含 prompt-governance 大修);.claude/skills 7 件薄壳按双层方案①落位
- 新增 skill:agentic-seat-context-design(agentic 席位与 context 工程设计基线,2026-07-05 探索蒸馏)
- 设计波三件落档:复杂游戏北极星件(W-NSTAR 终审稿待拍)/黄金模板规格件(W-TPL 定稿待批)/生成侧过程蒸馏回路(W-GENLOG 骨架)
- protocol/在飞板/作战清单/数据飞轮 SoT/契约 prompts 索引同步;breakout 九门证据刷新
- .gitignore 补 /localagents.md 真实忽略行(该文件自声明绝不提交,此前声明未被机器执行)
- 刻意不入库:nacos-data/ 与 _tier2-gen、c2v-*、amgen-* 生成产物(可重生成,忽略行格式待拍)

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
2026-07-06 05:32:56 -07:00

17 KiB
Raw Blame History

name, description
name description
trpg-game-design 当为掷骰冒险(TRPG)类 brief 产设计阶段玩法方案或评审时使用:掷骰悬念等 6 引擎、爬塔/事件链可达范式、成功率与升级数值锚、单击即结算红线、通用 12 条+品类 5 条自检、金标锚点与底线四件映射。

skill: trpg-game-design —— TRPG(掷骰冒险)小游戏「玩法设计」作业手册(给生成 agent 的设计阶段)

定位:这是 生成 agent 设计阶段造"好玩的掷骰冒险玩法设计"的唯一作业手册。它回答 "设计什么才好玩"(掷骰判定/冒险结构/成长/数值/美术/音/UI 范式),与 littlejs-game-dev.md(回答"代码怎么写")配对:设计阶段产玩法概念 → 代码生成阶段照 littlejs-game-dev 产代码。体例照 sim-business-game-design.md(经营品类范例)。

铁律(创始人 2026-06-21):"好玩 = 上游设计层职责",不在 runtime/插件。插件只让设计能被 juice 出手感;这份 skill 负责让设计本身好玩

便宜档定位(钉死):TRPG 品类在便宜档取单局可完的轻量形态——数值冒险 / 掷骰抉择 / 队伍成长,一局 4590 秒出战报;不做长流程重游戏(跨局剧情存档 / 大地图探索 / 回合制菜单战斗都出界,见 §9 红线)。轻量 ≠ 简单:掷骰悬念 + 风险抉择 + 成长兑现叠起来,深度不输长流程。

可达性边界:产出必须落得到 A-model 轻量运行时——LittleJS 2D 手机竖屏(390×844)、单/少场景、便宜模型可生成的多文件代码、11 注入插件能力域。设计再好,落不到这个运行时就是空想——见 §9 红线。

上位标准:丰富分层/档位观测线对齐 docs/architecture/架构/生成引擎/游戏质量与爆火能力.md(质量模型 SoT);校验侧品类 rubric(喂 LLM 验证 agent、非阻塞)= cheap-worker/fixtures/genre-rubrics/trpg.json(经 cheap_verify.load_genre_checklist 加载;2026-07-02 rubric 挂点归一后 fixture 为唯一数据源),与本 skill §10 品类自检同源对齐。


0. 为什么这一品类爆(底层动机 —— 设计要击中这些)

掷骰冒险小游戏的"爽"来自 6 个心理引擎,好玩 = 同时点燃尽量多个;无趣 = 一个都没点燃:

  1. 掷骰悬念(心跳时刻):骰子转出来前的 0.5 秒是全品类最强的多巴胺点——随机必须可见(骰值、判定式、大成功闪光),黑箱出结果 = 悬念归零。
  2. 抉择的掌控感:随机之上必须有"我挑的"——同屏亮牌给玩家挑(高险高赏 vs 稳收薄利),输了怪骰子、赢了夸自己,这是 TRPG 与纯抽卡的分界。
  3. 成长兑现:等级/属性真实进判定公式(升级 → 掷骰 +1,面板写明),"我变强了"能在下一次掷骰里立刻验证。
  4. 险中求胜的叙事感:HP 压力 + 难度爬坡让每局自然长出故事("最后 2 血大成功翻盘登顶"),战报把故事讲出来。
  5. 连胜滚雪球:连续成功追加奖励,会挑卡的人滚雪球——技巧分,盲点的人吃不到。
  6. 收集与纪录:大成功次数/击败数/最高纪录/结局徽章,"再来一局刷新纪录"的回归钩子。

反"无趣"总纲:无趣几乎总是因为——掷骰黑箱 / 没有取舍(点哪张都一样)/ 成长是摆设数字 / 难度平坦无终点 / 结算只有一个分数。§10 是落地清单。


1. 核心玩法范式(可达子集 —— design 优先从这里选)

范式 一句话 我们运行时怎么落(插件)
掷骰爬塔(骨架默认) 每层翻遭遇卡(怪/宝箱/奇遇亮难度奖励)→ 点卡掷 d20 三档结算 → 清层登塔难度渐升 → 登顶/倒下/到点 scene-fsm 三幕 + session-score 金币 + timer-scheduler 限时 + juice/audio 掷骰爽感
掷骰事件链 每步一个事件、23 个选项各标难度与代价,掷骰定走向,走到结局 同上;事件表 = core 数据
queue 试炼 一列试炼(力量/敏捷/智慧)排队来,选属性应对掷骰,过关累计荣誉 session-score + hud-ui 属性面板
轻队伍成长 掷骰赢来的金币招募/升级伙伴(每伙伴给固定骰加成),伙伴栏可见 core 数据 + hud-ui 伙伴栏;招募=单击
boss 终局 爬坡后终层 boss 高难对抗,大成功双倍演出 juice.flash/burst + audio 'win'

组合配方(经验):一款轻量 TRPG = 1 个主循环(点卡掷骰)+ 1 个成长轴(等级/伙伴)+ 难度爬坡到终点 + 连胜/收集点缀。别堆超过 2 个主机制(便宜模型 + 单屏扛不住,也稀释爽点)。

掷骰判定的标准形:d20 + 加成 vs 难度 三档——roll=20 大成功(奖励双倍)/ 总值≥难度 成功 / 否则失败(失败也给安慰 1 金,进展不断流;roll=1 恒失败保住"骰子的脾气")。这一形状骨架已实现,换皮别破坏。


2. 冒险 / 进度 / 留存设计

  • 首 3 分钟(决定生死):① 010 秒:零阅读上手(菜单三行图例:⚔ 高赏失败扣血 / ◆ 稳收 / ✦ 险中带甜,点卡就掷)。② 1060 秒:第一次升级(XP 曲线保首局 23 次结算内升 Lv.2,骰+1 立刻可感)。③ 13 分钟:第二局——"差一层就登顶"的再来欲 + 纪录可破。
  • 局内进度阶梯:层数就是解锁阶梯——"第 N/M 层"常驻 HUD,任意时刻可见下一层;难度随层 +1,登顶 = 明确终点。≥3 层起步(骨架 6 层)
  • 留存钩子:最高纪录(session-score best 跨局)· 战报统计可刷新(击败/开箱/大成功)· 可扩结局徽章/遭遇图鉴(save-progress 存)。
  • 节奏:掷骰(心跳)→ 结算(爽)→ 挑下一张(思考)的三拍循环,层间横幅是喘息;60 秒限时给全局张力。

3. 数值与掷骰概率(交 core.js 常量 —— design 必给具体锚)

  • 成功率曲线:首层基准难度 7(d20 裸掷 ≈70% 成功)——开局要爽;每层 +1 难度、每级 +1 加成,玩家不升级则末层 ≈4550%、升 2 级则 ≈60%:成长兑现写在概率里。别开局就 50% 以下(挫败劝退)。
  • 风险-回报差异化(取舍之根):同层遭遇 diffMod 拉开 ≥3 点(如宝箱 -3 稳收 3 金 vs 祭坛 +2 险赏 8 金),期望收益险者略高——会算的人吃到技巧分。
  • HP 压力:血量 ≈ 可承受 810 次失败(20 血/失败 -2),失败是代价不是墙;只有怪物卡打脸,宝箱/奇遇失败只是拿得少。
  • 升级曲线:XP 指数(×1.6/级)造"差一点升级"卡点;升级奖励 = 骰加成 +1(真进公式)+ 全屏庆祝。
  • 连胜:每连胜 +streak 金、cap 5(防滚过头);失败清零(心跳更疼)。
  • 一局时长:4590 秒(骨架 60s);限时到点 = 结算而非惩罚。

4. 美术风格范式(可达 + mmx 可产 + 程序化兜底)

风格 调性 配色 适合
暗地城+火把光(骨架默认) 神秘冒险 深紫蓝底 + 暖橙火光 + 金币金 魔塔/地牢
国风志怪 雅致奇幻 黛青 + 朱砂点缀 西游/山海经/武侠
星际废墟 冷冽科幻 深空黑 + 荧青 机甲/太空
羊皮纸桌游 复古桌面 米黄 + 棕红 骰子桌游感
  • 卡面即信息:遭遇卡 = 图腾色块 + 名字 + 类型标 + 难度(≥N)+ 奖励(+N金)一屏亮全——取舍信息就是美术布局。
  • 美术一致性之根:全套素材共用一组风格词(mmx 生成时);程序化兜底(几何图腾 + 统一调色)完全成立,别因美术阻塞可玩性

5. UI 范式(hud-ui 全可达)

  • 顶部 HUD:金币(=score)/ 层数进度(第 N/M 层)/ 倒计时;
  • 遭遇卡列:纵排大卡(手指友好 ≥14% 屏高),每张亮名字/类型/难度/奖励;
  • 勇者面板:HP 条 + Lv + 骰加成(+N 写脸上) + 经验条——成长可见;
  • 掷骰飘字:判定式全文飘出「d20:15+2 vs 12 ✓ +7金」,大成功大字金色——过程可见是本品类 UI 的命脉;
  • 层间横幅:「登上第 N 层!」仪式感一拍;
  • 战报结算:层数/击败/开箱/大成功/胜负因由/最高纪录 + 再闯按钮。

6. 音乐 / 音效范式(audio-music 可达)

  • 音效(爽感命脉,务必有):掷骰"嗒" · 成功收币"叮"(coin)· 大成功欢呼(win)· 失败闷响(thud)· 升级号角(win)· 翻层提示(click)。掷骰三拍循环每拍都要有声——audio-music playSfx,无声卡静默降级不崩。
  • BGM:地城氛围循环(低速鼓点+弦),高层可加急(可选)。
  • 红线:宁可程序化音效,也别没有反馈音(无音 = 无趣的隐形元凶)。

7. 首屏 / 传播视觉钩子(通用,MVP 也用)

  • 首屏 3 秒抓人:菜单即亮玩法三行图例 + 大按钮,点进去 10 秒内掷第一把;
  • 战报即炫耀时刻:一屏讲完这局冒险的故事(爬到第几层/击败几个/几次大成功/怎么结束的),可截图分享;
  • 最高纪录挂脸上("金 97"),破纪录的再来欲;
  • 大成功的全屏演出(闪光+粒子+欢呼)是短视频截段的天然素材。

8. 设计阶段输出配方(生成 agent 据 brief 产出这些 → 喂代码生成)

给定一句话 brief,设计阶段应产出一份结构化玩法设计,逐项落到运行时:

  1. 核心循环(一句话 + 30 秒脚本:玩家挑哪张卡→掷骰看什么→得什么→怎么变强);
  2. 主机制 12 个(从 §1 选;标注用哪些插件);
  3. 遭遇表/事件表(≥4 项、三种性质齐:高险高赏 / 稳收 / 险中带甜;各标 diffMod/gold/xp——这是题材身份的核心载体);
  4. 数值骨架(基准难度/坡度/血量/升级曲线/连胜 cap —— 按 §3 给具体值,交 core.js 常量);
  5. 美术风格词(一组,全资产共用)+ 配色(交 render.js 的 C 表);
  6. 音效清单(掷骰/成功/大成功/失败/升级/翻层)+ BGM 情绪;
  7. UI 布局(HUD/卡列/勇者面板/飘字/战报,§5);
  8. 首 3 分钟脚本(上手→首升级→再来一局的钩子)。

MVP-first 铁律(关乎 code agent 能否收敛):设计聚焦可玩核心 —— 点卡掷骰循环 + 1 成长轴 + 难度爬坡到终点 + 基础数值/音效,遭遇 ≤5 种起步。多角色切换 / 装备栏 / 技能树 / 跨局剧情 / 多结局分支图 等一律标「后续·MVP 不做」,别一稿堆满 —— 设计太满 → code agent 实现负担过重 → read-thrash 不收敛。先出能玩的核心,再谈丰富。

这份设计 = 代码生成阶段的"图纸";生成 agent 照 littlejs-game-dev 把它实现为多文件代码(从 _template-trpg 骨架换皮起步,别从零写)。设计阶段把"好玩"想清楚,代码阶段只管正确实现。


9. 可达性红线(落不到运行时的设计 = 废稿,必剔除/简化)

  • 长流程重游戏:跨局剧情存档推进 / 章节制大冒险 / 大地图自由探索 → 改单局可完(4590s)+ 跨局只留纪录/图鉴。
  • 回合制菜单战斗("攻击/防御/道具/逃跑"四键菜单):多步操作 + 状态菜单,零-LLM 自动验收 driver 只会单击 occupied:true 目标、跟不动 → 核心动作单击即结算(点遭遇卡 = 自动掷骰+判定+结算一步完成)。
  • 纯随机无抉择(自动掷骰/只有一个按钮):没有"挑哪张"的掌控感 = 抽卡机不是 TRPG → 同屏 ≥2 张差异化亮牌。
  • 掷骰黑箱(点卡直接出结果不见骰):悬念归零 → 判定式飘字必须有。
  • 联网组队 / PVP → 单机 + 本地最高纪录。
  • 3D 骰子物理 / 大量逐帧动画 → 2D 程序化(飘字+粒子+闪光足够演出)。
  • 超过 2 个主机制(战斗+锻造+钓鱼…)→ 聚焦点卡掷骰 + 1 成长轴。
  • 留下的:掷骰对抗、亮牌取舍、等级/伙伴成长、难度爬坡、连胜、限时、纪录/图鉴 —— 全在 11 注入插件 + 单屏 + 便宜模型可生成范围内。
  • _forensicsView 契约(自动验收可达):targets 列本层可点遭遇卡(ready 才 occupied:true);score 用金币战利品且每次结算至少 +1(失败安慰金)——score 单调升是 H 门进展契约,断了 = 好游戏被误判。

10. 反"无趣"落地清单(design 自检,逐条必过)

通用 12 条(全品类同尺,校验侧 = cheap_verify.RICHNESS_CHECKLIST,L2×7/L3×3/L4×2;2026-07-03 增补第 12 条「核心操作非无脑」):即时反馈 / 可见成长 / 下一个解锁 / 30 秒爽点 / 数值滚雪球 / 情感锚 / 核心操作非无脑 / 放置回归 / 音反馈 / 首 3 分钟脚本 / 炫耀时刻 / 同款钩子——设计阶段照 sim-business-game-design.md §10 过一遍,「核心操作非无脑」单独确认:每次主操作含真实决策或技巧含量、判错有真代价(TRPG 天然强项=挑卡取舍,别退化成点哪张都一样)。

TRPG 品类自检 5 条(校验侧同源 = cheap-worker/fixtures/genre-rubrics/trpg.json,喂 LLM 验证 agent、非阻塞、分母独立):

  1. [L2] 掷骰过程可见:掷骰判定(骰值+加成 vs 难度)以飘字/动画亮给玩家?(正:飘「d20:15+2 vs 12 ✓」;反:点卡直接加钱、不见骰)
  2. [L2] 风险-回报取舍真实:同屏遭遇难度与奖励差异化亮牌、挑卡决定影响期望收益?(正:骷髅卫 ≥9 +7金 vs 宝箱 ≥4 +3金;反:所有卡同难同赏点哪张都一样)
  3. [L2] 成长真实进判定公式:等级/伙伴提升改变掷骰判定数值且 UI 可见?(正:升级→骰+1 写面板、进公式;反:等级只是显示数字、判定恒裸 d20)
  4. [L3] 难度爬坡 + 登顶终点:难度随进度递升、有明确通关终点与进度可见?(正:第 N/6 层 HUD + 每层难度 +1 + 登顶 win;反:无限平难度刷分无终点)
  5. [L4] 冒险战报可炫耀:结算屏讲这局冒险的故事(层数/击败/大成功/胜负因由)、可截图?(正:「爬到第 5 层·击败 7·大成功 2·勇者倒下」;反:只有一个总分数字)

命中越多越好玩;通用 12 条命中 ≤3 ≈ 能玩但无趣。设计阶段就过这两张表,别等做出来才发现无趣。 机检硬门 vs LLM 评分维度的分界照质量模型 SoT §4 规范五:score 递增等真玩断言归 L1 硬门(play-spec assertAfterPlay);上述品类条目全是 LLM 评分维度,不落项目代码、不进九门、不进脚手架


金标锚点(12 条口径基线 · 质量模型 SoT §4 规范三)

每品类需 ≥1 金标正例 + ≥1 薄反例锚住评分尺(rubric 文本或评分 prompt 变更须金标复验,单款分组小计漂移 >±1 即回退)。TRPG 的锚 2026-07-03 以 12 条口径实测(生产口径 genre=trpg,同输入复采样 n=3 取中位,入口 cheap_verify.verify_richness):

  • 金标正例 = game-runtime/games/_template-trpg 骨架原样(掷骰爬塔,独立过九门)。通用 12 条 = 9/12:L2 6/7 · L3 1/3 · L4 2/2;第 12 条「核心操作非无脑」3/3 命中(三档难度/奖励差异化亮牌,挑卡取舍 + 连胜维护 + 扣血硬扛都是真实决策,失败扣 2HP 有真代价);品类扩展 5/5(L2 3/3·L3 1/1·L4 1/1);前 11 条 = 8/11,精确复现旧锚通用 8/11。TRPG 模板是富正例、不是薄反例——黄金脚手架把掷骰/取舍/成长/爬坡/战报整套接好,换皮起步即富。
  • 薄反例 = 合成黑箱点卡(点卡直接加钱、无骰无取舍无成长无终点,照各条 negative 面同构):材料尚未入仓,是本品类金标欠账(与 cheap-worker/fixtures/genre-rubrics/trpg.json 的 _note 记的同一笔;红线是不臆造合成材料充数,待真材料入仓再补基线)。其历史锚(未真跑)= 通用 0/11 · 品类 0/5。
  • 方差纪律:M3 单发方差 ±2~4,取中位;品类段(5/5、三样全中)与 L4(2/2)跨样最稳,是回退判定最可靠的观测维;正例通用三样 9/9/8。

底线四件映射确认(质量模型 SoT §7 档位要求 —— 品类件逐条确认,TRPG 全可映射、无需申报替代轴)

底线件 TRPG 映射 骨架落点
成长轴(数值或等级) 等级 + 掷骰加成(真进判定公式) core.applyXp/heroBonus + 勇者面板
解锁阶梯 ≥3 级(任意时刻可见下一个) 塔层推进(6 层,HUD 常驻「第 N/6 层」,清层即解锁下一层) core.TOWER_FLOORS + drawHud
收集/装饰或等价第二动机 战报统计(击败/开箱/大成功)+ 最高纪录;可扩结局徽章/遭遇图鉴 measures + sessionScore.getBest(扩:save)
音反馈 掷骰/结算/升级/翻层四处 SFX audioMusic.playSfx(coin/win/thud/click)

相关