是否可以计算或数学证明游戏是否平衡/公平?


40

这个问题不是针对电子游戏而是针对一般游戏。昨天我去了一个棋盘游戏交易会,问自己是否有一种计算游戏公平性的方法。当然,其中一些需要很大的运气,但是有可能计算出某些角色是否过强。特别是在角色扮演游戏和交易纸牌游戏中。例如,考虑到可用卡的数量惊人,“魔术:聚会”的创建者如何确保没有“一张牌能击败所有人”?


2
附带说明一下,在有些游戏中,严格地打赢游戏会使每个人的游戏乐趣减少。曾几何时就是这样一个特别值得注意的例子,但一般来说,整个“社交”游戏类别中到处都是。
马丁·索伊卡

3
MtG创作者进行了大量的游戏测试,即使这样做仍然无济于事(有时会有连击使您能够在第一轮中获胜),他们会禁止锦标赛中的卡片(警告,TVTropes)。
liori 2011年

1
好吧,运行一堆模拟/收集数据。这就是他们在《星际争霸2》中实现平衡的方式……他们衡量哪些单位使用最多,哪个种族获胜最多。数据收集是复杂游戏的关键,而统计数据和数学一样好。我会说更好,因为您也会捕捉到心理影响。这就是为什么玩扑克的数学家不多于您预期的原因。
Per Alexandersson

一些最好的德国棋盘游戏是由专门研究博弈论的数学家(例如Reiner Knizia)开发的,它表明了这一点。特别是Knizia的比赛非常平衡。
康拉德·鲁道夫2012年

到目前为止,MTG创作者经常在此失败,并发行了被证明过于强大的卡(通常是由于与他们未考虑的其他卡进行交互),因此必须在正式比赛中禁止使用。
菲利普

Answers:


34

是的,从理论上讲是可能的-这是博弈论中涉及该主题的重要部分。

但是,它很少实用,甚至在大多数情况下也只用于不涉及随机化器的游戏(国际象棋,黑白棋,围棋等)。组合爆炸可确保为《魔力聚集》等更复杂的游戏提供此类证明所需的理论时间很容易比当前宇宙时代长几个数量级。

最后,对于任何非平凡的游戏,您可能都不得不放弃证明游戏平衡或公平的概念,而应结合常识,设计者的直觉,游戏系统的重用性以及整个测试过程。


11
除此之外,被证明是公平的游戏并不一定其玩家视为公平。在大多数时候,这种感觉确实很重要。
没关系

4
同样,国际象棋和围棋都没有被“证明”是公平的。在国际象棋中,尚不清楚白人球员是否具有优势。在Go中,不同的国家/地区具有不同的komi,因此,除了其中一个国家外,Go 在其他所有国家中都不公平。
BlueRaja-Danny Pflughoeft

4
@BlueRaja:博弈论绝对为我们提供了分析博弈公平性的工具,例如纳什均衡。如果收益相等,那么游戏就是公平的。如果收益不相等,则游戏不公平。值得注意的是,并非所有游戏都具有独特的纳什均衡,而且大多数有趣的游戏即使拥有一个也不具有计算上的可控性(这可能是“有趣”的定义)。但是博弈论绝对涵盖了这一领域。

5
实际上,即使游戏是完全随机的,也可以证明它是公平的。例如,掷硬币:正面获胜,背面获胜。从长远来看,公平的数学定义是E(ProfitOrLoss)= 0。上面的Joe Wreschnig在这里提供最准确的评论。
kfmfe04 2011年

1
@ BlueRaja-DannyPflughoeft:Go中的Komi有所不同:请记住,得分也略有不同,因此仅在同时考虑两种效果时进行比较才有意义。
Pieter Geerkens

5

简短的答案:任何具有有限(即使未定义)可用动作数的游戏,都有有限数量的可能游戏。理论上,任何具有有限“游戏树复杂度”的游戏都可以对所有可能的游戏进行分析,以确定每个玩家将赢得的游戏数量是否相等。

简而言之:如果玩家1赢得了一场游戏所有可能进行的比赛的一半,则该游戏处于平衡状态。如果不是这样,则游戏偏向一个或另一个玩家。

但是,这个简单的规则在实践中可能是不可行的。例如,围棋的游戏树复杂性约为10 ^ 170种可能的游戏,比已知宇宙中存在的原子数还多。人们认为不可能编译出详尽的游戏树。但是,玩过和录制的游戏库却有数百万个,这表明该游戏具有“先发优势”(通常通过向White给予1.5分的“ komi”来减轻这种优势)。

相比之下,即使给定了整体较大的游戏树复杂度,所有M,N,K个游戏(M宽度,N​​高度的网格板,其中的对象是供玩家通过放置而从未创建K行)移动/移除它们)已解决,因为存在捷径;可以将游戏树的整个“分支”标识为总是导致一个或另一个玩家丢失。其余分支遵循可以识别的模式。井字游戏是最明显的例子。除了只有300,000种可能的游戏外,只有16个其中一个或另一个玩家没有采取任何行动,这显然会使另一名玩家在下一步行动中获胜。因此,当您考虑玩家实际上可能制作的游戏时,游戏树开始时会变小,然后变小。

在具有运气元素的游戏中,游戏树的复杂性会超出每个玩家可用的决策数量。由于游戏不再像象棋,跳棋,围棋,奥赛罗等那样使用“完美信息”进行游戏,因此,在当时已经完美地掌握了已知信息的玩家仍然有可能输给游戏随机元素。这些游戏没有“解决方案”;但是,通常仍然有一个有限的博弈树,因此从理论上讲博弈还可以进行详尽的分析。通常这仍然不可行;取而代之的是,概率分析涉及概率的游戏,以识别“最佳下注”策略,并且如果这些策略显示出对使用它们的玩家的偏爱,而与其他任何玩家所使用的策略(包括同一策略)无关,

通常,以下规则适用:如果游戏的设计固有地导致以下一项或多项不平等,则游戏存在偏差:

  • 每个玩家的总移动次数
  • 在任何给定时间可用的移动次数,这将允许该玩家至少再移动一次
  • 玩家力量的起步力量
  • 获得有限资源或已确定战略意义的领域

现在,游戏的设计可能会引入一种不平等,但会尝试弥补另一种不平等。或者,游戏的设计可以允许可能产生偏差的区域中的随机性,这意味着一个游戏可能有偏差,而另一游戏则更公平(带有随机起始板的游戏可能会表现出这种偏差)。在这些情况下,只有对长期实力大致相等的球员之间的博弈进行实证分析,才能证明存在任何偏见。

有关棋盘游戏偏见的更多讨论,请访问http://www.geekdo.com的论坛;关于游戏中存在明显偏见的讨论,以及如何避免游戏开发中普遍存在的偏见。


3

我猜没有一个预制的数学公式来评估游戏的公平性,因为每个游戏是如此不同和复杂。

您无法真正比​​较不同的游戏参数并得出某种程度的角色能力得分(除非您的游戏非常简单),因为它们都会以不同的方式影响您的游戏玩法并取决于它们的实现方式(例如,您如何评估力量与活力之间的关系?如何为角色的特殊攻击提供数值?)

您必须测试您的游戏。很多。自己玩游戏,让其他人玩,并将战斗/游戏结果存储在文件中,以便进行统计并评估某些角色获胜的频率,在何种情况下等。然后,确保您采用某种方式来检查重播或分析游戏玩法,以了解为何此类角色过强,并相应地应用更改。

确实,除了测试,您别无选择。这就是存在beta的原因之一(例如,将Starcraft2作为Beta,使Blizzard有机会根据游戏结果平衡这3场比赛)。

总结一下,玩游戏,然后让其他人玩(开始测试版是一种选择)。通过重播或自动分析了解为什么游戏不平衡,并更改需要相应更改的内容。这是您追求公平的唯一方法。


1
+1 测试您的游戏。Beta测试在视频游戏和棋盘游戏中很重要,测试您的游戏的人越多,有人发现破牌或咒语破坏一切的可能性就越大。
thedaian 2011年

2
对于谁投票赞成,为什么要这样?
Jesse Emond

1
测试现场。引进一张新卡?通过随机甲板的大规模模拟运行它,以查看它是获胜甲板的一部分的频率。如果大多数获胜游戏与新卡有关,则应将其调低并重试。
waterwizard11 2011年

2

为了证明游戏是平衡的还是公平的,您必须首先定义平衡或公平的含义。这些是含糊不清的术语,可以包含一系列内容,例如,游戏“平衡”通常是指:

  • 几个不同方面中的每一个都有相同的获胜机会
  • 游戏中的进度不断变得更具挑战性
  • 在某些/大多数/所有情况下,游戏中做出的决定提供相同的成本/收益率

等等。

总的来说,我喜欢用数学方法证明这样的事情,但是要通过逻辑或测试证明任何事情,您首先需要明确定义。如果您能够正确理解游戏规则,则可以轻松地通过数学测试平衡的某些方面。如果不简单地进行经验检验,其他人就很难判断。主要问题是大多数游戏设计人员并没有真正理解他们的游戏机制,因为他们通常最终会将游戏规则合并到周围的模拟中,而后者很难准确建模。


1

从理论上讲,这是可能的,但是对于大多数游戏而言,这是极其困难的,因此被认为是不可能的。

一种方法:将游戏转换为正常形式。正常形式的游戏是针对每个玩家和功能的策略集,该策略说明对于给定的选择组合,当有多好的结果。可以将随机因素建模为另一个参与者。

然后,我们可以寻找主导/主导策略(永远要做的事情,永远不要做的事情)。如果游戏不包含主导策略,则至少可以使它有趣。

然后我们看一下每个玩家可以为自己提供的保证。对于每个“我的”选择,请查看可能的最差结果,并选择具有最佳结果的选择。

如果玩家之间的差异很大,那么游戏中就会有些烂。

还有其他事情要看(主要的混合策略(选择每个选项时要有一些概率),纳什均衡(一旦所有参与者都知道其他人会做的组合,则每个人的局部性最佳)。

但是第一步对于大多数游戏而言是如此极其复杂,因此通常没有那么有用。但是,如果您可以将复杂的细节抽象化/将策略替换为可识别的策略集(例如初始构建顺序),并从实际玩过的游戏中获得一些统计上的近似结果,则可以使用它,并且可以告诉您有关游戏中问题的信息。我想像这样的暴风雪与SC有关。

游戏的另一种形式是玩家轮流知道其他人所做的一切(棋)的游戏。在这里,您可以尝试通过搜索游戏的状态树来搜索主导策略(通常是巨大的,因此再次使用起来太复杂了)。而且很多游戏都没有知识,这使事情变得非常复杂。

另一种方法是,查看游戏中的内容并尝试进行比较。

另一种方法:对于团队战斗(尤其是参与者人数众多),您可以尝试使用力量模拟(我从没使用过,并且需要很高的数学(微分方程式)和将游戏转换为适当模型的艰苦工作)。

因此,我的结论是,可以做很多事情来平衡游戏的子系统,并且当游戏结束(在Beta测试期间)时,可以通过分析结果来完成很多事情,但是除非一切都相同,否则几乎不可能证明游戏是平衡的。

PS:您可以通过将一个属性替换为多个属性(可以一起用来计算初始属性),并使所有内容更加随机,从而掩盖相同性,因此玩家不会看到相同性(

当心这样做时容易犯错误(例如快速的小进攻与大的慢速进攻),因为d6 -18掷18球的结果为0-90,d10-10掷10球的结果为0-90 d91-1掷1的结果给出0-90的结果,但是它们都有不同的分布。

PS2:一个聪明的人说,实际的平衡并不重要,持久的平衡才是重要的。


主导策略概念非常重要。在任何情况下,主导策略的存在都意味着固有的不公平性,尽管通常这只会带来设计上的冗余,而不是这样的平衡问题。但是设计师需要能够避免采用占主导地位的策略,以便为每个元素提供一个明确目的的机会。
Kylotan

我忘记了一件事:主导策略的存在不一定是问题,只要它确实很难执行,即使玩家知道它。举个简单的例子,爆头是FPS的主要策略,但是很多玩家会选择重心,因为它更容易被击中,但是最佳机器人总是会爆头。
2011年

1

关于获得数学上正确答案的很多很好的答案,但是我会尝试不同的角度:如果您的代码允许,您可以模拟大量游戏,然后检查是否有一种或多种策略可以经常赢。

您可能熟悉蒙特卡洛模拟或遗传算法。这里的想法有关。您需要AI才能玩游戏并进行一些关键测量。在大型锦标赛中,您经常让AI在具有不同起始变量的情况下互相竞争,然后测量结果。

我一直想尝试一种类似的方法来平衡类/武器,这很有趣。


1

从计算角度的理论,这听起来像回答这是不可能的,一般。询问有关程序属性的问题,莱斯定理可能适用。我的假设是,游戏指的是用图灵完成语言(如c ++)编写的程序。我还假设要计算或证明游戏是否公平,意味着存在一个c ++程序,该程序读取c ++程序(游戏程序),并在有限的时间内终止所有可能的输入,只有两个输出是公平的或不公平。

快速搜索显示可能有确定性但不确定的游戏,请参见此处的幻灯片7和《国际游戏理论杂志》:一些不确定的确定游戏:

“使用算法的计算机可以玩游戏,甚至可以学习玩游戏。但是,算法固有的有限性对机器的游戏能力施加了限制。M。Rabin在1957年通过构造两人制输赢游戏说明了这种限制。具有可决定的规则,但没有可计算的获胜策略。”

人脑显然比计算机更“强大”,因为我们可以获取和应用过去的知识,有时通过发现程序中的无限循环似乎与诸如停止问题之类的结果相矛盾。但是我们如何做到这一点尚不为人所知,因此无法在算法中准确无误地编写。


0

我真的很想评论Martin Sojka的答案,但我没有声誉。他认为“游戏理论”包括计算游戏的公平性是正确的(例如,在国际象棋游戏中,白人和黑人都完美地玩得是否平局,这是一个公开的问题)。

对于MtG来说,很可能完全无法计算出它是否公平,但是没有人在数学上证明该计算是不可行的。

证明它是公平的可能是微不足道的-如果随机出现的人谁先参加并且每个人都遵循相同的规则,那么这就是公平的。也许谁先走总是赢,但是如果谁先走就决定了,那么比赛就是公平的。


删除109个字符,我将其转换为注释。
杰西·多尔西

-2

“公平”的含义是模糊的,让我解释一下:

考虑游戏“剪刀石头布”(http://en.wikipedia.org/wiki/Rock-paper-scissors):根据您的说法,我认为这是公平的(根据我自己)。

现在,让我们考虑一下游戏:剪刀石头布-井在岩石和纸上击败,井在纸上输掉。不平衡吧?这口水井似乎压倒了一切:打了两把武器,却输了一个。

但是有人可以说它根本不会压倒一切:因为如果您知道您的对手因为打了两把武器而更有可能使用这口水井,那么您可以通过更频繁地捡纸来行动。

因此,对于潜在的性能过强问题有一个答案:只需经常选择纸张即可。但是随后您知道对手可能知道这一点,并且可能会经常使用纸张,因此您认为应该更频繁地使用剪刀。等等,并不是真正的强大,只是具有不同规则的另一款游戏。

我建议阅读有关博弈论的文章,​​特别是有关信息不完善的游戏(http://en.wikipedia.org/wiki/Game_theory)。


5
无论涉及什么项目组合,任何石头剪刀布都显然是公平的,因为两个参与者都是平等的。在大多数棋盘游戏中,一个玩家首先移动。
Random832

-1。公平与否是已知的还是未知的(如果未知,则是可行的或不可行的),但是博弈论为我们提供了很多工具来定义“公平”而没有模糊性。

例如,“聚会”的创建者如何才能确保没有“一张纸牌能击败所有人”->我试图强调这句话,并向作者表明他的“公平”概念是不正确的。否则,例如,在像魔术这样的游戏中,人们通常没有与对手拥有相同的牌,因此即使人们同时开始(我实际上并不知道),也可能不公平。游戏“剪刀石头布”的类比也许不是最好的考虑,但它解释了我的观点。
JohnCastle 2011年

@JohnCastle这不是讨论OP对公平的评估的地方,因为这将是讨论,并且不是讨论板(为此使用聊天)。唯一的例外是,如果您的帖子回答了问题并讨论了OP的公平概念。
doppelgreener 2011年

@JonathanHobbs,如果定义不正确,如何证明公平?的确,我的帖子并不是真正的答案-我应该在主要帖子下面发布,但我没有意识到-但我认为在回答问题之前定义公平性很重要。
JohnCastle 2011年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.