agentleFS
limoaCatherinelimoaCatherine/game-studio-harness/skills/level-goals-spec/SKILL.md

level-goals-spec

Skill4 starsChanged 54 days agoMITView on GitHub

写清关卡主/可选/失败目标、教学点与时长预算,并与叙事 beat 挂钩。触发:关卡目标、level goals、胜负条件、教学点、一局时长、失败重试。

The file

Files
SKILL.md

关卡目标怎么定

何时用

  • 新关卡开做前要锁目标,或白盒前需要目标约束
  • 胜负条件与主线任务冲突
  • 教学关目标过载、奖励与目标脱节
  • 多目标并行导致玩家不知道「这一关要干嘛」

怎么做

1. 主目标、非目标与叙事位置

做

  1. 主目标一句可完成陈述(到达/守护/夺取/生存/解谜);次要标可选;非目标单列(本关不教/不考)。
  2. 叙事位置:挂 narrative-beat-sheet 的 beat_id;无叙事写「纯玩法验证」+验证假设。
  3. 支柱证明:写「若砍掉本关,支柱哪句变弱」;rg 支柱文档确认句存在。
  4. 一关一事:强制目标数对照项目档;超档拆关或降可选。
  5. 向用户索取时长档与死亡重试预期;写入 level/<id>_goals.md 头字段。
  6. 失败原因方向(被歼/超时/任务物毁)必须玩家可理解——不可理解则重写条件。
  7. 失败→回本步:beat_id 无效或强制目标超档——改挂接/拆关再往下。

做到:goals.md 含主目标/非目标/beat_id 或验证假设/时长档;强制目标≤档;失败原因可理解。

2. 成功/失败/退出与门控(检测器)

做

  1. 胜负表:win_cond|fail_cond|exit_rule|retry_cost;与战斗胜负规则字段对齐。
  2. 在关卡蓝图/触发器/任务检测器命名 win_*/fail_* 体积或旗标,确保可被 quest-spec 检测。
  3. 门控(技能/道具/情报/钥匙)须写缺门控时的退化路径;教学关尤须有退化。
  4. 多结局:每结局检测条件与奖励差;合流世界状态写清。
  5. 检查点:哪些进度保存、哪些遭遇重置;防过门后软锁无法回补钥匙。
  6. 退出枢纽:写清部分完成状态如何显示(对照任务 UI 状态枚举)。
  7. 失败→回步骤 1:检测器无法表达主目标——改目标陈述或拆检测再锁门控。

做到:胜负条件在编辑器有可点检测器/旗标名;门控有退化或显式硬门;检查点规则防软锁。

3. 教学顺序与可读预算

做

  1. 新机制引入序表:mech_id|teach_seg|apply_seg|exam_seg?;同时「新」数量≤可读预算档。
  2. 每机制:安全教学→有压力应用→(可选)组合考;缺教学相遇则前移或砍考。
  3. 信息通道:UI 提示键 / 环境可读 / NPC 一句 / 对白——必读不单靠可跳对白(核 copy 键是否 skippable)。
  4. 对照 encounter-script:教学遭遇意图 id 必须先于检验遭遇;顺序反了改波次或改目标。
  5. 卡关提示升级:方向提示→强提示;允许卡关时长档向用户索取;永久无提示硬谜须支柱批准。
  6. 失败→回步骤 2:教学门控无退化——补退化或改门控类型。

做到:引入序表可排;必读通道含非对白;教学 encounter id 早于检验;提示策略有档。

4. 奖励钩子与双路径验收

做

  1. 奖励钩子服务主目标;无关强制刷取删或改可选;探索奖励分列。
  2. 经济类挂 Source 指针(sink-source-map id);关卡商店/掉落不与活动 Source 无声明叠加。
  3. 最小通关路径与「只做主目标跳过可选」路径各写步骤;Play/走查两条都能到成功态。
  4. 输出规格:目标卡、胜负表、教学序、奖励钩子、验收路径;未决门控标阻塞。
  5. 秒表抽测主路径时长落在时长档;严重偏离回改进度或砍支线强制。
  6. 失败→回步骤 3:跳过可选后无法胜利——教学/门控序有误,回改。

做到:双路径走查 PASS;Source 指针齐;主路径时长有读数;阻塞门控显式。

下一步常接:blockout-pass / encounter-script / quest-spec。

细则

A. 目标卡字段

  1. 写 levels/<id>_goals.md:main_goal|optional_goals|fail_conditions|retry_hook|teach_points|time_budget_min|metric_caps。
  2. 主目标一句话可完成判定(到达/击败/护送/解谜阈值);不可测则改写。
  3. 教学点列表「一关一课」优先;多课需用户确认并标优先级。
  4. 失败条件写清:死亡上限、超时、关键道具损毁;重试动机写玩家为何再来一次。
  5. 与叙事 beat 挂钩则填 beat_id;无挂钩写 N/A。

B. 度量与对齐

  1. 时长预算给出目标区间(如 8–12 分钟)与超时砍项候选。
  2. 死亡/失败次数预算给战斗/遭遇侧作 TTK 讨论输入,不在本文件填数值表。
  3. 目标链编号与任务键/UI 指引键对照表三列:goal_id|quest_key|ui_hint_key。
  4. 资源预算(新几何块数/新遭遇数)向用户确认后写入,禁止超预算默默加内容。
  5. 失败→回本步:教学点与支柱否决例子冲突。

C. 验收

  1. 灰盒前:目标卡字段无空关键列。
  2. 试玩后:主目标完成率与时长记入备注,偏差>20% 回节奏或目标改写。
  3. 信号:可选目标比主目标更长却未标「可跳过」。
  4. 下一步常接 blockout-pass。
  5. 工具:关卡文档、表格、试玩计时器、rg 查 beat_id。

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.