麻雀ゲームで気になった

(追記)麻雀ゲームの牌山が完全ランダムではないことを自摸和了の確率からで調べた別記事作成しました。

ここ二週間3種類の麻雀ゲームをかやったのですが、どのゲームも牌の偏りが気になって、あれこれ調べた話。

結論から先に言うと、どのゲームも牌操作はしてるんじゃないかなと思います。おそらくですが、配牌時後の牌山操作はしていない(ハッシュで確認可)はずですが、牌山生成時にゲーム性を高める操作をしているように感じます。具体的には、①ある程度の上がり易い配牌(和了しにくい配牌の確率を減らす)、②勝ちすぎない・負けすぎないような牌山生成、の2つはしてそうです。

やったゲームと感想

MJ
派手な演出と実況で麻雀ゲームも進化したなと驚きました。が、勝つ時と負けるときの配牌・自摸の偏りが激しい。明らかに不自然なので別のゲームを探すことにしました。

天鳳
硬派な感じで牌操作なしとHPに書いてたのでやってみましたが、2-30局試した結果、不自然な気がします。

雀魂
最後がこれ。今一番メジャーなゲームのようです。不自然さは感じますが、これが一番よさげ。とはいえ、勝つ時は配牌と自摸が異常に良く、自摸に和了役を誘導されている感じ、やればやるほど不自然感が高まります。完全ランダム牌山とHPに書いてますが、違うんじゃないかな。

ネット記事をあれこれ探すと、有名麻雀ゲーム制作メーカーが「完全ランダムな牌山だと和了率と点数が低くなりゲームの緊張感と爽快感が下がる。なので、いかに楽しめつつも不自然過ぎない牌山操作をするかが肝だ」というコメント記事を見つけました。やっぱそうですよね。

最後に完全ランダム牌山を配牌するとどうなるか簡単なプログラムで試してみました。
参考にしたのは、こちらのサイト
https://qiita.com/Cyaaaaan/items/815f03bf5b7dc79f0deb(Python初心者、天和シミュレーターを作成する。)

参考と言いつつ配牌部分をそのまま流用しただけです。
これで2000個ほど配牌を作って確認しました。

どれもこれも上記ゲームソフトで2-300局打った中のクソ配牌に近いものばかり。
ゲームだとクソ配牌(和了困難)の発生確率は体感で2-3割なのですが、完全ランダム配牌だと6-7割でした。

とここまで書いて、自分がやってたのは3人麻雀だったのに4人麻雀の条件で検証していたことに気が付いて、配牌スクリプトをいじって配牌を再チェック。
3人麻雀だと配牌がだいぶ良くなりますね。
それを踏まえると、

 MJ:✕(絶対おかしい。超高配牌がバンバンくる、カンチャン・ペンチャンを一発自摸しまくり)
 雀魂:△(ゲーム性を高めるための何らかのチューニングはしてそう)
 天鳳:ー(対局数不足(30-40局)ではあるものの、かなり不自然だったので多分✕)

雀魂が一番マシっぽい気がしますが、以下の点が気になって私はやる気がなくなりました。
 ・勝つときは何やっても勝つ、負けるときはどうにもならない(対局相手の5順以内リーチ、一発自摸の嵐で手も足も出ない。)
 ・勝ち負けにある程度周期性がある(負け続けるとやる気をなくすので、連敗が3-4回続くと、以上に配牌と自摸が良くなって勝てるようになる)
 ・ランダム2000配牌の中には、雀魂200局の超高配牌(四暗刻リャンシャンテン、倍満イーシャンテン)を超える配牌はなかった。

おまけ:
前述のサイトは配牌が和了っている状態かを判定するpythonスクリプトの紹介が目的でとても参考になるのですが、雀頭+4メンツの和了り状態化をチェックする部分についてはロジックの紹介のみで具体的なスクリプトが記載されてませんでした😢
本来は配牌のランダムチェックが目的なので、その部分はいらなかったのですが、天和の発生確率をスクリプトで測定することで配牌のランダム性が正しいかダブルチェックできる(配牌のランダム性はpythonのrandomライブラリを使っているので間違いとは思うものの)かなと思い、不足部分は自分で作成しました。テストした結果、天和の発生確率は理論値(33万回に1回)に近い37万回に1回でした(試行回数450回)。ということでランダム配牌は正しいと思われます。

参考までに4人麻雀と3人麻雀のランダム生成した配牌画像を付けておきます。pythonで作った文字列を画像化するのはExcelのvlookupを活用してます。vlookupの参照セルにフリーの牌画像を埋め込んで作成しました。


4人麻雀ランダム生成配牌


3人麻雀ランダム配牌


いいなと思ったら応援しよう!