学习路径Learning path · 关键词Keyword
怎么定一个两周能做完的范围How to scope a game down to two weeks
How to scope a game down to two weeks
这篇解决什么:首版做太大的问题。AI 降低了写代码和出素材的成本,但没有降低「决定做什么」的难度 —— 范围仍然要人裁。
⚠ 先说清口径:「两周」是我们建议的练习周期(方便设检查点),不是实测的完成时间,也不是行业标准;下文所有工时数字都是虚构示例。
What this guide solves: first versions that are too big. AI lowered the cost of writing code and making assets; it did not lower the difficulty of deciding what to build. The scope still gets cut by a human.
⚠ Framing first: "two weeks" is a practice cycle we suggest (handy for checkpoints) — not a measured completion time, not an industry standard. Every effort figure below is a fictitious example.
适用条件
- ✅ 个人或两三个人的验证型项目:目标是「证明这个玩法有没有戏」
- ✅ 你已有一个能跑的核心循环原型,或准备在周期第 1 周得到它
- ⚠ 不适用:签了交付合同的商业项目 —— 合同范围不由这篇决定
- ⚠ 不适用:还没定引擎工具 —— 先看 S1 · 选引擎
When this applies
- ✅ A solo or two-three-person validation project: the goal is "does this mechanic have a future"
- ✅ You already have a running core-loop prototype, or you will have one in week one
- ⚠ Not for contracted commercial work — the contract decides that scope
- ⚠ Not before the tool is picked — start at S1 · Pick an engine
步骤
1. 写验证问题,不写愿望。 一句话形如「到第 10 天(虚构),陌生人玩 3 分钟后能说出这游戏的目标,并且想再来一局」。判断标准:这句话可证伪。
2. 把所有想要的东西列全。 玩法、界面、存档、教学关、成就、多平台 —— 先不裁,列到不想加为止。
3. 三档分类。 必须(验证问题缺了它就不成立)/ 可有(有它体验更好,不影响验证)/ 本期砍掉。检验「必须」的唯一问法:没有它,第 1 步那句话还怎么做?
4. 给每个「必须」写完成条件。 形如「拖拽放置方块,吸附到网格,放置失败有反馈」—— 写不出完成条件的项,多半是「可有」伪装成「必须」。
5. 估一遍并砍到留余量。 按天估每个「必须」(估法是练习,数字虚构);全部加起来明显超过周期六成时(虚构阈值,我们的口径是留缓冲),继续从「必须」里砍,或把大项拆小。
6. 第 6 天中检(虚构日)。 有任何一项「必须」还没动过:第一动作是删「可有」,不是加班。
7. 周期末导出一次。 哪怕粗糙,必须走通导出 —— 见 怎么做一次发布前检查;发出去收集反馈走 先发极简版。
The steps
1. Write a validation question, not a wish. One sentence: "by day 10 (fictitious), a stranger plays for 3 minutes, can state the goal, and wants another round." Test: it must be falsifiable.
2. List everything you want. Mechanics, menus, saves, tutorial levels, achievements, multi-platform — no cutting yet.
3. Sort into three piles. Must-have (without it the validation question collapses) / nice-to-have / cut-this-cycle. The only test for must-have: without it, how does the sentence from step 1 get answered?
4. Give each must-have a done-condition. Like "drag a block, it snaps to the grid, a failed placement gives feedback" — items you cannot phrase this way are usually nice-to-haves in disguise.
5. Estimate, then cut to leave slack. Day-size estimates per must-have (the exercise is invented, the numbers are fictitious). When the total clearly exceeds about 60% of the cycle (invented threshold — our reading is: keep a buffer), cut deeper or split big items.
6. Day-6 checkpoint (fictitious day). Any untouched must-have: the first move is deleting nice-to-haves, not overtime.
7. Export once at the end of the cycle. Rough is fine; exporting must actually happen — see How to run a pre-release check; collecting feedback afterwards is Ship the smallest version first.
一个可走查的例子
⚠ 功能清单、天数、通过线全部为虚构示例。
- 输入:一款网格解谜游戏。验证问题:「第 10 天,陌生人 3 分钟内过关 1 关并说出规则」。候选功能五项:核心推拉机制、关卡选择界面、云存档、音效、新手教学关。
- 处理:分类 → 必须 = 核心机制 + 1 关内容(关卡数据组织见 关卡数据的组织方式);可有 = 音效、教学关;砍 = 云存档、关卡选择。第 6 天(虚构)检查:核心机制已能玩,第 1 关拼图中——音效一行没动,属「可有」,不慌。
- 结果判断:按验证问题逐项问「缺了还能验证吗」—— 五项里只有两项答「不能」,范围成立。
- 失败后下一步:假如第 8 天(虚构)核心机制仍卡住 → 不是砍功能(已经没可砍),而是回查改动质量:按 怎么验收 AI 生成的游戏代码 走一遍,通常问题在那一层。
A walk-through example
⚠ The feature list, the days and the pass line are all fictitious examples.
- Input: a grid puzzle game. Validation question: "by day 10, a stranger clears level 1 in 3 minutes and states the rule." Five candidate features: core push-pull mechanic, level-select menu, cloud saves, sound, tutorial level.
- Processing: sorting → must-haves = the mechanic + one playable level (level data: How to organise level data); nice-to-haves = sound, tutorial; cut = cloud saves, level select. Day-6 checkpoint (invented): the mechanic plays, level 1 is being assembled, zero audio touched — that is the nice-to-have pile, no panic.
- Result: one question per item — "can the validation still happen without it?" Only two of five answer "no", so the scope holds.
- After the failure: if by day 8 (invented) the core mechanic is still broken → there is nothing left to cut; the problem is change quality — run How to accept AI-generated game code instead; that is usually the layer at fault.
失败分支
| 失败形态 | 下一步 |
|---|---|
| 每项都「必须」,砍不动 | 回到三条判据重认核心:最小可玩原型 |
| 两周到了但没导出 | 先补一次真实导出 —— 没导出过的那部分,验证依据还是空的 |
| 范围做完了但没人说得清验证了什么 | 第 1 步的验证问题写得不可证伪,重写它 |
| 反复超期,怀疑是估算而非范围 | 把每项的实际耗时记进日志,下个周期用你自己的数据校准 |
Failure branches
| Shape of failure | Next step |
|---|---|
| Everything is a must-have | Re-identify the core with the three criteria: Minimal playable prototype |
| Two weeks passed, nothing exported | Do one real export first — an unexported scope is an unvalidated scope |
| Finished, but nobody can say what was validated | The step-1 question was unfalsifiable; rewrite it |
| Constant overruns — suspect estimation, not scope | Log actual time per item and calibrate the next cycle with your own numbers |
下一步
Next steps
- Scope set, enter the full loop: S2 · The core loop
- How to release at the end of the cycle: Ship the smallest version first
有序路径 · 第 25 / 26 篇Ordered path · item 25 of 26