机制设计模式
Mechanics Design Patterns
Adams & Dormans 把游戏机制结构中反复出现的模式称为设计模式,用 Machinations 图描述,组成一套以"内部经济结构→涌现玩法"为质量观的模式语言 (Pattern Language)。第 7 章介绍历史与用法,附录 B 按 GoF 格式详述 16 个模式:引擎 (Engines) 4 个、摩擦 (Friction) 4 个、升级 (Escalation) 3 个、杂项 5 个。模式之间存在细化 (Elaboration) 关系:所有引擎都是源的细化、所有摩擦都是泄的细化,可借细化/简化调整设计的复杂度与焦点。
从相似的图到模式(第 7 章 Introducing Design Patterns,印刷页约 p.147–151)
《大富翁》的反馈回路(去掉"经过起点"源与"付租"泄、逆时针转 90°)与单人版采集者游戏的图结构相同:一个源以某产率向池供给资源,池中资源可转换成另一种能提高该源产率的资源。《战国风云》也有同样的回路——不是谁抄了谁,而是这个模式适用于许多游戏。
简史:
| 来源 | 内容 |
|---|---|
| Christopher Alexander《A Pattern Language》 | 为捕捉建筑中客观的质量标准而识别模式;每个模式是常见设计问题的通用解,格式统一,与更大更小的模式相连,共 100 多个跨城市规划到单体建筑的模式。Alexander:"有一种核心品质,是人、城镇、建筑或荒野的生命与精神的根本标准。这种品质客观而精确,却无法命名。" |
| Gamma、Helm、Johnson、Vlissides("四人帮")《Design Patterns》 | 把模式引入软件,用面向对象原则替代 Alexander 的"无名品质",为程序员提供共同词汇;最初约 20 个模式,核心集合至今相对小(见 游戏编程模式选型:解耦与性能) |
| Doug Church "Formal Abstract Design Tools"(Gamasutra 1999) | "形式"=精确,"抽象"=超越单个游戏细节;举了三个工具:意图 (Intention)——玩家能针对局面与对玩法的理解制定可执行的自创计划;可感知的后果 (Perceivable Consequence)——世界对玩家动作反应清晰;故事 (Story)——设计师或玩家驱动的叙事线把事件串起来。1999–2002 年 Gamasutra 论坛讨论扩展,"设计工具"很快改称"设计词典 (Lexicon)",Kreimeier 统计"至少 25 个术语由几乎同样多的贡献者提交";项目终被放弃,但常被视为最早应对设计词汇缺失的尝试 |
| 在线词汇库 | The 400 Project(Hal Barwood 与 Noah Falstein,目标 400 条规则,已列 112 条,最后一条加于 2006 年);Game Ontology Project(分析导向的本体);Game Innovation Database(追溯设计创新的原始出处) |
| Kreimeier "The Case for Game Design Patterns"(2002) | 提出框架但未真正建成 |
| Björk & Holopainen《Game Design Patterns》(2005) | 数百个模式;定义为"关于玩法的、游戏设计中常见重复部分的半形式化相互依存描述"——作者认为它更像设计词汇:没有关于"游戏质量从何而来"的清晰理论,是宝贵的知识集合,却没告诉你如何用它造更好的游戏 |
设计模式 vs 设计词汇:两者都试图捕捉并客观化游戏的本质特征;模式旨在帮助人做出好作品(规定性),词汇力求中立、少规定(尤其在学术语境)。作者选择模式路线,因为对设计师更实用;代价是规定性可能更具约束(见下文"对形式化方法的两种批评")。作者主张:任何游戏模式工作都应从"什么让游戏客观上好"的清晰理论出发,识别常见问题并提供通用解。本书的质量观就是:内部经济的结构特征(如反馈回路)产生涌现玩法(见 复杂系统与涌现)。作者也坦言"好"常被视为主观判断,但游戏、电影、建筑的评论者都相信有些作品客观上更好。
模式描述格式(第 7 章 Pattern Descriptions,印刷页约 p.151–152)
沿用四人帮格式:名称(及别名)、意图 (Intent)、动机 (Motivation)、适用性 (Applicability)、结构 (Structure,Machinations 图)、参与者 (Participants)、协作 (Collaborations)、后果 (Consequences,含取舍与风险)、实现 (Implementation,含随机性的影响)、示例(至少两个已发行游戏)、相关模式。图中刻意避免精确数字:资源连接多标 n,状态连接多标 +/-,要运行须自行补全细节。
下文各模式的 Mermaid 图据附录 B 的"参与者/协作"文字绘制,是示意,不是原图的逐元素转写。
引擎类 (Engines):产生其他机制所需的资源
1. 静态引擎 (Static Engine)
- 意图:随时间稳定产生资源流(永不枯竭)供玩家消耗或收集。
- 适用:想限制玩家动作又不让设计复杂;迫使玩家思考如何花资源,而不太需要长期规划。
- 参与者:能量;产生能量的源;玩家可花能量的若干动作——只有一个花法的静态引擎几乎没用。
- 后果:产率不变,对平衡的影响非常可预测;只有当各玩家产率不同才会造成失衡;一般不激发长期策略。
- 实现:一个源即可,加多步生产通常无益。可用随机(产量或间隔)、技能或多人动态让它不可预测,迫使玩家为资源少的时期做准备、奖励能扛住坏运气的计划;若随机结果对所有玩家相同,则消除运气差而保留不可预测性。例:所有玩家秘密提出本轮大家能得多少资源,取最低值,提出最低者先行动——自动形成对局面的反馈并抑制通胀。
- 例:《星球大战:X-Wing Alliance》飞船能量每秒固定产出,可随时分配到护盾、速度、激光;回合制游戏的每回合行动数,如桌游《Descent: Journeys in the Dark》每回合两个行动,可移动、攻击或(每回合限一次)准备特殊行动,共 5 种组合。
- 相关:弱静态引擎可防止转换引擎死锁;可被动态引擎、转换引擎、慢循环细化。
2. 动态引擎 (Dynamic Engine)
- 意图:源产生可调节的资源流,玩家可投资资源改进流量;核心是正-建设性反馈回路。
- 适用:引入长期投资与短期收益的取舍;比静态引擎给玩家更多产率控制。
- 参与者:能量;源;影响产率的升级;产生升级的"投资"动作;其他花能量的动作。升级可以提高产出频率(稳定的流)或每次产出数量(低频则成爆发)。
- 后果:强正反馈多半需要负反馈模式(任何摩擦)或用升级挑战来平衡;小心不要形成优势策略(过于偏向长期策略,或长期策略成本过高)。典型玩法特征:先投资、看似进展很慢,过了某点后进展加快,要尽快推进。
- 实现:引入随机可降低形成长短期优势策略的机会,但正反馈会放大开局运气、很快变得过于随机;随机结果对所有玩家相同可降低运气成分;有的允许把升级以较低汇率换回能量。
- 例:《星际争霸》SCV 采矿造 SCV(但矿有限、SCV 可被杀),立即提供长期选项(多造 SCV)与短期选项(造兵快攻或应对威胁);《卡坦岛》受骰子影响的动态引擎,多建村庄提高每回合收资源的机会,升级为城市使每格产出翻倍——它通过多种投资动作、并以升级(而非能量)计算胜负绕开了动态引擎的典型特征(见第 11 章,进程机制)。
- 相关:动态摩擦与消耗战可抵消其长期收益,静态摩擦则强调长期投资;细化静态引擎;被引擎构建、工人放置细化。
flowchart LR
Src[/"源 产率 n"/] --> E(("能量"))
E --> Act[\"其他动作"/]
E --> Inv>"[点击] 投资"]
Inv --> Up(("升级"))
Up -.->|"+ 产率"| Src3. 转换引擎 (Converter Engine)
- 意图:两个转换器连成回路,产生可用于别处的资源盈余;至少一个转换器产出多于投入。比多数引擎复杂,也提供更多改进机会,所以几乎总是动态的。
- 适用:要比静态/动态引擎更复杂、产出更多的机制(示例结构含两个交互元素,动态引擎只有一个)——反馈强度与所需投入更难评估,游戏更难;需要多种选项来调节驱动引擎的反馈剖面。
- 参与者:能量与燃料两种资源;燃料→能量、能量→燃料两个转换器;消耗能量的动作。
- 后果:死锁风险——两种资源都耗尽则引擎停转,玩家忘了投资能量换燃料就会自陷死锁;配一个弱静态引擎可防止。手动操作时玩家工作量大。正反馈多需摩擦平衡。
- 实现:回路步骤越多越难高效运转、但可调节空间越多;步骤太少不如换成动态引擎,太多则繁琐(桌游尤甚,无法自动化)。加入随机、多人动态或技能使之不可预测,常增加死锁几率。常在回路中放限流器(每回合可转换的燃料有上限,图中用门实现)——如汽车:发动机把燃料变成能量驱动油泵、油泵耗能送更多燃料,这个正反馈由油门限制。
- 例:1980 年代的《精英 (Elite)》:每个星球有自己的市场,偶尔发现 A 星买入→B 星卖出获利→带回 A 星紧俏货的贸易路线(有时三个以上星球),受货舱容量(可付费扩大)、超空间航程、穿越敌对区域的能力或成本限制;利润会因玩家行为压低需求与价格而下降。《电力公司》:用钱从市场买燃料、在电厂把燃料直接变成钱(机制并不模拟电力),盈余投资更高效的电厂和接入更多城市;只能按接入的城市数赚钱,封顶了每回合产出;弱静态引擎防死锁(即使没发电也能拿到少量钱);玩家囤积燃料推高价格,带来不可预测性,同时也是停止机制。
- 相关:适合与引擎构建结合(两个转换率与限流器都可调);用摩擦平衡;细化静态引擎;被引擎构建、工人放置细化。
flowchart LR
Fuel(("燃料")) --> C1>"[点击] 燃料→能量 产出 > 投入"]
C1 --> E(("能量"))
E --> C2>"[点击] 能量→燃料"]
C2 --> Lim{"限流门"}
Lim --> Fuel
E --> Act[\"其他动作"/]
SE[/"弱静态引擎 防死锁"/] --> E4. 引擎构建 (Engine Building)
- 意图:相当部分玩法用于建造和调校一个产生稳定资源流的引擎。动态引擎、转换引擎或其组合构成复杂动态的核心;至少一个(最好多个、可多步的)改进机制;评估引擎状态不应是轻而易举的。
- 适用:强调建造与构建;强调长期策略与规划。
- 协作:建造机制提高引擎产出;若激活建造机制需要能量,则形成正-建设性反馈。
- 后果:提高难度,适合节奏较慢、需要规划的游戏。
- 实现:引入不可预测性以提高难度、制造多样玩法、避免优势策略(核心引擎机制多,本身复杂也带来不可预测);正反馈不要太强太快,把引擎构建过程摊开到整局;建造不消耗能量时引擎构建没有反馈——当引擎产生多种不同效果的能量、玩家可走偏重不同能量的策略时可行,但通常要以某种方式限制建造的激活。动态引擎是引擎构建最简单常见的实现,但只允许一两种升级,典型核心引擎有多得多的升级选项。
- 例:《模拟城市》——能量是钱,用于整地、分区、基础设施、特殊建筑、拆除;核心引擎有人口、职位空缺、电力、交通容量、三种分区等内部资源,引擎内的反馈回路制造各种摩擦、平衡主正反馈,管理不善时引擎会崩溃。《波多黎各》:每位玩家建殖民地,资源可再投资或换胜利点;核心含种植园、建筑、殖民者、钱与多种作物;玩家争夺有限的"角色"位置以执行不同的改进动作,形成强多人动态。
- 相关:对建造机制施加多重反馈可提高难度;所有摩擦都适合平衡;细化动态引擎与转换引擎;被工人放置细化。
摩擦类 (Friction):从经济中抽走资源或降低生产力,表示损耗或低效
5. 静态摩擦 (Static Friction)
- 意图:泄自动消耗玩家生产的资源,速率恒定或随机。
- 适用:想要一个抵消生产、但玩家最终能克服的机制;想夸大投资动态引擎升级的长期收益。
- 后果:抵消引擎正反馈的简单办法;但它减少动态引擎的初始产出而不影响升级,因而强调长期策略。
- 实现:恒定速率最易懂可预测,随机速率给动态行为带来更多噪声(可替代在生产端加随机);频率也重要——短间隔施加时系统更稳定,长或不规则间隔可能引起周期行为;一般而言持续的损耗比同量的周期性损耗影响小。
- 例:《凯撒大帝 III》在每关固定时刻向皇帝进贡,不受表现影响——极低频、极高额的静态摩擦,给经济带来巨震(第 9 章,经济建造游戏设计);《大富翁》的机会卡偶尔让玩家失钱(少数卡考虑地产,多数不考虑)。付租金不是静态摩擦而是消耗战:速率随时间变化,玩家对它有间接影响(自己好时对手往往不好)。
- 相关:适合与静态引擎、转换引擎、引擎构建结合;被动态摩擦、慢循环细化。
6. 动态摩擦 (Dynamic Friction)
- 意图:泄自动消耗资源,速率受其他元素状态影响——游戏中负反馈的经典应用。
- 适用:资源产出太快需要平衡;要随玩家进度或实力自动缩放的阻力;削弱动态引擎的长期策略、偏向短期策略。
- 实现:关键是选择哪个元素改变消耗率——可用能量本身(负反馈快)、引擎升级数或玩家对目标的进度(更间接、更慢)。用动态摩擦对抗正反馈时要比较两者剖面:剖面相近(同样快、同样持久)时更稳定,差异大时不稳定。例如慢而持久的动态摩擦对抗快但不持久、初期回报好的正反馈,玩家初期进展很大,长期可能吃亏。快正反馈+慢负反馈似乎是最常见的组合。
- 例:塔防——敌人对生命值造成动态消耗,玩家造塔控制(目标就是阻止动态摩擦生效);《文明》城市——人口越多吃得越多;快速增长又带来问题:幸福度必须不低于人口的一半,否则内乱停产(初始幸福 2),可以建特殊建筑(慢、投入高、持久、回报相对高)或把贸易转为文化(快、回报相对低)来提高幸福,两者都是剖面不同的动态摩擦;文化与研究比例是对所有城市生效的全局设置。
- 相关:平衡任何正反馈的好办法,常是多重反馈的一部分;被消耗战(多人交互引起的动态摩擦)与停止机制细化。
flowchart LR
Prod[/"生产机制"/] --> E(("能量"))
E --> Act[\"玩家动作"/]
E --> DD["动态泄 自动"]
St(("进度 / 升级 / 能量本身")) -.->|"+ 消耗率"| DD7. 停止机制 (Stopping Mechanism),又称边际收益递减 (Law of Diminishing Returns)
- 意图:机制每被激活一次效果就降低一点,防止玩家滥用强力机制;有时永久,通常不是。(经济学例:过量施肥有毒、反而减产。)
- 适用:防止滥用某动作;对抗优势策略;削弱正反馈。
- 协作:动作必须有能量成本或产出资源(或两者);停止机制每次激活后提高成本或降低产出。
- 后果:能大幅削弱正反馈,甚至让其回报不足。
- 实现:用累计产出衡量停止机制强度时效果不永久,玩家需要频繁在"产出"和"用掉产出"之间切换。可以对每位玩家单独生效,或对所有玩家同等生效——后者奖励抢先行动者,于是是领先者还是落后者先行动会决定反馈方向。
- 例:《魔兽争霸 III》伐木——农民要把木材运回基地、运输时不能砍,森林越砍越远,单个农民产率在森林快砍光时降到 0.4(图 B.9);《电力公司》燃料市场——大量买燃料会推高所有人的价格,且领先者最后行动,因而对领先者是强负反馈。
- 相关:常见于多重反馈系统;细化动态摩擦;可被慢循环细化。
8. 消耗战 (Attrition)
- 意图:玩家主动偷取或摧毁其他玩家行动所需的资源,在争霸中淘汰对方。
- 适用:允许多玩家间直接的策略交互;引入性质由玩家策略偏好或一时兴起决定的反馈。
- 参与者:拥有相同(或相似)机制与选项的多名玩家;"实力"资源(耗尽即出局);排干或偷取对方实力的攻击动作。
- 协作:攻击可以消耗或不消耗实力;不消耗时应要求时间、技能或随机;攻击成本、效果与其他动作收益的平衡决定攻击效果与消耗战模式的主导程度。
- 后果:玩家直接控制施加给彼此的破坏力,动态性很强;通常引入破坏性反馈:鼓励联手对付领先者时为负,鼓励攻击并淘汰弱者时为正。
- 实现:攻击应需要投入本可另作他用的资源,否则两人游戏会变成没有策略选择的"比谁先灭掉对方"(多人且有社交时稍好,因为要选打谁)。常用生命+能量两种资源代替单一"实力",且二者要有关联(常可花能量换生命,或隐式关联:花能量与获得生命不能同时做)。两人版必须有其他动作,多为实力的生产机制(于是细化成军备竞赛),RTS 通常包含全部这些选项及多种变体。胜利条件与淘汰的影响很关键:胜利条件不必是淘汰,得分或达成模式外的目标会扩大策略空间;对攻击或淘汰给奖励会刺激淘汰弱者。
- 例:《万智牌》——每回合可打一张地;生物、法术等除地外都耗法力,法力越多越能打出强力行动;直接伤害短暂触发一个泄,快而直接;召唤生物激活一个持续消耗对方生物与生命的泄,单次不如直接伤害强但随时间累积;手牌决定可用选项,组牌是重要环节。非对称消耗战:桌游《Space Hulk》一方操控少量星际战士完成任务,另一方操控无限的基因窃取者,后者数量越多越有效,星际战士通常不能靠消灭敌人获胜、但必须控制其数量才能生存。
- 相关:适合与任何引擎结合;交易是另一种多人反馈(建设性而非破坏性,几乎总为负);细化动态摩擦;被军备竞赛与工人放置细化。
升级类 (Escalation):用不断增长的挑战向玩家施压
9. 递增挑战 (Escalating Challenge)
- 意图:朝目标的进展提高进一步进展的难度——进度与难度之间的正反馈让游戏迅速适应玩家技能,表现好进展快时尤甚。
- 适用:基于技能(多为身体技能)、越推进越难的快节奏游戏;用涌现机制(部分)替代预设关卡进程。
- 参与者:目标(未完成的任务)、进度、减少目标或产生进度的任务、随进度提高难度的反馈机制。
- 后果:若任务失败即结束游戏,则对局会很快。
- 实现:任务通常受玩家技能影响;若任务是随机或确定机制,玩家无法控制进度——只有当它是更复杂系统的一部分、玩家对成功率有间接控制时才可行;多人动态同理。
- 例:《太空侵略者》每消灭一个外星人,其余全部稍微加速;《吃豆人》幽灵让剩下的豆子越来越难吃到。
- 相关:与静态或动态摩擦结合可迅速让难度匹配玩家能力。
10. 递增复杂度 (Escalating Complexity)
- 意图:玩家对抗不断增长的复杂度,努力控制局面,直到正反馈过强、积累的复杂度使其失败。复杂度会立即提高复杂度的产生(强正反馈),且产生复杂度的机制随时间加速,玩家最终必输。
- 适用:高压、基于技能的游戏;用涌现机制(部分)替代预设关卡进程。
- 参与者:游戏产生、玩家须压在某上限下的复杂度;降低复杂度的玩家任务;随时间提高复杂度产量的进度机制。
- 实现:同上,任务多受技能影响;产量随机会让节奏有起伏(高峰时疲于应付,低谷时喘口气);进度机制可以是简单的按时间提高,也可以依赖玩家或他人的动作——给进度机制加入"执行任务带来的正反馈"即与递增挑战结合;也适合放进多重反馈,例如让任务同时喂给一个慢得多的、调节复杂度产量的负反馈。
- 例:《俄罗斯方块》——下落方块稳定产生复杂度(种类有一点随机),堆得越高放置时间越少;每消 10 行升一级、加速下落(这一级别机制同时是递增挑战);图 B.13 中堆中方块越多每次消除得分越高(可一次消多行),形成高风险高回报策略,节奏超出玩家能力后局面迅速失控。《Super Crate Box》:拾取装有不同武器的箱子得分,同时射杀敌人控制数量,碰到敌人即死;敌人从顶部出生跑到底部消失,到底部的敌人会从顶部重生且速度大增;一次只能拿一把武器、强弱不一,但只有拾箱子才能得分换武器,迫使玩家在杀敌与拾箱间交替。
- 相关:任何引擎都可实现进度机制;进度机制常实现为递增挑战。
11. 军备竞赛 (Arms Race)
- 意图:玩家可投资资源改进对其他玩家的攻防能力,引入大量策略选项,让玩家选择契合自己技能与偏好的策略。
- 适用:为使用消耗战的游戏增加策略选项或避免优势策略;延长游戏时间;鼓励发展个人化的策略与风格。
- 参与者:能激活相同(或相似)攻击机制的多名玩家;实力资源;可选的能量资源(有时与实力相同);至少一个改进攻防或恢复实力的升级机制。
- 后果:策略选项多、难平衡——最好在升级选项中实现非传递性 (Intransitive,石头剪刀布) 机制,让每种策略都有反制:中世纪战争游戏常见重步兵克骑兵、骑兵克炮兵、炮兵克步兵,最佳兵种构成部分取决于对手的选择。玩家可多用喜欢的机制、忽略不喜欢的。通常延长游戏,因为总可以先守,冲突可能被推迟很久。
- 实现:升级用什么资源支付是重要决定——实力与能量相同时玩家可能过度投资而变得脆弱(升级需时生效时尤甚);分离时要仔细设计关系:实力决定能量产率(强正-破坏性反馈)、能量转换为实力、能量随时间投资产生实力等。防止拖得太长的好办法:让升级资源被激烈争夺(大家采同一资源,或升级需要投入实力)。可以不对称,但更难平衡。
- 例:《星际争霸 II》《魔兽争霸 III》可研究科技提高单位战斗力;实力=单位与建筑之和,能量由工人采集,用于升级与造单位。塔防中是非对称的:玩家升级塔或选不同塔,敌方波次加入需要不同应对的新敌人。
- 相关:与动态引擎结合产生能量与实力(许多 RTS);细化消耗战;被工人放置细化。
杂项 (Miscellaneous)
12. 玩法风格强化 (Playing Style Reinforcement),又称"RPG 元素"
- 意图:对玩家动作施加缓慢的正-建设性反馈,鼓励专精,让游戏逐渐适应玩家偏好的风格。只要有多种可行的策略与专精方向,化身或单位最终会反映玩家的偏好。
- 适用:要玩家做跨多次游玩的长期投入;奖励建设、提前规划和发展个人策略;让玩家成长为特定角色或策略。
- 参与者:成功率部分取决于角色或单位属性的动作;影响成功率、可随时间成长的"能力";可选的"经验点"资源(有的游戏称技能点,另有不可交易的经验点)。尝试动作产生经验或直接提高能力,有的要求成功、有的不要求。
- 后果:最适合长期、多次游玩;只有多种策略都可行时才有效,否则人人同一策略、游戏无趣;可能引发最大最小化 (Min-Maxing)——追求最快获得强力化身的最优选项,成功就会成为优势策略(反馈强度没有均匀分布在所有动作与策略上时);偏向老手(更懂选项与长期后果);奖励投入时间最多的玩家——时间可以弥补技能差,可能是想要也可能是不想要的副作用;中途换策略可能不划算,会失去在旧风格上的投资。
- 实现:用不用经验点——用经验点则成长与动作不直接耦合,玩家可用一种策略刷经验去发展另一种策略;不用则要按动作频率平衡反馈,越常执行的动作反馈应越弱。RPG 的反馈回路通常很慢,并用递增挑战、动态摩擦或停止机制平衡;多数 RPG 初期成长快、逐渐变慢,常因所需经验指数增长。是否要求成功:要求成功则反馈影响更大,最好让任务难度影响成功率并提供不同难度的任务让玩家"练级";不要求成功则玩家后期更有机会补练被忽视的能力,但也可能在一切可能的时机重复某动作,产生意外、不真实或滑稽的结果(低风险动作尤甚)。
- 例:桌面 RPG《战锤奇幻角色扮演》《吸血鬼:避世血族》以达成目标奖励经验、可花经验提高能力;原版《龙与地下城》反而没有这一模式——经验只用于升级,升级时能力如何提高玩家无法影响;《上古卷轴 IV:湮没》能力直接等于执行相应动作的次数,没有经验点;《文明 III》以军事、经济、文化或科技(或组合)获胜,建造偏向所选策略的城市设施与奇观来强化,钱与产能扮演经验点,且不绑定特定策略(一城的钱可改善另一城的产能)。
- 相关:依赖动作成功时反馈很强,常用停止机制提高能力升级的价格。
13. 多重反馈 (Multiple Feedback)(仅在线附录)
- 意图:一个玩法机制同时喂给多个剖面不同的反馈机制;有的更明显,于是短期结果可预测,长期却可能出人意料。
- 适用:提高难度;强调玩家读局的能力。
- 示例结构:一个动作激活一个正、限时、强的反馈和一个负、永久、弱的反馈(只是一种设置方式)。
- 后果:多回路比单回路难懂;回路剖面常在游戏中变化,玩家必须能读出当前剖面;找到多回路间的平衡是关键问题。
- 实现:各回路剖面必须不同,尤其速度要不同;或让剖面随时间变化——给一个或多个回路加入玩法风格强化与停止机制是好策略。最常见组合:快速、建设性的正反馈+缓慢的负反馈,形成短期收益与长期劣势的取舍。
- 例:《模拟城市》——电厂短期推动住宅/商业/工业增长,长期造成污染影响周边;道路是增长所必需,用得越多越带来拥堵与污染。《战国风云》进攻同时喂给三个速度与强度不同的正反馈(领土、卡牌、大陆,见 反馈回路)。
- 相关:玩法风格强化与停止机制能让回路剖面随时间变化。
flowchart LR
A>"[点击] 动作"] --> R1(("快速收益"))
R1 -.->|"+ 正、限时、强"| A
A --> R2(("长期副作用"))
R2 -.->|"− 负、永久、弱"| A14. 交易 (Trade)(仅在线附录)
- 意图:允许玩家间交易,引入多人动态与负-建设性反馈;通常领先者谈判更艰难,落后者可互助追赶;资源流不稳定或分配不均时效果尤佳。
- 适用:引入多人动态;引入负-建设性反馈;用商业(而非战斗)鼓励玩家互动的社交机制。
- 参与者:交易机制;多种可交换、用途多样的资源;需要这些资源的动作。
- 后果:负反馈不会真正拖慢游戏,但通常帮助落后者追赶(因为不是破坏性的);偏向社交与讨价还价能力强的玩家。
- 实现:桌游中很容易,只需规定何时、如何交易;多人电脑游戏也容易;让电脑角色参与交易远非易事。需要多种可交易资源,且产率要波动或至少各玩家不同——交易只在各方资源分布不平衡时才成立;多设计消耗可交易资源、尤其同时消耗多种资源的动作,进一步放大不平衡。
- 例:《卡坦岛》——村庄与城市构成不确定的动态引擎,其随机性部分由"所有玩家都可与当前回合玩家交易"抵消;汇率由双方商定,取决于资源稀缺与玩家处境,领先者付得起更高价,快赢时可能谁都不跟他交易。《文明 III》可交换战略资源、钱与知识,双方受益,弱国能较快追上。
- 相关:消耗战是另一种多人反馈来源,但是破坏性的。
15. 工人放置 (Worker Placement)(仅在线附录)
- 意图:玩家控制有限的"工人"资源,必须投入以激活或改进游戏中的不同机制;数量有限迫使玩家不断调整分配以最有效地运转机制。
- 适用:引入持续微操作;鼓励适应变化;让时机成为成功策略的关键;制造微妙的间接冲突。
- 参与者:核心机制(常是多机制组合,示例结构用转换引擎);激活或改进核心的多个"站点 (Stations)";可分配的工人;可选的空闲工人池。工人在站点间较易移动,可快速改变核心机制的行为。
- 后果:玩家要花时间调动工人,节奏要允许,玩家要能为需要改变分配的事件做准备;最适合需要不时改变核心行为、有不同玩法阶段的复杂游戏;常需持续管理,容易主导整个经济。
- 实现:平衡工人数与站点数——工人数固定时,这决定玩家是不断调整还是固定下来;工人少则更常调整。工人多或可生产时,小心出现"所有站点都满员、不再需要调整"的局面,可允许一个站点放多个工人以进一步增强效果。玩家争夺同一站点时(大家都要在同一金矿采金),必须有迫使工人离开站点的机制——每回合自动全部返回,或允许直接赶走对手的工人;争夺站点形成微妙的间接竞争(占住关键站点阻挠对手)。放置消耗资源或站点有持续维持费时都会产生动态摩擦(工人越多消耗越多);仅放置消耗资源(无维持费)时改变分配受罚,变成更不灵活、奖励提前规划的版本。
- 例:《星际争霸》SCV 可采晶矿或瓦斯、建造与修理,玩家可随意造、许多 SCV 可做同一工作;地图资源点可被争夺,但多数关卡开局有相对安全独占的资源。《农场主 (Agricola)》:开局一家两口作为工人,每回合分配去播种、建围栏、收集木头等,必须攒够食物养活增长的家庭;每个任务只能放一个工人,大家争夺同一站点;无人执行的任务其资源会累积(没人收的木头越堆越多),所以各任务的相对收益不断变化。
- 相关:几乎能细化任何模式(尤其转换引擎、引擎构建、消耗战、军备竞赛);由工人数或放置引起的动态摩擦是给工人放置施加负反馈的好办法。
16. 慢循环 (Slow Cycle)(仅在线附录)
- 意图:一个缓慢地在不同状态间循环的、玩家控制之外的机制,周期性改变游戏机制,使经济在不同阶段间转换,要求玩家发展更全面的策略。
- 适用:引入周期阶段增加变化;对抗某策略的主导;迫使玩家定期适应;延长精通所需的学习期(慢循环出现次数少,学习机会少);允许玩家影响循环的周期或幅度,引入微妙的间接策略交互。
- 参与者:在两个(或更多)状态间振荡的慢循环机制;依赖其状态的受影响机制。
- 后果:效果往往不易察觉,尤其对新手,学习曲线长、可能拉大新老玩家差距;玩家通常几乎无法影响它,所以必须清楚传达循环当前状态——看似随机地改变经济的慢循环通常被认为不公平。
- 实现:可在两个二元状态间切换(周期性启用/停用另一机制),也可渐变;最好对所有玩家同等生效,以考验预测与准备阶段转换的能力;在世界观中可表现为季节、潮汐或商业周期。可随机化周期,或随机化幅度(例如每 10 回合短时间产出某种能量,随机化持续时间或数量而不改变节奏)。
- 例:《星际争霸 II》不同关卡使用多种慢循环(第 10 章"恶魔游乐场"的岩浆);桌游《凯吕斯》分三阶段,每阶段末按对城堡的贡献奖惩,玩家还要争夺工人位置采集建城堡所需资源(同时实现工人放置),玩家的共同行动可加快或减慢当前循环——预测循环及其对他人计划的影响是有效而进阶的策略。
- 相关:细化静态引擎、静态摩擦与停止机制;与工人放置配合好,让玩家响应经济阶段的转换。
组合、细化与简化(第 7 章 Combining Design Patterns、Elaboration and Nesting Patterns,印刷页约 p.161–165)
组合:游戏很少只实现一个模式。《俄罗斯方块》=递增复杂度(方块堆积、底部空洞增多)+递增挑战(消行越多下落越快)。有些组合驱动整个类型:
| 类型 | 典型模式组合 |
|---|---|
| RTS | 动态引擎(基地生产)+消耗战;较大的 RTS 再加军备竞赛或(较少)引擎构建,提供更多策略、延长游戏 |
| RPG | 玩法风格强化(角色构建)+递增挑战(越推进挑战越难) |
细化 (Elaboration):一个模式是另一个模式更精细的实现。模式间的细化关系:
flowchart LR Src[/"源"/] --> SE["静态引擎"] SE --> DE["动态引擎"] SE --> CE["转换引擎"] SE --> SC["慢循环"] DE --> EB["引擎构建"] CE --> EB EB --> WP["工人放置"] Drn[\"泄"/] --> SF["静态摩擦"] SF --> DF["动态摩擦"] SF --> SC DF --> SM["停止机制"] DF --> AT["消耗战"] SM --> SC AT --> AR["军备竞赛"] AR --> WP AT --> WP DE --> WP
(箭头 A→B 表示"B 细化 A",按附录 B 各模式的"相关模式"条目整理。)
- 消耗战是"对称地施加动态摩擦"的特例;所有引擎模式都细化普通的源节点,所有摩擦模式都细化普通的泄节点——游戏中任何源都可以换成引擎,反之亦然。
- 细化作为设计工具:游戏太简单时,把某模式替换为细化它的模式以增加复杂度;太复杂时反过来简化 (Simplification)。例:采集者游戏实现了动态引擎,可整体细化为引擎构建乃至工人放置(图 7.3);也可细化内部元素——把其中的源换成转换引擎(图 7.4),而转换器本身是"泄触发源",又可把其中的源或泄换成引擎或摩擦模式。
- 简化还能得到比游戏更抽象、但仍保留部分动态行为的图:本书的吃豆人与《战国风云》图都用了简化——把其他玩家的进攻(多人版应是消耗战)建模成动态摩擦,从而去掉其他玩家、专注单人视角的经济。
- 细化不只适用于模式,几乎适用于 Machinations 图的任何元素:只要功能大致是"消耗一种资源产生另一种",任何机制都可看作转换器的细化(图 7.5);这些细化的转换器不能称为模式(不是常见问题的通用解),但积累这类结构库(并清楚其来源)能让人轻松试验机制。
- 细化与设计焦点:以战斗为主的游戏就把战斗机制做精细,玩家花时间少、关心少的部分(建造、背包管理)用简单模式甚至单个元素;有时把复杂的生产机制换成一个随机流量的源更好。细化产生最重要玩法的机制,简化其余。
扩展模式语言:作者不认为这套语言已完整,鼓励从自己的设计或他人游戏中发现新模式;描述时用通用术语(星际贸易游戏里发现的模式不应以该游戏命名参与者),遵循描述格式,识别并命名重要参与者,想出多种实现,最重要的是识别它解决的常见设计问题。
对形式化方法的两种批评(第 7 章 Two Criticisms of Formal Methods,印刷页约 p.166–168)
| 批评 | 作者回应 |
|---|---|
| 学术玩具、与实际设计无关(Raph Koster GDC 2005 "A Grammar of Gameplay: Game Atoms—Can Games Be Diagrammed?" 观众反应两极) | 承认现有词汇与框架在业界记录很差:许多出自缺乏实际设计经验的学者,学习投入大而回报不高,尤其是以分析为主的工具;但这只说明要有评价标准——工具应帮助设计师构思、理解、修改自己的设计,而不只是分析别人的游戏。Machinations 能在开发早期快速试验机制,值得投入(第 9 章有完整案例) |
| 形式化方法无法捕捉创意本质,会限制设计师(Guttenberg 2006) | 这常基于天真的艺术观:艺术一直是天赋+练就的技法+大量苦功;投资方赌不起纯天赋。画家学用笔与颜料,也学透视的数学与认知心理学;几何透视这一看似科学的发明革新了文艺复兴绘画,19–20 世纪抽象艺术的发展是渐进而有意识的智识过程。形式化方法是支持创造天才而非取代;最好的方法增强而非限制设计师的愿景。另外,团队可以在写一行代码前就画图模拟拟议的机制,而不是争论它写出来后会怎样 |
用模式做设计(第 7 章 Leveraging Patterns for Design,印刷页约 p.168–169)
- 模式是探索设计的指南而非规则;建议初期紧跟模式、通过复制久经考验的结构积累经验,有经验后再打破它们进入未知领域。
- 用模式解决问题:例如游戏结果很随意,因为强正-建设性反馈放大了开局的微小运气差——可引入交易(有多种资源时)增加负反馈,或用动态摩擦抵消正反馈。研读模式库就是掌握浓缩的设计经验,不必自己走过漫长的学习期。
- 用模式头脑风暴:随机抽两三个模式围绕它们设计经济——可逐个抽取、逐个加入数字版图(重复三四次,每步也可做纸面原型;抽到重复的就用到另一种资源或另一部分),或一开始就选定若干模式全部实现。作者说他们有时把模式名写在空白卡上洗牌抽取。
- 对现有项目:模式按经济功能给出资源的通用名,识别驱动玩家核心动作的主要"能量"是什么,有助于聚焦最重要的经济结构;随机抽一个模式当"透镜":设计中有它吗?按预期工作吗?没有的话加入能否解决问题?对现有游戏:《星际争霸》里什么在起停止机制的作用?把它的基本经济从动态引擎换成转换引擎会怎样?
- 以玩家为中心仍是核心:复杂互锁、随机很少的系统(如《电力公司》)只吸引"数学策略家"——喜欢破解并优化系统的人;随机更多的短局更吸引休闲与年轻玩家。人们为玩法选游戏,机制产生玩法——永远不要忘记问"谁喜欢这类游戏?"
原书问题
- 第 7 章称 Alexander "在《A Pattern Language》(1979) 中首次提出设计模式",并引用"Alexander 1979, p. ix"的"无名品质"一句。原书参考文献列的是《A Pattern Language》1977 年(Oxford University Press);那句"central quality… cannot be named"出自 Alexander《The Timeless Way of Building》(Oxford University Press, 1979)第 ix 页,而该书未列入参考文献。正文年份与引文出处混淆了两本书。
- 在线附录 B 称《农场主 (Agricola)》中玩家"在十八世纪"经营农场;该游戏设定在约 1670 年(17 世纪)的中欧(见 Lookout Games/Z-Man 版规则书背景介绍与 BoardGameGeek 条目)。
- 引言称附录 B 收录部分模式、"第 7 章对每个模式有更详尽的讨论",实际正好相反:第 7 章只是概览,各模式的完整描述在附录 B(印刷版加在线版)。引言还说全书有"2 个附录",随后却列出 A、B、C 三个(C 只在线发布)。
- 第 7 章与附录 B 的模式结构图均为图片,本页 Mermaid 图据文字示意绘制。
与 Schell 及软件设计模式的对照
| 维度 | GoF 软件模式 | Adams & Dormans 机制模式 | Schell 透镜 |
|---|---|---|---|
| 质量观 | 面向对象原则(解耦、复用) | 内部经济结构产生涌现玩法 | 以问题引导设计师从多个视角审视体验 |
| 形式 | 意图/动机/结构(UML)/参与者/后果… | 同 GoF 格式,结构用 Machinations 图 | 一个名称+一组问题 |
| 用法 | 解决代码结构问题、共同词汇 | 解决经济平衡问题、头脑风暴、"透镜"式审视 | 头脑风暴与审视(见 Schell 透镜总表) |
作者明确建议"随机抽一个模式当透镜",与 Schell 的透镜用法殊途同归;与 Alexander 一样,两者都相信存在可以讨论的客观质量(见 游戏空间与关卡架构 中 Schell 对 Alexander 的介绍)。
出处
- Game_Mechanics_Advanced_Game_Design_-_Ernest_Adams.pdf
- Ernest Adams & Joris Dormans《Game Mechanics: Advanced Game Design》第 1 版(New Riders, 2012, ISBN 978-0-321-82027-3)第 7 章 Design Patterns(PDF p.217–245,印刷页约 p.147–170)
- Ernest Adams & Joris Dormans《Game Mechanics: Advanced Game Design》第 1 版(New Riders, 2012, ISBN 978-0-321-82027-3)附录 B Design Pattern Library(印刷版 PDF p.422–465;在线版 Online Appendix B,PDF p.521–578,含多重反馈、交易、工人放置、慢循环四个仅在线发布的模式)