每个棋盘游戏机制都有一个数学恒等式。掷骰子具有期望值和方差。抽牌具有概率分布。资源贸易具有可以用比率表示的汇率。理解这种数学的设计师比凭感觉工作的设计师能做出更好的决策——不是因为数学取代了直觉,而是因为直觉经常与现实不一致,而仅凭测试很难纠正。
本文涵盖了对棋盘游戏设计和游戏最重要的数学概念:概率分布、期望值、方差以及数学所说与玩家体验之间的心理差距。无论您是在设计游戏,还是只是想了解为什么您的骰子游戏感觉如此不幸,这里的框架都将改变您对游戏中随机性的看法。
为什么数学在游戏设计中很重要
A 游戏设计师如果没有计算出自己游戏的核心动作经济的预期价值,就不知道自己的游戏是否有效。这听起来很刺耳,但在功能上却是正确的。如果最佳可用行动的预期收入是每轮 4 个资源,胜利条件行动的成本是 30 个资源,那么设计者需要知道在游戏的典型持续时间内是否可以实现该收入率 - 在游戏测试之前,而不是在六次游戏之后想知道为什么没有人获胜。
数学和游戏测试是互补工具,而不是替代品。数学告诉你理论的预测是什么。游戏测试告诉您人类行为是否符合理论。大多数时候,它们会出现分歧——不是因为数学错误,而是因为玩家并不总是选择理论上的最佳行动。理论上的最佳游戏与实际人类游戏之间的差距本身就是一个设计变量:只有最佳游戏才能产生有趣决策的游戏比次优游戏也会产生有趣情况的游戏更糟糕。
每个机制都有一个预期值,设计师必须知道它。 当 Neutronium: Parallel Wars 玩家从 Nuclear Port 中获得收入时,他们每轮都会收到精确计算的每个端口的预期值。当他们选择攻击而不是建设时,他们正在做出在不同情况下具有可计算预期结果的决策。了解这些数字的设计师可以做出有意义的平衡决策;没有的设计师在猜测。
关键的不对称性是,即使 是平衡的,随机性也会让人感觉不公平。 50/50 的硬币翻转连续六次正面朝上的概率约为 1.6%——这种情况很少,但并非不可能。当游戏中的玩家发生这种情况时,他们会觉得游戏被破坏了,而不是正常的统计事件。理解为什么会发生这种情况,以及设计师如何构建随机性,在保持相同的潜在概率的同时减少惩罚,是游戏设计数学最有实际价值的应用。
骰子概率 101
单 d6 是棋盘游戏中最常见的随机化工具,也是最容易被误解的工具之一。标准 d6 产生均匀分布:每个面(1 到 6)出现的概率为 1/6,预期值为 3.5。玩家直观地理解这一点,但他们常常无法理解在会话中重复滚动意味着什么。
single d6 与 2d6 的区别 是理解为什么不同骰子机制感觉不同的基础。单个 d6 具有平坦的概率分布 - 从 1 到 6 的每个结果都有相同的可能性。两个 d6 求和产生一条钟形曲线:7 是最可能的结果(概率 6/36 = 16.7%),而 2 和 12 的概率分别为 1/36 = 2.8%。 2d6 分布将结果集中在中间附近,并且很少出现极端结果。这就是为什么使用 2d6 进行资源生产的卡坦 (Catan) 感觉对单个卷的惩罚比单芯片系统要少——这种分布自然限制了极端结果。
具有非标准面分布的定制骰子 使设计人员能够精确控制标准骰子无法提供的概率分布。面为 [0, 0, 0, 1, 1, 2] 的骰子与 d6 具有非常不同的特征:它在 50% 的时间内产生 0,在 33% 的情况下产生 1,在 17% 的情况下产生 2,预期值为 0.67。 Neutronium: Parallel Wars 使用带有颜色编码面的定制 D6 骰子:蓝色面代表标准战斗结果,红色面代表关键结果,绿色面代表特殊能力触发器。人脸类型的分布(而不仅仅是人脸的数量)决定了每种结果的概率。具有三个蓝色面、两个红色面和一个绿色面的骰子在 50% 的情况下会产生蓝色结果,在 33% 的情况下产生红色结果,在 17% 的情况下产生绿色结果。设计人员可以通过改变面数来调整这些比率,而不是创建数学上复杂的分辨率系统。
爆炸骰子是当滚动到最大值时再次滚动并将结果相加的骰子。在 6 上爆炸的 d6 的预期值为 (1+2+3+4+5+6)/6 + (1/6 × d6 的预期值) = 3.5 + (1/6 × 3.5) = 3.5 + 0.583 = 4.083。开放式的性质在理论上创造了无限的结果——幸运的爆炸序列可以产生非常高的总数——这产生了一些游戏故意培养的“感觉幸运”的时刻。权衡是高方差和偶尔决定游戏的幸运骰。
有界骰子 是相反的理念:限制最大结果以限制方差。在骰子池系统中,您掷多个骰子并只取最好的 N 个结果(优势系统,例如 D&D 5E 的优势机制,或糸锯的多个骰子取最高值)在数学上减少方差,同时保持概率感。采用两次 d6 掷骰中较高的一个会将预期值从 3.5 变为 4.47(提高 28%),同时显着降低低结果的概率。
资源游戏的预期价值
资源积累游戏——欧元、引擎制造商、经济策略——建立在预期值计算的基础上,设计师必须准确理解这些计算,即使它们从未明确出现在规则手册中。当玩家在两个行动之间进行选择时,他们(有意或无意)会比较这些行动在相关时间范围内的预期价值。
Neutronium: Parallel Wars 的 Nuclear Port 收入系统是 设计期望值 的显式示例。收入公式确定,拥有 N 个 Nuclear Port 的玩家以与 N 成非线性比例的比率获得收入。具体公式 — 1 个端口每轮产生 2 个 Neutronium 单位;每轮 10 个端口产生 220 Nn — 这并非偶然。设计者明确表示,端口积累应该产生指数回报而不是线性回报,因为指数回报创造了推动游戏竞争动态的联盟门槛。
这个公式是用数学表达的有意的游戏设计。 7 端口收入(42 Nn/轮)和 10 端口收入(220 Nn/轮)之间的差距是为什么联盟在 7 端口门槛形成而不是等到 9 或 10 端口形成的经济论据。在 7 个港口,玩家拥有足够的收入来构成威胁,但在收入优势变得在数学上无法克服之前,联盟行动仍然具有决定性作用。仅通过游戏测试得出这些数字的设计师可能会得到大致正确的结果;从一开始就了解指数函数的设计人员可以精确地指定阈值。
更广泛的原则:当指数缩放是有意的游戏设计时,设计者必须记录缩放函数并验证它创建的阈值是否位于他们想要的位置。如果联盟门槛应该是6个端口而不是7个,那么收入公式就需要调整——这需要知道公式是什么,而不仅仅是观察“游戏感觉平衡”。
方差和玩家感知
方差是实际结果与预期值的差异程度的度量。高方差意味着个体结果可能与预期有很大差异;低方差意味着结果紧密围绕平均值。对于游戏设计师来说,方差是一个控制旋钮,它会影响游戏的数学公平性和玩游戏的主观体验。
关键的心理洞察力:即使在数学上平衡的情况下,高方差也会让人感觉很糟糕。抛硬币是完全公平的——50/50,两个玩家的期望值完全相等——但是玩一个每个决定都通过抛硬币来解决的游戏感觉很武断且没有回报。玩家需要感觉到他们的决定很重要,这意味着他们需要在游戏过程中能够感知到良好决策和良好结果之间的因果关系。高方差切断了这种联系。
7 与 2 Catan 十六进制问题 清楚地说明了这一点。在卡坦岛,数字 7 打印在最多的六角形上,因为它与 2d6 的概率最高(16.7%)。数字 2 打印在最少的六角形上 (2.8%)。经验丰富的玩家知道将资源优先分配在 6、8、5 和 9 上(高概率的六角形)。但在任何给定的会话中,如果实际骰子掷出偏离预期值,正确地将初始结算放置在这些六角形上的玩家仍然可能会明显落后于具有较低概率放置的玩家。这并不公平——这是正常的统计差异。但这感觉不公平,因为决策(良好的放置)和结果(频繁的资源收入)之间的关系被方差掩盖了。
用于管理方差带来的不公平感的设计解决方案包括: 缓解机制(重新滚动、资源库、坏运气时激活的追赶机制)、即使在坏运气之后仍然有意义的决策点(因此滚动不佳的玩家仍然有兴趣)选择),以及有利于落后玩家的 方差 (通过方差追赶:领先玩家想要稳定、可预测的收入;落后玩家受益于高方差方法,即使期望值相同,也可以快速缩小差距)。
Kingmaker 骰子时刻(随机掷骰决定哪位玩家在最后一轮中获胜或失败)是对玩家满意度最具破坏性的方差结果。解决方案不是消除骰子,而是构建后期游戏,以便骰子结果影响胜利之路,而不是直接决定胜利。当多个玩家在进入最后一轮时都有可行的获胜位置时,幸运骰对获胜者来说是令人满意的,但对失败者来说并不觉得不合法——因为失败者也有一条可以通过自己的幸运骰获得胜利的途径。
使用数学进行平衡测试
MEQA 框架(可衡量性、参与度、质量、可访问性)提供了一种结构化的游戏平衡测试方法。 可测量性支柱(MEQA中的M)是数学正式进入设计过程的地方:在游戏测试开始之前,设计师用可测量的术语定义“平衡”的含义。
对于像 Neutronium: Parallel Wars 这样具有不对称派系的游戏,可衡量的平衡意味着:每个派系都应该在具有相当技能水平的足够样本的游戏中达到定义的容差范围内的胜率。如果目标是 50% 的胜率(纯平衡),可接受范围为 ±10%,则赢得 42% 游戏的派系在可接受范围内,而赢得 63% 的派系则不在容忍范围内。但达到这个标准需要在测试之前了解目标——而不是事后声明观察到的胜率“足够接近”。
在游戏测试之前定义指标会改变您观察到的内容。如果您知道自己正在衡量每个派系的胜率,则可以跟踪各个会话中的派系分配和结果。如果您知道自己正在测量平均游戏长度,则可以记录时间戳。这些决定必须在第一次游戏测试之前做出,因为回顾性指标不可靠——记忆是有选择性的,人类自然会记住支持现有信念的会话。
天平结论的样品尺寸要求通常比设计者预期的要大。对于具有 2 个派系的 2 人游戏,30 场游戏提供了用于在 80% 置信度下检测大于 15% 的不平衡的基线数据。对于 6 个派系的 4 人游戏,组合空间要大得多:30 场游戏为每个派系对提供大约 5 场游戏——勉强足以检测极端不平衡,也不足以检测微妙的优势。独立出版商很少有资源进行严格的统计验证;实用的方法是使用数学来验证预期值,使用游戏测试来捕获异常值,并使用发布后的社区反馈来识别仍然存在的问题。
有关完整框架(包括可测量性如何与其他 MEQA 支柱集成),请参阅 MEQA 游戏平衡框架指南,其中涵盖了定义、测量和实现跨游戏系统平衡的完整方法。
Neutronium 中的收入缩放公式直接连接到 /mechanics/nuclear-port-scaling 的机制细节,其中指数函数与每个阈值的设计推理一起记录。
设计师概率工具
有几种工具可以让游戏设计数学变得容易,无需高级统计培训。这些是在实践中起作用的。
AnyDice (anydice.com) 是游戏设计师的标准骰子概率计算器。它接受自然语言骰子表示法(2d6、d4+d8、3d6 保持最高 2)并返回概率分布、期望值和累积概率。对于任何涉及骰子的机制,AnyDice 应该是第一个参考的工具。其输出图表使分布立即清晰可比 - 将两个不同的骰子表达式并排粘贴即可立即查看它们的分布有何不同。
电子表格模拟(Google表格,Excel)处理AnyDice无法处理的计算:多轮资源积累、多个来源的收入、不同策略假设下的预期游戏长度。游戏经济的基本电子表格模型(包含每回合的列、每种资源类型的行以及代表游戏核心收入和支出机制的公式)需要 2-3 小时才能构建,并揭示需要 20 多次游戏测试才能凭经验发现的平衡问题。
蒙特卡罗模拟是最高精度的工具:通过计算运行游戏机制数千次,以生成所有可能结果的统计分布。对于有编程背景的设计师来说,Python 结合 NumPy 足以满足大多数游戏模拟需求。对于没有编程背景的设计人员来说,有可视化的蒙特卡罗工具,甚至基于电子表格的模拟,可以用有限的技术知识产生有意义的结果。蒙特卡罗对于具有复杂相互依赖性且分析计算困难的游戏最有价值 - 当多个随机事件相互作用时,模拟产生比手动计算更可靠的分布估计。
何时信任数学与何时进行游戏测试: 在投资游戏测试之前使用数学来验证理论平衡并捕获明显的设计错误。使用游戏测试来发现人类心理如何与数学相互作用——最佳策略与玩家实际行为不同的地方,以及数学预测平衡但体验感觉不公平的地方。两者都是必要的。单独两者都不够。