如何让玩家相信游戏是公平的

标签: 概率与桥牌 算法 游戏开发 | 发表时间:2014-02-10 11:28 | 作者:云风
出处:http://blog.codingnow.com/

去赌场参观过的同学应该都见过那种押大小的骰子游戏。庄家投掷三枚骰子,把骰盅盖住,玩家可以押大或小。开盅后,如果发现三个数字之和大于等于 11 就算大,小于等于 10 就算小。如果你猜对了,庄家就 1 赔 1 算给你筹码;否则输掉筹码。另外,还可以以不同赔率压数字,或压三个相同。

为了保障庄家利益,三个相同的数字算不大不小。从概率上讲,这让长时间内庄家必胜。 概率分析见这里

如果把这个游戏搬到网络上如何呢?(注意:网上赌博在很多国家是被禁止的,这里只做技术分析而已)

如何让玩家相信庄家没有作弊,真的产生了随机的骰子呢?

记得网易泡泡曾经在聊天室中做过一个简单的赌大小的文字游戏。我一同学兴致勃勃的玩过,他告诉我系统一定作弊过的。他写了个程序监控每局游戏开盅前的下注情况,到最后一秒再下住,永远下注少的一边(也就是跟庄),只花了一天时间就刷了无数泡泡币。

其实这只是游戏实现者的贪心和无知而已。其实这个游戏的规则保证了庄家利益,庄家没有必要作弊。但有些游戏设计者就是脑子转不过弯来,的确考虑过作弊。不是连六合彩这种极大化庄家利益的游戏规则都有流言暴出庄家作弊么?

那么,是不是网络版的赌大小一定得不到玩家信任呢?

其实有一个简单的方法可以向玩家证明骰子的随机性:

  1. 每局游戏前,先随机三个 1-6 的数字,并同时生成三个足够长(比如 80 字符, 长度在屏幕方便显示的范围即可)的文本随机串,把数字附在随机串的两端。比如随机出 2,4,5 这三个数字,就同时生成形如 2xxxxxxxxxxxxxxx2 , 4xxxxxxxxxxxxxxx4, 5xxxxxxxxxxxxxxx5 (xxxx 每次随机) 的字符串。计算这三个字符串的 md5 值,并事先通过网络展示给玩家。

  2. 玩家收到三个秘密串后开始下注。下注时间有限,只有几分钟的时间。由于 md5 的不可逆性,在这么短时间内,不可能知道串的原文。注:网络上所谓的 md5 破解,都是基于收集有意义的字符串的 md5 值构成海量的数据库比对查找的,并非对 md5 结果做逆运算。纯随机串的 md5 值不可能在很短时间求逆。

  3. 下注时间过了后,系统通过网络公布事先的三个随机数字构成的随机串,也就相当于开盅。这时候,玩家应该认赌服输了。如果他认为系统作弊,可以自行校验系统公布的串的 md5 值是否和事先公开的值相等。

如此便可证明,骰子是在玩家下注前就确定下来的,而不是根据玩家下注的行为更改让庄家获利。

没错,现在有数学证明可以在有限时间构造出另一个符合规则的串有相同的 md5 值。但那也需要相当的计算能力。如果这个网上赌场开的时间足够长,是没有那么多计算能力支撑长期的作弊的。之所以不必选用可能更安全的同类算法,是因为 md5 的普及率和认知程度最高,计算工具也随手可得而已。

如果想进一步提高信任度,让玩家相信没有提前计算出 md5 碰撞值,可以在随机的 xxxxx 中进一步加上上一局游戏的骰子 md5 值,让每次随机量都是和上一次相关的。甚至可以加上上一局游戏参与玩家的赌注金额。这样几乎不可能提交计算某一次游戏的随机串的 md5 碰撞。

关于 MD5 的碰撞构造,多个 md5 chunk 比单个 chunk 要容易的多。单 chunk 的碰撞构造在 2012 年的这篇 paper Single-block collision attack on MD5 中提到的方法的计算复杂度在 2 的 50 次方 MD5 运算量级。不是现在普通的计算机计算能力所能承受的。

虽然不是所有玩家都可以理解这个规则,但规则容易直接在游戏中公示。服务器记录所有历史的数据供玩家备查。还是很容易取得玩家群体的信任的。

相关 [玩家 相信 游戏] 推荐:

如何让玩家相信游戏是公平的

- - 云风的 BLOG
去赌场参观过的同学应该都见过那种押大小的骰子游戏. 庄家投掷三枚骰子,把骰盅盖住,玩家可以押大或小. 开盅后,如果发现三个数字之和大于等于 11 就算大,小于等于 10 就算小. 如果你猜对了,庄家就 1 赔 1 算给你筹码;否则输掉筹码. 另外,还可以以不同赔率压数字,或压三个相同. 为了保障庄家利益,三个相同的数字算不大不小.

啊!Geek:用下巴操控的游戏玩家

- 探花 - 煎蛋
《死亡空间2》上市后没几天,一位名叫 gareth170 的用户在官网论坛上发帖表达自己的不满:. 今天我玩了死亡空间2,安装并运行后,进入游戏设置,自定义操作方式……你猜怎么着. 我不能把向前走的方向键设在鼠标上……游戏公司不让人完全自定义游戏的操作方式真是太让我生气了. 既然能让我把射击键设在鼠标上,为什么移动就不行呢…….

[视频]史上最胆小的游戏玩家

- 逆鳞 - cnBeta.COM
真是见过胆小的,没见过这么胆小的. 这位玩家在恐怖游戏中的表现足以让任何小姑娘都颜面扫地. 在下边这段七分钟长的视频中,你可以欣赏到这位超级胆小玩家至少五六次歇斯底里的表现. 无论是跌入黑暗的地下室,还是远处出现的怪物,乃至是一声音效、一份笔记,都能让这家伙叫破天,感觉是个怪也要被他给反过来吓死了.

优化玩家体验的3大游戏设计原则

- 和谐牌河蟹 - GamerBoom.com 游戏邦
一般来说,我不赞同通过系列规则教授游戏设计. PvP游戏的最佳死亡设计也许不是PvE游戏的最佳决策;第三人称打斗游戏的控制装置也许并不适应第一人称射击游戏,“休闲”游戏和“硬核”游戏之间的关卡曲线应有所区别. 我是个有条理、注重过程的设计师,所以我倾向认为设计最佳方式是创建系列价值标准,然后落实周密设计过程,通过价值标准和背景权衡所有设计决策.

真的猛玩家,将1850个PS2游戏收集全了

- Cubic - 煎蛋
PS2是个伟大的游戏平台,上面出过很多经典的给力游戏,不过你能想象吗,有人居然把所有的PS2游戏全部收集齐了,而且还全都是从没拆封过的. Playstation Collecting网络社区的Ahans76就是完成此项不可能人物的人,有图为证. 在所有收藏品中他最爱的5个物品. 这些个应该是PS2游戏豪华版套装的盒子吧.

看了绝对不淡定 游戏玩家职业病一览

- Kelvin - cnBeta全文版
前几天在网上看到了关于游戏玩家职业病的一些图片和相关信息,感觉挺触目惊心的,所以特意整理一下为大家带来一下视觉上的冲击,也让整天坐在电脑前玩游戏的朋友们一个警钟,游戏娱乐为主,应适可而止,身体才是最重要的. 这组图是艺术家Matteo Bittanti创作的,不是真实的.     “鼠标手”大家都听说过,像这样估计大家还没有见过,是不是有点恐怖.

拼字游戏高级玩家有着不同的大脑

- SotongDJ - Solidot
加拿大卡尔加里大学科学家的一项研究发现,单词识别能力可以通过锻炼加以提高. 拼字游戏高级玩家提供了证据证明成年人的大脑仍然是可塑的. 拼字游戏是一项单词记忆识别游戏,专家级玩家需要花很长时间去研究游戏所要求的18万单词. 研究人员在两项实验中研究练习拼字游戏对视觉单词识别能力的影响. 他们先通过对大学生的测试设定一个基准线,然后对比23名相同年龄的专家级玩家和普通玩家的表现.

游戏玩家们的“邪恶”表情[9p]

- Iceberg - 煎蛋
当你玩游戏到彻底沉迷的时候,肯定没心思注意脸上的表情是否狰狞是否扭曲吧. 可偏偏摄影师Phillip Toledano老师就好这一口……于是就有了这一系列面目狰狞的Gamers写真. 大家千万不要误会,他们并不是要毁灭地球来着,他们只是打游戏入了迷而已……. 致富信息:游戏公司 EA 也搞山寨域名.

不要研究视频游戏,应该研究玩家本人

- hao - Solidot
视频游戏——尤其是暴力游戏——的负面影响正日益让父母忧心. 但新的研究认为,父母应该更关心孩子的个性而不是游戏的内容. 维拉诺瓦大学心理学家Patrick M. Markey认为,如果担心视频游戏把儿子或女儿变成杀人凶手,这是杞人忧天. 但你的孩子是否喜怒无常、冲动或不友好. 让他们玩暴力游戏可能不是一个好主意.

Razer 为 Xbox 360 玩家带来特制街机游戏摇杆

- Glen - Engadget 中国版
摇杆是街机及游戏的主要操作方式,因此备受游戏玩家青睐. Razer 这次在 TGS 上为 Xbox 360 玩家献上街机游戏摇杆,不过还是原型机阶段. 官方表示将挑选 200 多位顶尖的《街头霸王 4》职业玩家、具有影响力 MOD 高手,以及热情的街机玩家来参与测试,目的是在所有街机游戏摇杆用户的帮助之下,将这款尚未命名的产品打造成最棒的街机游戏摇杆.