Back to blog
ルール解説

Mini Krakenのダイスロールは公平か? ダイスエンジンの内側を覗く

どのテーブルもいずれは口にします。「これ、細工されてない?」と。本記事では、Mini Krakenがどうやって数字を選ぶのかを、専門用語抜きで正直にご案内します。なぜ公平なのか、どうやって自分で確かめられるのか、そして私たちが裏で決してやらないことは何か。

Mini Krakenのダイスロールは公平か? ダイスエンジンの内側を覗く

遅かれ早かれ、テーブルの誰かがこう口に出します。「こんなのランダムなわけがない。こいつは私を嫌ってるんだ」と。デジタルのダイスは本物のテーブルの上をカラカラと転がることはありません。だから不運が続いたとき、アプリがこっそり天秤に指をかけているのではないかと疑いたくなるのは、ごく自然なことです。

もっともな疑問です。まっすぐな答えにふさわしいので、先に結論をお伝えします。Mini Krakenのダイスは公平です。 どの目も等しい確率で出て、何も細工されておらず、そして――これは珍しいことですが――あなた自身の手でロールを検証することさえできます。本記事では、その仕組みをわかりやすい言葉で丁寧にたどっていきます。次にこの話題が出たとき、はっきりと指し示せる具体的な根拠を持てるように。

「公平」とは実際どういうことか

私たちのエンジンの話をする前に、そもそも公平なダイスとは何なのかをはっきりさせておくと役に立ちます。

公平なd20が意味することはただ一つ。20個の目のどれもが等しく出やすい――つまり、毎回きっかり20分の1の確率だということです。「だいたい均等」ではありません。「平均すれば均等だけど、ちょっとだけ胴元の取り分がある」でもありません。きっかり均等なのです。公平なd6ならどの目も6分の1、公平なd100なら100分の1。定義はそれで全部です。

公平さが約束していないことにも注目してください。20回振れば20種類の数字がすべて出る、とは約束していません。不運の連続がすぐに「帳尻を合わせる」とも約束していません。結果が均等に感じられるとも約束していません。公平さとは、あくまで一回一回のロールの確率についての言明でしかない――そして、その一点について私たちは妥協しません。

内部で動くエンジン

Mini Krakenは、ダイスを振るのに自前の間に合わせの仕組みを使ってはいません。あらゆるロールは――ウェブサイト上でも、キャラクターシートの中でも、バーチャルテーブル上でも、FortunaのDiscordボットを通じてでも――すべて同じ共有のダイスエンジンを通ります。そのエンジンは、テーブルトークRPGのプレイヤーのために何年もダイスを振り続けてきた、成熟したオープンソースのダイスライブラリの上に築かれています。

これが重要なのには二つの理由があります。第一に、オープンソースを土台にしているということは、その数学が中身の見えないブラックボックスではないということです。誰もが読み、テストし、細部まで分解して調べられるコードなのです。第二に、私たちが繊細なものをわざわざ一から作り直してはいない、ということです。ランダム性は、気の利いた自作の仕組みがかえって微妙な偏りを持ち込みがちな分野の一つであり、まさに誰もそんな苦労をしなくて済むように、実戦で鍛えられたライブラリが存在しているのです。

大切なのは、エンジンが数字を必要としたときに何をするか、です。

数字はどう選ばれるのか――そして、なぜ隠れた偏りがないのか

ここからは、ほとんどの人が耳にしたことのない部分であり、そして「これは公平か?」という問いの、まさに核心です。

ダイスロールを手っ取り早く偽装するナイーブなやり方は、ランダムな値を一つ取ってきて、割り算の余りを使って手頃な大きさに切り詰めることです――プログラミングでいう「割って余りを取る」に相当します。素早く、そしてほとんど公平です。しかしこれには剰余バイアス(modulo bias)という有名な欠陥があります。出発点となる範囲が、ダイスの目の数できれいに割り切れることはめったにないため、いくつかの目がほかの目よりもごくわずかに出やすくなってしまうのです。一個のd20ではその偏りはごく小さいものですが、それでも実在します。そしてこれこそが、「細工されている」という非難がしつこく付きまとう原因となる、目に見えない天秤への指なのです。

私たちのエンジンは、その近道を拒みます。収まりの悪い数字を無理やり押し込む代わりに、しばしば棄却サンプリングと呼ばれる手法を使います。平たく言えば、こうです。生のランダムな値が、確率を偏らせてしまうごくわずかな端数の部分に入り込んだ場合、エンジンはそれを捨てて、静かにもう一度引き直します。ダイスの目の上に完全に均等に対応する値だけを残すのです。その結果は、偏りがまったくない分布になります――どの目も、その正確で嘘のない確率どおりに出るのです。ときおり起きる引き直しに、あなたが気づくことは決してありません。1ミリ秒にも満たない一瞬で起きるからです。しかしそのおかげで、Mini Krakenのd20は数学が許すかぎり均等なのです。

これが、答え全体を支える技術的な背骨です。ここで言う「公平」は宣伝文句ではありません。数字がどう選ばれるかという、その仕組みが持つ性質なのです。

3Dダイスは正直な演出

Mini Krakenは、画面の上を転がって静止する本物の3D物理ダイスで知られています――そして、まさにここで、分別のある人ほど疑いを抱くかもしれません。物理シミュレーションがダイスの止まる場所を決めているのなら、アニメーションを調整して低い目で止まるように仕込めるのでは? と。

いいえ――その理由は、物事の起きる順序にあります。エンジンが先に数字を選びます。そのあとで、アニメーションはその目で止まるように指示されるのです。 あなたが見ている転がるダイスは、ほんの一瞬前に、先ほど説明したのと同じ偏りのないエンジンによってすでに公平に決められた結果を、忠実に演じているにすぎません。物理演算があるのは手ざわりのためです――味気ないテキストの結果ではのっぺりと失われてしまう、あの心地よいカラカラという音と転がりのためであって、結果を決めるためではありません。正直な数学の上に乗せられた見せ場であり、数字を動かすことは文字どおり不可能なのです。なぜなら、ダイスが動き出す前に、数字はもう存在しているのですから。

どこでも一つのエンジン――だからロールの意味は同じ

信頼を支える、ささやかな源泉が一貫性です。プラットフォームによっては、ある場所でのロールと別の場所でのロールとで、振る舞いが違うことがあります。Mini Krakenでは、d20はd20です――キャラクターシート上でタップしようと、バーチャルテーブルに置こうと、Fortunaが耳を澄ませているDiscordチャンネルに打ち込もうと、変わりません。

それは、これらすべての場所が同じエンジンを呼び出しているからです。ウェブサイト用の「優しい」ローラーと、Discord用の別のローラーがあるわけではありません。ロールはエコシステム全体でまったく同じ意味を持ちます。これは便利さであると同時に、一つの保証でもあります――確率がこっそり変わる特別なモードなど、どこにも存在しないのです。

ロールは本当に検証できる

「私たちを信じてください」を「ご自分で確かめてください」に変える機能を紹介します。

エンジンは決定論的リプレイに対応しています。平たく言えば、ロールはシードと呼ばれる小さな初期値に結びつけることができ、同じシードは必ずまったく同じ結果の並びを再現します。エンジンに同じシードを二度与えれば、毎回まったく同じダイスが得られます。これは細工されたシステムとは正反対です。細工されたローラーは自分の仕組みを隠さなければなりませんが、私たちのローラーはあなたにレシピを手渡し、同じ入力からは必ず同じ、再現可能な出力が生まれることを証明できるのです。再生できるランダム性とは、監査できるランダム性なのです。

私たちが決してやらないこと

公平であるということは、技術と同じくらい、自制の問題でもあります。ですからはっきりと、Mini Krakenのダイスがやらないことを挙げておきます。

  • 「ダイスのカルマ」はありません。 あなたが不運続きだと記録しておいて、埋め合わせにこっそり良いロールを手渡す――あるいはその逆――といったことは決してしません。どのロールも、本物のダイスとまったく同じように独立しています。
  • 隠れたごまかしはありません。 結果の感触を良くするために極端な出目を削り取る、目に見えない「ならし」などありません。こっそりこれをやるツールもあります。私たちはやりません。連続は連続のままです。
  • 秘密の修正値はありません。 適用されるボーナスは、ロールの中であなたが目にできるものだけです――シートの修正値や、アドバンテージなど。暗がりで何かが足されたり引かれたりすることはありません。
  • 狙い撃ちはありません。 エンジンは、あなたが誰なのかを知りませんし、気にもしません。ゲームマスターに優しくしたり、新入りのプレイヤーに冷たくしたりもしません。そもそも「プレイヤー」が何なのかすら、まったくわかっていないのです。

ダイスは無関心です。その無関心さこそが肝心なのです。

「それでも私の出目はやっぱりおかしい」

本当にそう感じられるかもしれません――そしてその感覚は、ダイスが完璧であっても、まぎれもなく本物です。真のランダム性は、でこぼこしています。私たちの直感が予想するよりもはるかに頻繁に、連続や、かたまりや、意地の悪いタイミングを生み出します。そして私たちの記憶は、大惨事にはしがみつく一方で、忘れても差し支えのない平均的な出目は静かに捨て去っていくのです。公平なd20は、ときに間違いなく1を三回続けて出します。それは偏りの証拠ではなく、ランダム性がその仕事を果たしている証拠なのです。

「公平である」ことと「公平に感じられる」ことのあいだのこの隔たりは、それ自体で一本の記事に値するほど大きなものです――不運の連続の裏にある心理については、公平なダイスが細工されているように感じる理由をご覧ください。そして、あなたの中の懐疑論者を実証的に納得させたいなら、正直な検証法は「量」です。d20を数百回振って、その散らばりが均等へと平らになっていくのを見届けてください。十数回のロールは、いつだってでこぼこに見えます。しかし千回は、真実を語ります。

安心して振ってください

では、Mini Krakenは公平でしょうか? はい――口約束としてではなく、設計として公平です。どの目も等しく出やすく、それぞれの数字の裏にある数学は小数点以下まで偏りがなく、3Dアニメーションはすでに正直に選ばれた結果を演じているだけで、同じエンジンがどこでも動いており、そしてロールは信じるしかないものではなく、再現して確かめられるものなのです。

ダイスはあなたを愛してもいないし、憎んでもいません。ただ転がるだけです。そしてMini Krakenでは、ダイスはまっすぐに転がります――だからあなたは、仕組みについて思い悩むのをやめて、物語へと戻ることができます。本当に素晴らしいことが起きるのは、そこなのですから。