越改越乱,通常不是描述写得太少,而是三类描述混在同一层里互相覆盖:这个原型要跑什么玩法、系统按什么条件判定、界面和文案怎么表现。继续局部打补丁,等于在混层的基础上再叠一层矛盾;整体推倒重来,又会丢掉已经确认过的部分。更稳的顺序是:先把现有描述逐句归类,再找出打架的句子并定优先级,然后从玩法层重写,按层生成、按层确认。
判断:生成结果持续走偏,多半是玩法、规则、表现三层描述混写,而不是描述条数过多。处理方向:先把每句描述归入三层,标出跨层句和冲突句,原则是玩法层优先于规则层、规则层优先于表现层,再从玩法层重写一句核心循环,之后每改一层立即重新生成并记录偏差。边界:只把能通过描述清单、生成预览或日志核对的内容写进清单;不确定的句子先标记待确认,不要凭手感删除。
把现有描述按玩法、规则、表现三层分类
先把描述现状摊开,再决定从哪一层动手。把当前所有描述句,包括历史补丁和临时备注,复制到一个表格里逐句归类。判定标准:描述玩家在做什么、为什么做,属于玩法层;描述什么条件触发什么结果,属于规则层;描述看到什么、听到什么、文案措辞和排版,属于表现层。
| 编号 | 原句(截取) | 归入层级 | 判定依据 | 标记 |
|---|---|---|---|---|
| 01 | 玩家要一边跑一边收集金币 | 玩法 | 描述目标与行为 | — |
| 02 | 收集满 10 个金币出现加速道具 | 规则 | 条件对应结果 | — |
| 03 | 金币用金色圆形图标显示,拾取时闪一下 | 表现 | 视觉反馈 | — |
| 04 | 玩家操作赛道,金币引导跑位,界面用蓝色提示安全区 | — | 同时含玩法、规则和表现 | SPLIT |
| 05 | 手感要爽 | — | 无法判定具体行为或条件 | HOLD |
跨层的句子标记 SPLIT,拆成三层分别重写;无法归类的句子标记 HOLD,先搁置,等玩法层重写完成后再回头看它是否还有必要。这一步只做分类,不做删改,否则还没看清全貌就先动了结构。
找出互相打架的句子并标出优先级
矛盾要定位到具体两句,不能凭感觉删。把两条不能同时成立的描述拉进冲突清单,写清冲突点,再按层级优先级决定保留哪一句。
冲突清单格式:
CID | 句子A | 句子B | 冲突点 | 保留 | 依据
C01 | [玩法] 单局目标是尽可能久地存活 | [表现] 主界面倒计时结束即通关 | A | 玩法层优先于表现层
C02 | [规则] 撞到障碍扣一次机会 | [规则] 撞到障碍直接结束 | A | 更靠近核心循环,改动面更小
C03 | [规则] 道具每局出现 3 次 | [表现] 道具栏显示 5 个格子 | A | 表现应服从规则,除非格子只是装饰
优先级原则可以按这个顺序套用:玩法层优先于规则层,规则层优先于表现层;同一层内,更靠近核心循环的那句优先;后加的临时补丁句默认低于最初确认的设定句,但如果补丁来自真实的页面行为反馈,应把它提升到规则层再比较。被淘汰的句子不要直接删除,先移到描述文档末尾的暂缓区,并标注替换它的句子编号,方便回溯。删除比保留更难恢复,混合层描述尤其经不起反复删改。
从玩法层开始重写,只保留一句核心循环
玩法层只留一句话:玩家做什么、系统怎么判定、得到什么结果。三层里只有这一句需要唯一确定,规则和表现都围绕它展开。
单句模板:
玩家每次[动作],系统按[判定条件]处理,产生[结果或状态变化]。
示例:
玩家每提交一次答案,系统判定对错并累计分数,答错扣一次机会,机会用尽即结束本局。
三要素缺一不可:动作是玩家能重复做的最小操作,判定是系统能写成条件的那条线,结果是玩家能观察到的状态变化。常见反例是把动作和表现混写,比如“点一下按钮,按钮发光并很带感”,这里找不到判定和结果,放进玩法层会让后面所有规则都失去依据。核心循环写完后先不要改规则和表现,直接按这一句重新生成一次,看结果是否只围绕它变化;如果还冒出别的玩法分支,说明暂缓区里还有句子被默认带上,需要把它们显式移出当前范围。
按层重新生成并逐层确认
一次性改完三层,等于再制造一次混乱。建议按层推进,每层改完先跑一遍,记录结果偏差,确认该层成立再动下一层。
- 玩法层:只保留核心循环那一句,其余玩法句移入暂缓区,重新生成一次,确认输出围绕核心循环,没有多出新的玩法分支。
- 规则层:把与核心循环直接相关的判定条件逐条补回,每补一条就生成确认一次。出现互相矛盾的规则,回到冲突清单定优先级,不要临时加条件打补丁。
- 表现层:最后补文案、视觉和动效。表现描述只允许引用已确认的规则名和状态名,不允许反过来定义规则。
每一层留一条记录,先写预期结果,改完再填实际观察,避免事后找理由。
层级 | 本次改动 | 预期结果 | 实际观察 | 是否通过 | 记录位置
玩法 | 合并为一句核心循环 | 生成结果只出现一个主要目标 | 待填 | 是/否 | 描述文档顶部分层表
规则 | 补回扣机会条件 | 机会用尽后本局结束 | 待填 | 是/否 | 同一表格
表现 | 修改金币图标与提示 | 状态变化时有可见反馈 | 待填 | 是/否 | 同一表格
设定改动规则:每次只动一层,改完立刻验证
防止再次越改越乱,靠的是一条可执行的纪律:一次提交只允许改一个层级,改完立刻在同一环境里重新生成或运行一次,结果写进分层表对应行;未通过就回退这一层的改动,不要顺手去改下一层。
改动范围限定为一个层级的一到两条描述。验证方式是重新生成一次,逐条对照该层的预期结果,同时看控制台或日志里该层对应的判定输出是否出现。记录位置固定在需求文档顶部的分层表和冲突清单里,每次改动的层级、时间和结果追加在对应行,不另开文档。这样后续再加需求时,可以先判断新句子该落到哪一层,而不是继续往上叠。