prototype

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Purpose

目的

This is the concept prototype — a fast, throwaway build that answers one question: "Is this core idea actually fun to interact with?"
Default use — run right after
/brainstorm
and
/setup-engine
, before writing GDDs or architecture docs. Its verdict determines whether the concept is worth the investment of full design documentation.
Mid-production? You can also run this at any stage to test a specific mechanic, design change, or technical question. Pass
--spike
to activate spike mode: a lightweight ~4-hour build with no GDD prerequisites and no phase gate implications.
Already have GDDs and architecture complete? To validate the full game loop before committing to Production, run
/vertical-slice
instead.

这是概念原型——一个快速可丢弃的原型版本,旨在回答一个问题: “这个核心创意实际交互起来是否有趣?”
默认用法——在/brainstorm和/setup-engine之后、编写GDDs或架构文档之前运行。其判定结果将决定该创意是否值得投入完整设计文档的编写。
**中期制作阶段适用?**你也可以在任何阶段运行此流程,以测试特定机制、设计变更或技术问题。添加
--spike
参数激活突击模式:一个轻量的约4小时原型制作流程,无需GDD前置要求,也不影响阶段关卡进度。
**已完成GDDs和架构设计?**若要在投入正式制作前验证完整游戏循环,请改为运行
/vertical-slice

Phase 1: Define the Question

阶段1:定义问题

Resolve the review mode (once, store for all gate spawns this run):
  1. If
    --review [full|lean|solo]
    was passed → use that
  2. Else read
    production/review-mode.txt
    → use that value
  3. Else → default to
    lean
Check for spike mode: If
--spike
was passed, skip to the Spike Mode section at the bottom of this skill.
Otherwise, use
AskUserQuestion
to confirm intent before proceeding:
  • Prompt: "How would you like to use this prototype session?"
  • Options:
    • Prototype this concept
      — build a throwaway build to validate the core idea is fun before writing GDDs (1–3 days)
    • Skip — concept already proven
      — I have enough evidence this works; log it and proceed directly to design
    • Mid-production spike
      — I'm already in Production and want to test a specific mechanic or technical question quickly (~4 hours, no phase gate implications)
If "Skip — concept already proven": Ask (plain text, not a widget): "What evidence do you have that the concept works?" Record the one-line answer, then stop. Note: "Concept prototype skipped — evidence: [answer]." Suggest next step:
/map-systems
or
/design-system [mechanic]
.
If "Mid-production spike": skip to the Spike Mode section below.
If "Prototype this concept": continue with Phase 1 below.

A note on prototype strategy: The research on successful indie development is consistent — building 2-3 concept variants and letting the best one win is far more likely to succeed than iterating one concept until it works. This is your first prototype, not necessarily your only one. If this prototype produces a PIVOT verdict, consider whether to refine this concept OR start fresh with a different angle on the same game idea and prototype that instead.
Game jam as a prototype vehicle: If you're planning a concept prototype anyway, consider timing it to a game jam (Ludum Dare, GMTK Game Jam, Global Game Jam). Jams provide a forced timebox (48-72 hours), instant distribution to thousands of players who rate and review early builds, and a deadline that prevents scope creep by design. Many shipped games (Celeste, VVVVVV) began as jam prototypes. Not required — but worth considering if the timing is right.
Read the concept description from the argument. Before building anything, define the falsifiable hypothesis this prototype must answer:
"If the player [does X], they will feel [Y] — we will know this is true if [measurable signal Z]."
Good: "If the player swings on grapple hooks, traversal will feel fluid — we'll know if players chain 3+ swings without stopping within 2 minutes of picking it up."
Bad: "Does this feel fun?" ← not testable, not falsifiable.
If the concept is too vague to form a hypothesis, stop here. Ask the user to narrow the question before proceeding. A prototype without a clear question wastes time.
Also ask: "What is the riskiest assumption in this concept?" That is the first thing the prototype should test — not the easiest part, the riskiest.

确定评审模式(仅需设置一次,本次运行的所有关卡生成均沿用该设置):
  1. 若传入
    --review [full|lean|solo]
    参数 → 使用该指定模式
  2. 否则读取
    production/review-mode.txt
    文件 → 使用其中的值
  3. 若以上均无 → 默认使用
    lean
    模式
检查是否为突击模式:若传入
--spike
参数,直接跳至本技能末尾的突击模式章节。
否则,在继续前使用
AskUserQuestion
确认意图:
  • 提示:“你希望如何使用本次原型制作会话?”
  • 选项
    • Prototype this concept
      — 制作一次性原型,在编写GDDs前验证核心创意是否有趣(1-3天)
    • Skip — concept already proven
      — 我已有足够证据证明该创意可行;记录相关信息并直接进入设计阶段
    • Mid-production spike
      — 我已处于制作阶段,希望快速测试特定机制或技术问题(约4小时,不影响阶段关卡进度)
若选择“Skip — concept already proven”: 以纯文本形式提问(不使用小部件):“你有哪些证据证明该创意可行?” 记录一行简短回答后停止。备注:“概念原型已跳过——证据:[回答内容]”。建议下一步:
/map-systems
/design-system [mechanic]
若选择“Mid-production spike”:跳至下方的突击模式章节。
若选择“Prototype this concept”:继续进行阶段1的后续步骤。

原型策略说明:关于成功独立游戏开发的研究表明——制作2-3个概念变体并择优选择,远比反复迭代单个创意直至可行更有可能成功。这是你的第一个原型,但不一定是唯一的一个。若本次原型给出PIVOT(调整)判定,请考虑是优化当前创意,还是从同一游戏理念的不同角度重新开始制作原型。
以游戏开发 Jam 作为原型载体:如果你正计划制作概念原型,可以考虑将其与游戏开发 Jam(如Ludum Dare、GMTK Game Jam、Global Game Jam)同步进行。Jam提供强制时间限制(48-72小时),可将早期版本即时分发至数千玩家,他们会对版本进行评分和反馈,且截止日期能从设计上防止范围蔓延。许多已发布的游戏(如《Celeste》《VVVVVV》)最初都是Jam原型。这并非强制要求,但如果时间合适,值得考虑。
读取参数中的创意描述。在开始制作前,定义本次原型必须验证的可证伪假设
“若玩家[执行操作X],他们会产生[感受Y]——当[可衡量信号Z]出现时,即可验证该假设成立。”
示例(良好):“若玩家使用抓钩摆动,移动体验会流畅——当玩家在拿起游戏后的2分钟内连续完成3次以上摆动且未中断,即可验证。”
示例(不佳):“这感觉有趣吗?” ← 无法测试,不可证伪。
若创意过于模糊无法形成假设,在此停止。请用户先缩小问题范围再继续。没有明确问题的原型只会浪费时间。
同时提问:“该创意中风险最高的假设是什么?” 这是原型首先要测试的内容——不是最简单的部分,而是风险最高的部分。

Phase 2: Load Concept Context

阶段2:加载创意上下文

Read
design/gdd/game-concept.md
if it exists. Extract:
  • Core fantasy (what the player is supposed to feel)
  • Core loop (the moment-to-moment action being tested)
Read
CLAUDE.md
and
.claude/docs/technical-preferences.md
for the engine and language in use.

design/gdd/game-concept.md
文件存在,则读取该文件,提取:
  • 核心体验(玩家应获得的核心感受)
  • 核心循环(需测试的即时操作流程)
读取
CLAUDE.md
.claude/docs/technical-preferences.md
文件,了解当前使用的引擎和编程语言。

Phase 3: Choose the Prototype Path

阶段3:选择原型路径

Select the prototype path. If
--path [html|engine|paper]
was passed, use that. Otherwise, use this quick-reference first, then read the full path details below:
GenreRecommended pathKey reason
Platformer / action / fighterEngineFeel IS the hypothesis; browser latency produces false results
Racing / sportsEngineSame — timing and physics feedback are the point
Top-down shooter / twin-stickEngineAim feel is timing-sensitive
Puzzle (logic)HTML or PaperTiming is not the point; logic and clarity are
Card gamePaper firstFastest iteration by hand before touching code
Narrative / visual novelPaper (Twine / Ink / Yarn Spinner)Story is the mechanic — test it without code overhead
Strategy / 4X / city builderPaper (spreadsheet sim)Validate economy and progression rules before building
Roguelike (systems-heavy)Paper → EngineValidate that the ruleset is interesting before building
Idle / clicker / incrementalHTMLTurn-based logic, no feel sensitivity required
Rhythm gamePaper first (design levels in audio)Design levels before the engine exists
RPG / open worldPaper → EngineSystems complexity: validate rules, then validate feel
Horror / atmosphericEngineAtmosphere requires real rendering
Rule of thumb: "Does this feel right?" → Engine. "Are these rules interesting?" → Paper. "Is this logic correct?" → HTML or Paper.
选择原型路径。若传入
--path [html|engine|paper]
参数,则使用该指定路径。否则,先参考以下速查表,再阅读下方的完整路径说明:
游戏类型推荐路径核心原因
平台动作/动作/格斗Engine(引擎)手感是假设核心;浏览器延迟会导致结果失真
竞速/体育Engine(引擎)同理——时机和物理反馈是核心
俯视角射击/双摇杆射击Engine(引擎)瞄准手感对时机敏感
解谜(逻辑类)HTMLPaper(纸面)时机并非核心;逻辑和清晰度才是
卡牌游戏优先Paper(纸面)手动迭代速度最快,无需接触代码
叙事/视觉小说Paper(纸面)(使用Twine / Ink / Yarn Spinner)故事是核心机制——无需代码开销即可测试
策略/4X/城市建造Paper(纸面)(电子表格模拟)在制作前先验证经济和进度规则
Roguelike(系统复杂型)Paper(纸面) → Engine(引擎)先验证规则集是否有趣再进行制作
放置/点击/增量游戏HTML回合制逻辑,无需对手感敏感度要求
节奏游戏优先Paper(纸面)(在音频中设计关卡)在引擎搭建前先设计关卡
RPG/开放世界Paper(纸面) → Engine(引擎)系统复杂度高:先验证规则,再验证手感
恐怖/氛围类Engine(引擎)氛围需要真实渲染效果
经验法则:若核心问题是“手感是否到位?”→选择Engine(引擎)路径;若核心问题是“规则是否有趣?”→选择Paper(纸面)路径;若核心问题是“逻辑是否正确?”→选择HTML或Paper(纸面)路径。

Path: HTML (browser-playable)

路径:HTML(浏览器可玩)

Best for: Puzzle games, card games, turn-based strategy, word games, idle games, top-down logic games. Anything where timing precision doesn't matter.
Reliability: ~85–90% one-shot. The agent writes a single self-contained HTML file the user opens in a browser — no install required.
Limitation — browser latency lies about game feel. Browsers introduce 50–133ms of rendering variance. This makes HTML prototypes fundamentally unreliable for action games, platformers, fighting games, or anything where input timing, jump arcs, or collision feel are what you're testing. If feel is the hypothesis, use the Engine path instead.
Alternative tools for this path: PICO-8 (extreme constraints, great for retro arcade concepts, web-export in one command), Phaser.js (more capable browser game framework, still no install needed), or Twine (narrative/choice-based games). These are faster than raw HTML for their respective genres — suggest them if appropriate.
Output: A single
prototype.html
(or PICO-8/Phaser equivalent) the user opens in any browser.
Distribution — the HTML path's biggest advantage: Unlike Engine prototypes, this build can reach real players globally in minutes. Use this actively:
  • itch.io — upload the file, share the link, get play counts and written feedback within hours. Free. The indie community plays rough builds here without expecting polish. This is genuine external validation at zero cost.
  • Loom + file share — share via Google Drive/Dropbox, ask someone to record their screen + audio with Loom while playing. You get a video of real first-impression reactions and confusion without synchronous scheduling.
  • r/playmygame or r/WebGames (Reddit) — active communities that specifically test early builds and give unsolicited honest feedback.
  • Game dev Discord servers (GMTK, Brackeys, GameDev.tv) — members test each other's prototypes routinely; an HTML file is the easiest possible ask.

最适合:解谜游戏、卡牌游戏、回合制策略游戏、文字游戏、放置游戏、俯视角逻辑类游戏。任何对时机精度无要求的游戏类型。
可靠性:约85–90%一次性成功。Agent会生成单个独立HTML文件,用户可直接在浏览器中打开——无需安装。
局限性——浏览器延迟会误导游戏手感:浏览器会引入50–133ms的渲染差异。这使得HTML原型对于动作游戏、平台游戏、格斗游戏或任何需要测试输入时机、跳跃轨迹、碰撞手感的游戏来说,本质上不可靠。若手感是验证假设的核心,请改用Engine(引擎)路径。
该路径的替代工具:PICO-8(极致约束,非常适合复古街机创意,一键导出网页版本)、Phaser.js(功能更强大的浏览器游戏框架,仍无需安装)或Twine(叙事/选择驱动类游戏)。这些工具针对各自的游戏类型比原生HTML更高效——若适用可向用户推荐。
输出结果:单个
prototype.html
文件(或PICO-8/Phaser等效文件),用户可在任意浏览器中打开。
分发——HTML路径的最大优势:与Engine(引擎)原型不同,该版本可在数分钟内触达全球真实玩家。积极利用以下渠道:
  • itch.io — 上传文件,分享链接,数小时内即可获得游玩次数和书面反馈。完全免费。独立游戏社区会在此体验未打磨的早期版本,且不追求完美。这是零成本获取真实外部验证的渠道。
  • Loom + 文件共享 — 通过Google Drive/Dropbox分享文件,邀请他人使用Loom录制屏幕+音频进行游玩。你无需同步排期,即可获得真实第一反应和困惑点的视频记录。
  • Reddit的r/playmygame或r/WebGames板块 — 活跃的社区专门测试早期版本,并提供自发的真实反馈。
  • 游戏开发Discord服务器(如GMTK、Brackeys、GameDev.tv)——成员会定期互相测试原型;HTML文件是最便捷的测试载体。

Path: Engine (engine project)

路径:Engine(引擎项目)

Best for: Action games, platformers, physics-heavy games, anything where moment-to-moment feel IS the hypothesis. Use this when HTML latency would lie about the result.
Reliability: ~50–60% one-shot. Expect 2–4 rounds of iteration — this is normal, not a failure.
Limitation — requires engine installed and running. This path is a multi-turn collaborative loop:
  1. Agent writes the code
  2. User runs it in the engine
  3. User reports errors or observations
  4. Agent fixes and iterates
Sunk cost rule: If the user has been iterating for more than 2 hours without reaching a playable state, stop. The scope is too large or the question is wrong. Reframe the hypothesis and simplify aggressively, or switch to Paper path.
Output: A minimal runnable engine project in
prototypes/[name]-concept/
.
Lighter alternative — Love2D (Lua): If the project engine (Godot, Unity, Unreal) feels too heavy to stand up for a throwaway build, consider Love2D — a minimal 2D framework that installs in minutes, requires no project scaffolding, and renders natively with no browser latency. Used by many indie devs for rapid 2D action and platformer prototypes (Balatro prototyped in Love2D; Nuclear Throne's early builds used it). It sits between HTML overhead and full engine overhead: heavier than opening a browser, lighter than setting up a full engine project. Best for 2D action/platformer feel validation when the project engine is 3D-first or takes significant time to configure.

最适合:动作游戏、平台游戏、物理驱动类游戏,以及任何以即时手感为验证核心的游戏类型。当HTML延迟会导致结果失真时,使用此路径。
可靠性:约50–60%一次性成功。预计需要2–4轮迭代——这是正常情况,并非失败。
局限性——需要已安装并运行的引擎:该路径是多轮协作循环:
  1. Agent编写代码
  2. 用户在引擎中运行
  3. 用户报告错误或观察结果
  4. Agent修复并迭代
沉没成本规则:若用户迭代超过2小时仍未达到可玩状态,停止操作。说明范围过大或问题定义错误。重新梳理假设并大幅简化,或切换至Paper(纸面)路径。
输出结果
prototypes/[name]-concept/
目录下的最小可运行引擎项目。
轻量替代方案——Love2D(Lua):若项目引擎(如Godot、Unity、Unreal)对于一次性原型来说过于沉重,可考虑Love2D——一个轻量2D框架,数分钟即可安装完成,无需项目脚手架,原生渲染无浏览器延迟。许多独立开发者使用它快速制作2D动作和平台游戏原型(《Balatro》原型基于Love2D;《Nuclear Throne》早期版本也使用了该框架)。它介于HTML和完整引擎之间:比打开浏览器稍重,但比搭建完整引擎项目更轻。当项目引擎以3D为主或配置耗时较长时,最适合用于2D动作/平台游戏的手感验证。

Path: Paper (rules document + play log)

路径:Paper(规则文档+游玩日志)

Best for: Strategy games, card games, board game-style mechanics, economy systems, progression loops, any game where the logic can be simulated by hand. Works for any genre when you need to validate rules, not feel.
Reliability: 100%. No code, no engine, no install.
Limitation — cannot validate moment-to-moment feel. Paper prototypes prove that the rules are internally consistent and the decisions are interesting. They cannot tell you whether jumping feels right or whether explosions feel satisfying.
Paper playtest observation protocol (run this with 5+ people):
  1. Brief the rules once. Hand them the rule summary sheet. Then step back.
  2. Do NOT explain further. Do NOT help. Do NOT clarify. Confusion is data.
  3. Watch silently. Note every moment they slow down, re-read, or ask a question.
  4. After the session, ask one question only: "What was confusing?" — not "Did you like it?"
  5. Use fresh testers for each iteration. The same person cannot give new first-impression data.
  6. If 3+ testers hit the same confusion point, that rule is broken — redesign it before re-testing.
Output: A printable rules document + a completed play log showing one simulated session.
Narrative tools for this path: For dialogue-heavy and story-driven games, skip the generic rules doc — use a dedicated narrative scripting tool instead:
  • Twine — zero-code hypertext fiction; ideal for branching structure experiments and choice-impact testing
  • Ink (Inkle) — plain-text scripting language used in 80 Days, Heaven's Vault, and Overboard; exports directly to Unity and Godot
  • Yarn Spinner — dialogue scripting used in A Short Hike, DREDGE, and Night in the Woods; integrates natively with Unity and Godot
All three let you write and playtest branching dialogue in minutes. Key metric for narrative prototypes: time to first emotional beat — how many exchanges before the player feels something? If it takes more than 3-4 exchanges, the opening is too slow.

Assess which path best fits the hypothesis, then use
AskUserQuestion
with your recommendation pre-stated:
  • Prompt: "Which prototype path would you like to use? (Based on your concept, I'd recommend [path] — [one sentence reason].)"
  • Options:
    • HTML — browser prototype
      — puzzle, card, turn-based, strategy, idle. Opens by double-clicking, no install. 85–90% reliable. Not suitable for action games — browser latency lies about feel.
    • Engine — native prototype
      — action, platformer, physics, or anything where feel IS the hypothesis. 50–60% one-shot; 2–4 iteration rounds are normal. Requires engine installed.
    • Paper — rules document + play log
      — strategy, economy, logic, board-game-style mechanics. 100% reliable. Cannot validate feel.

最适合:策略游戏、卡牌游戏、桌游式机制、经济系统、进度循环,以及任何可手动模拟逻辑的游戏类型。当你需要验证规则而非手感时,适用于所有游戏类型。
可靠性:100%。无需代码、引擎或安装。
局限性——无法验证即时手感:纸面原型只能证明规则内部一致,决策具有趣味性。无法判断跳跃手感是否到位,或爆炸效果是否令人满意。
纸面测试观察流程(需5人以上参与)
  1. 简要讲解规则一次。分发规则摘要表,然后退至一旁。
  2. 不再进一步解释、提供帮助或澄清。困惑本身就是数据。
  3. 全程静默观察。记录每一个测试者放慢速度、重读规则或提问的时刻。
  4. 测试结束后,仅问一个问题:“哪里感到困惑?”——而非“你喜欢它吗?”
  5. 每次迭代使用新的测试者。同一人无法提供新的第一印象数据。
  6. 若3名以上测试者在同一处感到困惑,说明该规则存在问题——重新设计后再进行测试。
输出结果:可打印的规则文档+一份完整的游玩日志,展示一次模拟测试流程。
该路径的叙事工具:对于对话密集型和故事驱动类游戏,跳过通用规则文档——使用专门的叙事脚本工具:
  • Twine — 零代码超文本小说工具;非常适合分支结构实验和选择影响测试
  • Ink(Inkle出品)——纯文本脚本语言,用于《80 Days》《Heaven's Vault》和《Overboard》;可直接导出至Unity和Godot
  • Yarn Spinner — 对话脚本工具,用于《A Short Hike》《DREDGE》和《Night in the Woods》;原生集成Unity和Godot
这三款工具均可让你在数分钟内编写并测试分支对话。叙事原型的关键指标:首次情感触发时间——玩家需要经过多少次互动才会产生情感共鸣?若超过3-4次互动仍未触发,说明开场节奏过慢。

评估哪种路径最符合假设,然后使用
AskUserQuestion
并预先给出你的推荐:
  • 提示:“你希望使用哪种原型路径?(根据你的创意,我推荐[路径]——[一句话理由]。)”
  • 选项
    • HTML — browser prototype
      — 解谜、卡牌、回合制、策略、放置类游戏。双击即可打开,无需安装。可靠性85–90%。不适用于动作游戏——浏览器延迟会误导手感。
    • Engine — native prototype
      — 动作、平台、物理驱动类,或任何以手感为验证核心的游戏类型。一次性成功率50–60%;2–4轮迭代属于正常情况。需要已安装引擎。
    • Paper — rules document + play log
      — 策略、经济、逻辑、桌游式机制。可靠性100%。无法验证手感。

Phase 4: Plan the Prototype

阶段4:规划原型

Define in 3–5 bullet points the minimum viable prototype:
  • What is the falsifiable hypothesis?
  • What is the riskiest assumption — and how does this prototype test it first?
  • What is the absolute minimum needed to answer the question?
  • What is explicitly cut? (menus, save systems, error handling, polish, architecture — all of it)
Scope constraint: A concept prototype tests ONE mechanic — not the whole game. If scope covers more than one mechanic, cut it down. When in doubt, cut more.
Present this plan to the user before building. Get confirmation before proceeding.
Once confirmed, write a session checkpoint to
production/session-state/active.md
(create
production/session-state/
if it does not exist). Include: concept name, hypothesis, path chosen, scope bullet points, and current phase ("Phase 5 — Implement"). This lets the next session resume without starting over if the session ends mid-build — especially important for multi-day Engine path work.

用3–5个要点定义最小可行原型:
  • 可证伪假设是什么?
  • 风险最高的假设是什么——本次原型将如何优先测试它?
  • 回答问题所需的绝对最小内容是什么?
  • 明确砍掉哪些内容?(菜单、存档系统、错误处理、打磨、架构——全部砍掉)
范围约束:概念原型仅测试一个机制——而非整个游戏。若范围涵盖多个机制,需进行缩减。拿不准时,就多砍掉一些内容。
在开始制作前,向用户展示该计划并获得确认。
确认后,向
production/session-state/active.md
写入会话检查点(若
production/session-state/
目录不存在则创建)。内容包括:创意名称、假设、所选路径、范围要点、当前阶段(“阶段5——实现”)。这样如果会话在制作中途结束,下次会话可直接恢复,无需从头开始——对于多日的Engine(引擎)路径工作尤为重要。

Phase 5: Implement

阶段5:实现

Ask: "May I create the prototype directory at
prototypes/[concept-name]-concept/
and begin implementation?"
If yes, create the directory. Every file must begin with:
// PROTOTYPE - NOT FOR PRODUCTION
// Question: [Core question being tested]
// Date: [Current date]
Standards are intentionally relaxed:
  • Hardcode values freely
  • Use placeholder assets (colored rectangles, debug shapes)
  • Skip error handling entirely
  • Use the simplest approach that works
  • Copy code rather than importing from production
  • No architecture, no patterns, no abstractions
Do not add polish. No menus, no game over screens, no music, no tutorial text unless the tutorial IS the mechanic being tested. Every addition beyond the hypothesis is waste.
Playtesting tip: If you have access to anyone who hasn't seen the game — friends, family, strangers online — watching them play without explanation gives far better signal than testing it yourself. Watch silently; don't guide them. Confusion is data. Ask one question after: "What was confusing?" Not "Did you like it?"
No external testers available? Use rotation: if you built system A, you're a naive tester for system B. In a two-person team this works well. Solo developer? Step away for 2-3 days before playing fresh — you won't have perfect first-impression signal, but you'll surface the worst blockers. Another option: play your own prototype as a speedrun (force yourself through it in 5 minutes without stopping to fix things) — the friction you feel is what strangers will hit.
Want more granular UX data? Ask the tester to think aloud as they play — narrate their thoughts in real time: "I'm pressing space... nothing happened... is that the jump key?" This surfaces confusion the moment it happens rather than waiting for a post-play debrief. Best for UI/UX and onboarding clarity. Silent observation is still better for testing raw feel; think-aloud changes how people play slightly but gives much richer data about why they're confused.
HTML prototype? itch.io, Reddit (r/playmygame), and Discord (GMTK, Brackeys) let you reach strangers today at zero cost — see the distribution options in the HTML path section above.
Testing AI, NPC, or complex system behavior before writing the code? Use the Wizard of Oz technique: one person plays normally while a second person secretly controls the NPC, enemy, or system behavior in real time — making the decisions a human would make, not an algorithm. The player believes it's automated. This lets you validate whether your AI design feels right before writing a single line of pathfinding or decision tree code. When you observe what responses the human controller naturally produces, you learn exactly what the AI needs to do.
提问:“我可以在
prototypes/[concept-name]-concept/
创建原型目录并开始实现吗?”
若同意,创建目录。所有文件开头必须包含:
// PROTOTYPE - NOT FOR PRODUCTION
// Question: [正在测试的核心问题]
// Date: [当前日期]
标准有意放宽:
  • 可自由硬编码值
  • 使用占位资源(彩色矩形、调试形状)
  • 完全跳过错误处理
  • 使用最简单可行的方法
  • 复制代码而非从生产环境导入
  • 无需架构、模式或抽象
不要添加打磨内容。除非教程本身就是测试的机制,否则不要添加菜单、游戏结束界面、音乐或教程文本。任何超出假设范围的添加都是浪费。
测试技巧:如果你能接触到未见过该游戏的人——朋友、家人、陌生人——观察他们在无解释情况下的游玩过程,比自己测试能获得更有效的反馈。全程静默观察;不要指导他们。困惑本身就是数据。测试结束后仅问一个问题:“哪里感到困惑?”而非“你喜欢它吗?”
**没有外部测试者可用?**采用轮换方式:如果你开发了系统A,你可以作为系统B的新手测试者。两人团队中这种方法效果很好。独立开发者?离开2-3天后再回来测试——你无法获得完美的第一印象反馈,但能发现最严重的障碍。另一种选择:将自己的原型当作速通游戏(强制在5分钟内完成,中途不停止修复问题)——你感受到的摩擦就是陌生人会遇到的问题。
想要更细致的UX数据?请测试者在游玩时出声思考——实时叙述他们的想法:“我按了空格键……没反应……这是跳跃键吗?”这能在困惑产生的瞬间就发现问题,而非等到测试后的汇报环节。最适合UI/UX和新手引导清晰度测试。静默观察仍然更适合测试原始手感;出声思考会略微改变人们的游玩方式,但能提供更丰富的困惑原因数据。
**HTML原型?**itch.io、Reddit的r/playmygame板块、Discord服务器(如GMTK、Brackeys)可让你零成本接触到陌生人——详见HTML路径章节中的分发选项。
在编写代码前测试AI、NPC或复杂系统行为?使用绿野仙踪技巧:一人正常游玩,另一人秘密实时控制NPC、敌人或系统行为——做出人类会做出的决策,而非算法。玩家会以为是自动化的。这能让你在编写任何寻路或决策树代码前,先验证AI设计的手感是否到位。当你观察到人类控制器自然做出的反应时,就能准确了解AI需要实现的功能。

Engine path: multi-turn loop

Engine路径:多轮循环

After writing the initial code:
"The prototype files are written. Run the project in your engine now. If there are errors, paste them here and I'll fix them. If it runs, describe what you see and whether it feels like it's answering the question."
Iterate until the prototype is playable. Each loop:
  1. User runs → reports errors or observations
  2. Agent fixes errors or adjusts the mechanic
  3. Repeat until playable or sunk cost rule triggers
编写初始代码后:
“原型文件已编写完成。现在在你的引擎中运行项目。 若有错误,请将错误信息粘贴到此处,我会修复。若能运行,请描述你看到的内容,以及它是否能回答预设问题。”
迭代直至原型可玩。每轮循环:
  1. 用户运行→报告错误或观察结果
  2. Agent修复错误或调整机制
  3. 重复直至可玩或触发沉没成本规则

HTML path: single output

HTML路径:单次输出

Write a single
prototype.html
to
prototypes/[concept-name]-concept/
. Include all styles, logic, and assets inline. The file must be openable by double-clicking with no server required.
prototypes/[concept-name]-concept/
目录下编写单个
prototype.html
文件。将所有样式、逻辑和资源内联其中。该文件必须可通过双击直接打开,无需服务器。

Paper path: document + log

Paper路径:文档+日志

Write
prototypes/[concept-name]-concept/rules.md
(the game rules) and
prototypes/[concept-name]-concept/play-log.md
(a simulated session walking through one complete play cycle step by step with dice rolls, decisions, and outcomes narrated).

编写
prototypes/[concept-name]-concept/rules.md
(游戏规则)和
prototypes/[concept-name]-concept/play-log.md
(模拟测试会话日志,逐步展示完整游玩流程,包含掷骰子、决策和结果叙述)。

Phase 6: Playtest Debrief

阶段6:测试汇报

The prototype is built. Now hand it to the user and capture what they actually experienced. Do NOT skip to report generation — the report is only as good as the observations you collect here.
For HTML path: Say exactly this:
"The prototype is ready. Open
prototypes/[name]-concept/prototype.html
in your browser and play it. Take as long as you need. Don't rush through it — try to approach it the way a new player would. Come back here when you're done."
For Engine path: The multi-turn iteration loop already captured errors and behavior. Now ask for the overall assessment:
"Now that it's running — play through it a few times as if you're the player, not the developer. Come back when you have a feel for it."
For Paper path: Say exactly this:
"Read through
prototypes/[name]-concept/rules.md
and walk through the
play-log.md
as if you're playing it for the first time. If you have someone nearby, try running the rules with them. Come back when you've seen at least one full play cycle."
Once the user returns, ask these questions one at a time — wait for each answer before asking the next:
  1. Hypothesis check:
    "The hypothesis was: [restate the hypothesis from Phase 1]. Did it hold up — CONFIRMED, PARTIALLY CONFIRMED, or REFUTED? Tell me what you saw."
  2. Best moment:
    "What was the moment — if any — where it felt like it was working? Be specific."
  3. Worst moment:
    "What was the most frustrating, confusing, or broken moment? Be specific — not 'it felt slow' but 'the jump took about half a second to respond and it felt like I was fighting the controls'."
  4. Surprise:
    "Did anything happen that you didn't expect — good or bad?"
  5. Verdict:
    "PROCEED, PIVOT, or KILL — and one sentence why."
Collect all answers before moving to report generation. If any answer is vague ("it felt fine", "pretty good"), ask a follow-up: "Can you be more specific? What exactly felt fine about it?" Precise observations make the report useful. Vague ones make it useless.

原型已制作完成。现在将其交给用户,记录他们的实际体验。不要直接跳至报告生成——报告的质量取决于你在此收集的观察结果。
对于HTML路径:准确说出以下内容:
“原型已准备就绪。在浏览器中打开
prototypes/[name]-concept/prototype.html
并游玩。无需赶时间——尝试以新玩家的心态体验。完成后回到此处。”
对于Engine路径:多轮迭代循环已记录错误和行为。现在询问整体评估:
“现在项目已可运行——以玩家而非开发者的身份多次游玩。体验后回到此处。”
对于Paper路径:准确说出以下内容:
“阅读
prototypes/[name]-concept/rules.md
,并以首次游玩的心态浏览
play-log.md
。若身边有人,尝试与他们一起按照规则测试。至少看完一次完整游玩流程后回到此处。”
用户返回后,逐个提问以下问题——等待每个问题的回答后再提问下一个:
  1. 假设验证
    “假设为:[重述阶段1的假设]。该假设是否成立——CONFIRMED(确认)、PARTIALLY CONFIRMED(部分确认)或REFUTED(推翻)?请描述你观察到的内容。”
  2. 最佳时刻
    “若有,哪个时刻让你觉得它运作良好?请具体说明。”
  3. 最差时刻
    “最令人沮丧、困惑或崩溃的时刻是什么?请具体说明——不要说‘感觉很慢’,而是‘跳跃响应延迟约半秒,感觉像是在和控件对抗’。”
  4. 意外发现
    “有没有发生你意想不到的事情——无论是好是坏?”
  5. 判定结果
    “PROCEED(推进)、PIVOT(调整)或KILL(终止)——并给出一句话理由。”
收集所有答案后再进入报告生成环节。若任何答案模糊不清(如“感觉还行”“挺好的”),追问:“能否更具体说明?到底哪些地方感觉还行?”精准的观察结果才能让报告有用,模糊的描述毫无价值。

Phase 7: Generate Prototype Report

阶段7:生成原型报告

Read
.claude/docs/templates/prototype-report.md
to get the report structure. Fill in every section based on what was observed during this session. Replace all placeholder text with real observations — no generic filler.
Ask: "May I write this report to
prototypes/[concept-name]-concept/REPORT.md
?"
If yes, write the file. Then update
prototypes/index.md
(create if it does not exist) — append one row to the concept prototype table: concept name, date, path used, verdict (PROCEED/PIVOT/KILL), and a link to the REPORT.md. If a PIVOT chain exists (prior PIVOT-NOTE.md in a related concept folder), note the chain. This file is the project's complete history of what was tried and what was learned.

读取
.claude/docs/templates/prototype-report.md
文件获取报告结构。根据本次会话的观察结果填写每个部分。将所有占位文本替换为真实观察结果——不要使用通用填充内容。
提问:“我可以将此报告写入
prototypes/[concept-name]-concept/REPORT.md
吗?”
若同意,写入文件。然后更新
prototypes/index.md
(若不存在则创建)——在概念原型表格中追加一行:创意名称、日期、使用路径、判定结果(PROCEED/PIVOT/KILL)、REPORT.md的链接。若存在PIVOT链(相关创意文件夹中有之前的PIVOT-NOTE.md),请注明该链。该文件记录了项目所有尝试和学习的完整历史。

Phase 8: Creative Director Review

阶段8:创意总监评审

Review mode check:
  • solo
    → skip. Note: "CD-PLAYTEST skipped — Solo mode."
  • lean
    → skip. Note: "CD-PLAYTEST skipped — Lean mode."
  • full
    → spawn
    creative-director
    via Task using gate CD-PLAYTEST if
    design/gdd/game-concept.md
    exists with game pillars defined. If pillars are not yet defined, note: "CD-PLAYTEST skipped — game pillars not yet defined at concept prototype stage."
Pass: the full REPORT.md content, the original hypothesis, and game pillars / core fantasy from
design/gdd/game-concept.md
.
The creative director evaluates the result against the game's creative vision and confirms, modifies, or overrides the recommendation. Their verdict is final. Update REPORT.md if the verdict differs.

评审模式检查
  • solo
    → 跳过。备注:“CD-PLAYTEST已跳过——单人模式。”
  • lean
    → 跳过。备注:“CD-PLAYTEST已跳过——精简模式。”
  • full
    → 若
    design/gdd/game-concept.md
    文件存在且已定义游戏支柱,则通过Task生成
    creative-director
    并触发CD-PLAYTEST关卡。若尚未定义游戏支柱,备注:“CD-PLAYTEST已跳过——概念原型阶段尚未定义游戏支柱。”
传递内容:完整的REPORT.md内容、原始假设,以及
design/gdd/game-concept.md
中的游戏支柱/核心体验。
创意总监将根据游戏的创意愿景评估结果,确认、修改或推翻之前的建议。其判定结果为最终结果。若判定结果不同,更新REPORT.md。

Phase 9: Summary and Next Steps

阶段9:总结与下一步

Output a summary: the hypothesis, the result, and the final recommendation. Link to
prototypes/[concept-name]-concept/REPORT.md
.
If PROCEED: Your concept prototype validated the core idea. Now design it properly, informed by what you just learned.
Recommended path (in order):
  1. /design-review design/gdd/game-concept.md
    — validate the concept doc against what the prototype revealed
  2. /gate-check
    — confirm readiness to advance to Systems Design
  3. /art-bible
    — define visual identity (optional but worth doing before GDDs)
  4. /map-systems
    — decompose the concept into all game systems
  5. /design-system [mechanic]
    — GDD for each MVP system; use prototype learnings in the Tuning Knobs and Formulas sections
  6. /review-all-gdds
    — cross-system consistency check
Note: If you used the HTML path and feel is still uncertain, consider running a quick engine path prototype targeting feel before writing GDDs.
If PIVOT:
Before routing to the next prototype, capture the carry-forward note. Ask these two questions (plain text, one at a time):
  1. "What specifically worked in this prototype that we should preserve in the next version?"
  2. "What is the single most important thing to change?"
Ask: "May I write this to
prototypes/[concept-name]-concept/PIVOT-NOTE.md
?"
If yes, write the file with: original hypothesis, what to keep, what to change, and the revised hypothesis for the next prototype. When
/prototype
is next run, check
prototypes/
for any
PIVOT-NOTE.md
files — if found, read them and use the revised hypothesis as the starting point rather than forming one from scratch.
  • Run
    /prototype [revised-concept]
    to test the adjusted direction
  • Or
    /brainstorm [hint]
    if the concept needs more fundamental rethinking
If KILL:
Before moving on, run this check to confirm the verdict is sound and not temporary frustration:
  • Core mechanic still unclear to testers after 2+ playtests?
  • No "fun moment" (smile, laugh, or retry by choice) observed in any session?
  • 3+ PIVOT iterations on the same concept with no clear improvement?
  • Concept only works when heavily explained or when the dev guides the player?
  • Building this feels like obligation, not excitement?
If 2+ boxes apply → KILL verdict is sound. If 0–1 apply → consider one more focused PIVOT before killing.
Document the kill in
prototypes/GRAVEYARD.md
(create if it doesn't exist). Ask: "May I append this concept to
prototypes/GRAVEYARD.md
?" If yes, add one entry:
undefined
输出总结内容:假设、结果、最终建议。链接至
prototypes/[concept-name]-concept/REPORT.md
若判定为PROCEED(推进): 你的概念原型已验证核心创意可行。现在可以结合刚刚学到的内容进行正式设计。
推荐路径(按顺序):
  1. /design-review design/gdd/game-concept.md
    — 根据原型验证结果确认创意文档的合理性
  2. /gate-check
    — 确认是否准备好进入系统设计阶段
  3. /art-bible
    — 定义视觉风格(可选,但建议在编写GDDs前完成)
  4. /map-systems
    — 将创意拆解为所有游戏系统
  5. /design-system [mechanic]
    — 为每个MVP系统编写GDD;在“调节旋钮与公式”部分运用原型学习成果
  6. /review-all-gdds
    — 跨系统一致性检查
注意:若你使用了HTML路径且手感仍不确定,可考虑在编写GDDs前快速制作一个针对手感的引擎路径原型。
若判定为PIVOT(调整): 在进入下一个原型制作前,记录需保留的内容。逐个提问以下两个问题(纯文本形式):
  1. “本次原型中哪些内容确实有效,需要保留到下一个版本中?”
  2. “最需要修改的核心内容是什么?”
提问:“我可以将这些内容写入
prototypes/[concept-name]-concept/PIVOT-NOTE.md
吗?”
若同意,写入文件,内容包括:原始假设、需保留内容、需修改内容、下一个原型的修订假设。下次运行
/prototype
时,检查
prototypes/
目录下是否有
PIVOT-NOTE.md
文件——若找到,读取该文件并以修订后的假设为起点,而非从头构建新假设。
  • 运行
    /prototype [revised-concept]
    测试调整后的方向
  • 若创意需要更根本性的重新思考,运行
    /brainstorm [hint]
若判定为KILL(终止): 在进入下一步前,进行以下检查以确认判定结果合理,而非一时沮丧:
  • 经过2次以上测试后,核心机制仍未被测试者理解?
  • 任何测试会话中均未出现“有趣时刻”(微笑、大笑或主动重试)?
  • 同一创意经过3次以上PIVOT迭代仍无明显改善?
  • 只有在大量解释或开发者引导下,创意才能运作?
  • 制作该创意感觉是义务而非兴奋?
若勾选2项以上→KILL判定结果合理。若勾选0–1项→考虑再进行一次聚焦的PIVOT调整后再终止。
prototypes/GRAVEYARD.md
中记录终止信息
(若不存在则创建)。提问:“我可以将此创意追加到
prototypes/GRAVEYARD.md
吗?”若同意,添加一条记录:
undefined

[Concept Name] — YYYY-MM-DD

[创意名称] — YYYY-MM-DD

  • Kill reason: [specific blocker — not "it was boring" but "players never understood the core action"]
  • What worked: [2-3 things worth carrying forward to future concepts]
  • What failed: [the specific mechanic, design decision, or scope issue]
  • Next time: [one explicit action to try differently on a similar concept]

This file exists so the same mistake doesn't get made twice on the next concept.

- Run `/brainstorm open` or `/brainstorm [new-hint]` to explore a different concept
- The prototype report is the deliverable — no further action needed

---

---
  • 终止原因:[具体障碍——不要说“无聊”,而是“玩家始终无法理解核心操作”]
  • 有效内容:[2-3个值得延续到未来创意的点]
  • 失败点:[具体机制、设计决策或范围问题]
  • 未来改进:[针对类似创意的明确改进措施]

该文件的作用是避免在未来的创意中重复犯相同的错误。

- 运行`/brainstorm open`或`/brainstorm [new-hint]`探索新创意
- 原型报告即为交付成果——无需进一步操作

---

---

Spike Mode

突击模式

Triggered by:
--spike
flag OR "Mid-production spike" entry choice in Phase 1.
Purpose: Test a specific technical or design question mid-production, without the overhead of a full concept prototype workflow. No GDD prerequisites. No phase gate implications. Hard cap: ~4 hours.
When to use:
  • You're in Production and want to test whether a new mechanic should be added
  • You're unsure if a technical approach will work before building it properly
  • A design change is being considered and you want a quick before/after comparison
  • A GDD system is proving harder than expected and you want to prototype the hard part
  • You need to confirm target hardware can sustain the required framerate before writing gameplay code (performance spike — see below)
Spike Mode workflow (replaces Phases 1–9):
  1. Define the spike question (plain text, not a widget): "What specific question does this spike answer? Give me one sentence: 'Can we [do X] using [approach Y]?'"
  2. Choose path — same AskUserQuestion widget as Phase 3 (HTML / Engine / Paper).
  3. Scope — maximum 2-3 bullet points. One mechanic, one technical question, nothing else.
  4. Build — same relaxed standards as concept prototype. Hard cap: 4 hours. If not demonstrable in 4 hours, the question is too large. Split it.
  5. Observe and decide — no formal playtest debrief. Ask: "Did the spike answer the question? YES or NO, and why in one sentence."
  6. Write a spike note (not a full report) to
    prototypes/[concept-name]-spike-[date]/SPIKE-NOTE.md
    :
    • Question tested
    • Result (YES it works / NO it doesn't / PARTIAL — needs more investigation)
    • What to do next (add to current sprint / investigate further / abandon the idea)
  7. Update
    production/session-state/active.md
    to clear the spike and return to the current sprint state.
No CD gate. No phase gate. No PROCEED/PIVOT/KILL. Spike results inform decisions; they don't make them. The developer decides whether to add the mechanic/approach to the sprint backlog based on what the spike revealed.
Performance spike (special case): If the game involves demanding rendering — large open worlds, hundreds of simultaneous physics bodies, heavy particle systems, complex shaders — run a performance spike before writing gameplay code to confirm the target hardware can sustain the required framerate. This is distinct from other spikes in two ways:
  • The question is "can the engine render [scene X] at 60fps on [minimum spec hardware]?" not "does this mechanic feel good?"
  • The output is a benchmark number, not a feel verdict
  • No gameplay logic is needed — just the maximum intended scene load (terrain, draw calls, physics objects, particles) running at once
  • Build time stays within the ~4-hour cap; the spike is setting up the rendering load, not the game
  • If the answer is NO at this scope, this is an architecture or scope constraint that affects everything downstream — better to surface it now than during Sprint 8

触发条件:传入
--spike
参数 或 在阶段1中选择“Mid-production spike”选项。
目的:在制作中期测试特定技术或设计问题,无需完整概念原型流程的开销。无需GDD前置要求,不影响阶段关卡进度。硬时间限制:约4小时。
适用场景
  • 你处于制作阶段,想要测试是否添加新机制
  • 你不确定某种技术方案是否可行,不想直接投入正式制作
  • 正在考虑设计变更,想要快速对比变更前后的效果
  • 某个GDD系统证明比预期更难,想要先测试其中的难点部分
  • 在编写游戏代码前,需要确认目标硬件能否维持所需帧率(性能突击测试——详见下文)
突击模式流程(替代阶段1–9)
  1. 定义突击测试问题(纯文本,不使用小部件):“本次突击测试要回答什么具体问题?请用一句话说明:‘我们能否用[方案Y]实现[功能X]?’”
  2. 选择路径——使用与阶段3相同的AskUserQuestion小部件(HTML / Engine / Paper)。
  3. 范围——最多2-3个要点。仅测试一个机制或一个技术问题,无其他内容。
  4. 制作——采用与概念原型相同的宽松标准。硬时间限制:4小时。若4小时内无法演示,说明问题范围过大,需拆分。
  5. 观察与决策——无需正式测试汇报。提问:“突击测试是否回答了问题?YES或NO,并给出一句话理由。”
  6. 写入突击测试记录(非完整报告)至
    prototypes/[concept-name]-spike-[date]/SPIKE-NOTE.md
    • 测试的问题
    • 结果(YES可行 / NO不可行 / PARTIAL——需进一步研究)
    • 下一步行动(添加至当前迭代 / 进一步研究 / 放弃该想法)
  7. 更新
    production/session-state/active.md
    ——清除突击测试状态,恢复至当前迭代状态。
无需创意总监关卡、阶段关卡,也无需PROCEED/PIVOT/KILL判定。突击测试结果为决策提供参考,但不直接做出决策。开发者需根据突击测试结果决定是否将该机制/方案添加至迭代待办列表。
性能突击测试(特殊情况):若游戏涉及高负载渲染——大型开放世界、数百个同时运行的物理实体、大量粒子系统、复杂着色器——在编写游戏代码前进行性能突击测试,确认目标硬件能否维持所需帧率。与其他突击测试相比,它有两点不同:
  • 问题是“引擎能否在[最低配置硬件]上以60fps渲染[场景X]?”而非“该机制手感是否良好?”
  • 输出结果是基准数值,而非手感判定
  • 无需游戏逻辑——只需运行最大预期场景负载(地形、绘制调用、物理对象、粒子)
  • 制作时间需控制在约4小时内;突击测试的重点是搭建渲染负载,而非游戏内容
  • 若该范围下答案为NO,说明这是一个影响后续所有环节的架构或范围约束——现在发现比在第8次迭代时发现更好

Important Constraints

重要约束

  • Prototype code must NEVER import from production source files
  • Production code must NEVER import from prototype directories
  • If the recommendation is PROCEED, production implementation is written from scratch — prototype code is never refactored into production
  • Total effort is hard-capped at 1 day (concept prototypes test one mechanic)
  • Test ONE mechanic — if scope grows, stop and simplify the question
  • No polish. No menus, no game over, no music, no UI unless it IS the mechanic
  • If stuck after 2 hours of engine iteration, reframe the question or switch paths
  • 3 PIVOT iterations → force a KILL decision. If this is the third time the same concept has produced a PIVOT verdict, the concept likely doesn't work. Ask: "Is this the right idea, or am I in the sunk cost trap?" A new concept prototyped fresh will almost always beat a fourth iteration of a struggling one.
  • Building 2-3 different concept variants and picking the best one is a healthier strategy than iterating one concept to death. Natural selection between prototypes beats willpower.
  • Networked/multiplayer games: A local prototype cannot validate the feel of a networked mechanic. Latency fundamentally changes how combat, movement, and prediction feel — a prototype running at 0ms local will feel entirely different at 80ms network delay. Use a local prototype to validate that the mechanic is interesting. Do not use it as evidence that it feels good under real network conditions. Network feel requires real peers or simulated latency (e.g., throttle tools, network condition simulators).
  • 原型代码绝不能从生产环境源文件导入
  • 生产代码绝不能从原型目录导入
  • 若判定为PROCEED(推进),生产环境实现需从零开始编写——原型代码绝不能重构为生产代码
  • 总工作量硬限制为1天(概念原型仅测试一个机制)
  • 仅测试一个机制——若范围扩大,停止操作并简化问题
  • 不要添加打磨内容。除非UI本身就是测试的机制,否则不要添加菜单、游戏结束界面、音乐或UI
  • 若引擎迭代2小时后仍卡住,重新梳理问题或切换路径
  • 3次PIVOT迭代→强制KILL决策。若同一创意第三次给出PIVOT判定,说明该创意可能不可行。提问:“这是正确的创意,还是我陷入了沉没成本陷阱?”全新制作的创意原型几乎总是比第四次迭代的挣扎创意更好。
  • 制作2-3个不同的创意变体并择优选择,比反复迭代单个创意直至失败更健康。原型之间的自然选择比意志力更有效。
  • 联网/多人游戏:本地原型无法验证联网机制的手感。延迟会从根本上改变战斗、移动和预测的手感——0ms本地延迟的原型与80ms网络延迟下的手感完全不同。使用本地原型验证机制是否有趣,但不要将其作为联网环境下手感良好的证据。联网手感测试需要真实玩家或模拟延迟工具(如节流工具、网络条件模拟器)。