ボードゲームのサイコロをなくしてしまった、またはTRPGのセッション中に急にd20が必要になったことはありませんか?この無料のオンラインサイコロ生成器は、手元にないあらゆるサイコロの代わりになります。「サイコロ」フィールドに振りたい数(1から20までの任意の数字)を、「面」フィールドにそれぞれのサイコロの面数を設定し、「生成」を押してください。ページを開くと一般的な6面ダイスが2個設定された状態で始まるため、最初のロールはワンクリックで完了します。各サイコロの出目は個別に表示され、ロール全体の合計値もそのすぐ下に表示されるため、3d6を振った後に暗算する必要はありません。
各ロールは、お使いのブラウザのWeb Crypto API (crypto.getRandomValues) を通じて実行されます。これは、Math.random()のようなJavaScriptの疑似乱数関数ではなく、システム自身の乱数源から暗号論的に強力な乱数値を取得するものです。生の32ビット値を面数に変換する処理こそ、仮想サイコロが密かに欠陥を抱えやすい部分です。この値を面数で割り、その余り(モジュロ)を取る方法は最も分かりやすいアプローチですが、同時に偏りも生じます。もし面数が2^32を割り切れない場合、低い面が他の面よりもわずかに多く出てしまうためです。この欠陥はmodulo biasと呼ばれ、理論上のものではなく実際に測定可能なものです。そのため、このツールでは、面数の最大の正確な倍数を超える値が出た場合はそれを破棄し、再度乱数を取得するアプローチを取っています。これはrejection samplingと呼ばれる技術です。余分に乱数を取得する必要がありますが、近似値ではなく正確な保証を提供します。サーバーには何も送信されず、ログにも一切記録されません。さらに、一度ページが読み込まれれば、インターネット接続が途切れてもサイコロは機能し続けます。
2つの入力フィールドがすべての役割を果たし、これらはゲームですでに使われているダイス表記に直接対応しています。「サイコロ」は一度に振るサイコロの数(1から20まで)を意味します。「面」はそれぞれのサイコロが持つ面数(2から1000まで)を表し、d2のコイントスから、TRPGのフルセット(d4、d6、d8、d10、d12、d20)、パーセンタイルダイスのd100、そしてゲームが想定しうるあらゆる特殊なサイコロまで対応できます。NdM形式で書かれるものはすべて、まさにこの2つのフィールドのことです。2d6は「サイコロ」を2、「面」を6に設定することを意味し、単独のd20は「サイコロ」を1、「面」を20に設定することを意味します。キャラクターの能力値のために3d6を振る場合は、「サイコロ」を3、「面」を6に設定して「生成」を押すだけで、3つの出目が合計値とともに表示されます。2つのスイッチは結果の見た目を変えるもので、内容を変えるものではありません。デフォルトでオンになっている「アニメーション3Dサイコロ」は、各サイコロが回転して止まるまでのキューブのアニメーションを描画します。これをオフにすると、数字だけのシンプルなリストが即座に表示されます。「ランダムな色」は、標準の赤色の代わりに各サイコロに個別の色を割り当てますが、これは「アニメーション3Dサイコロ」がオンになっている場合のみ機能します。シンプルなリストには色を塗るサイコロがないからです。また、ドット(目)が描画されるのは6面ダイスのみです。17面ダイスの標準的なドット配置というものは存在しないため、それ以外の種類のサイコロでは出た数字がそのまま面に表示されます。
結果の下にある行は、計算の手間を省いてくれます。Σはロールに含まれる各サイコロの合計値です。その横には、そのロールにかかった時間と、ローカルで生成されたことを示すメモが記載されています。「すべてコピー」ボタンは結果をクリップボードにコピーし、「ファイルに保存」ボタンはそれをテキストファイルに書き出します。どちらも合計値だけでなく、個々の出目を1行に1つずつ出力するため、ロール履歴が出目の正確な記録として残ります。「履歴」機能は、最新の10回のロールをブラウザ上に直接保存します。いずれかをクリックすると合計値とともに画面に復元でき、個別の履歴をコピーしたり削除したりできるほか、いつでもリスト全体をクリアすることが可能です。「クリア」ボタンは結果ウィンドウを空にしますが、設定はそのまま保持されます。
仮想サイコロは本物のサイコロよりも優れているのでしょうか?公平性の観点から言えば、答えははいであり、その理由は物理的なものです。一般的な成型サイコロには穴が開けられ、色が塗られたドットがあります。穴を開けるたびに材料がわずかに削り取られるため、6つの穴がある6の面は最終的に最も軽くなり、その反対側の面が最も重くなります。カジノ用のprecision diceがわざわざ作られているのはまさにこのためです。ドットは平らな表面と同じ密度の材料で埋められ、角は丸められることなく直角にカットされ、ミリメートルの端数まで正確に加工されています。それでもなお、数時間プレイした後にはゲームから取り除かれます。ボードゲームの箱に入っているサイコロにはこれらの特徴は一切なく、時間の経過とともにさらに状態は悪化します。欠けた角、長年手の中で振られて丸くなったエッジ、テーブルの代わりに毛布の上で振られたサイコロなどは、現実には全くランダムではありません。仮想サイコロには狂いが生じるような幾何学的な形状はなく、摩耗することもなく、振り方のテクニックについて議論する余地も残しません。そして、1万回目のロールでも最初のロールと全く同じように振る舞います。一方で仮想サイコロにできないのは、手のひらに心地よく収まることです。正直な結論として、この生成器は公平性において勝り、儀式的な側面においては劣ると言えます。
公平なサイコロと公平な合計値は同じではありません。1個のサイコロの各面が出る確率は等しいですが、サイコロを足し始めると、合計値からその均等性は失われます。そしてこの事実はしばしば人々を驚かせます。2個の6面ダイスの出目の組み合わせは36通りあり、そのすべてが等しい確率です。そのうち合計が7になる組み合わせは正確に6通りありますが、合計が2になる組み合わせは1通り、12になる組み合わせも1通りしかありません。つまり、完全に公平なサイコロであっても、7は12の6倍の頻度で出現するのです。3個目のサイコロを追加するとこの傾向はさらに狭まり、3d6の結果は中央値の周りに集中するようになります。極端な値よりも平均的な値が求められる場面で、ゲームデザイナーが3d6を採用するのはこのためです。1個の6面ダイスの平均値は正確に3.5なので、2d6の平均は7、3d6の平均は10.5となります。テーブル上では、特定の出目が出る確率よりも、このような算術のほうが役立つのが普通です。これらは決して欠陥や偏りではありません。サイコロの足し算とはそういう仕組みであり、だからこそゲームでは1個のd12ではなく、ほぼ同じ範囲をカバーする2d6が求められるのです。
サイコロに記憶はありません。連続で4回6が出たからといって、5回目に6が出る確率が下がるわけではありません。一晩中1が出なかったサイコロが、そのぶん1を出す資格を得るわけでもなく、特定の面について「そろそろ出番だ」と言えることもありません。すべてのロールは前のロールから完全に独立しており、サイコロは1分前に自分が出した目を覚えてはいないのです。これに反する直感はgambler's fallacy(ギャンブラーの誤謬)と呼ばれ、人間が自分でサイコロの結果を捏造するのが非常に下手な理由もこの直感にあります。もっともらしいロールの連続を書くように求められると、私たちは繰り返しを避け、大きな数字と小さな数字を交互に並べ、本来のランダム性が生み出すよりもはるかに均等に数字を分散させてしまいます。対照的に、本物のランダム性はむしろ、出目のかたまりや長い連続、そして長い空白を生み出します。怪しいほど整然と見える連続は、実際には人間の指紋のようなものなのです。
なぜこのサイコロ生成器を選ぶべきなのでしょうか?
- ブラウザのみでロール完結:サイコロはお使いのデバイス上で振られ、どこにも送信されません
- Web Crypto APIによる乱数生成:Math.random()を使わない暗号論的に安全な乱数
- modulo biasなし:rejection sampling技術により、すべての面の確率を完全に均等に保ちます
- ゲームが要求するあらゆるサイコロに対応:一度に1~20個、d2からd1000まで
- 自動で合計値を計算:Σがロール全体の合計を計算するため、3d6の暗算は不要です
- アニメーション3Dサイコロ機能:アニメーションをオフにすれば、即座に数字のリストを取得可能
- サイコロごとの個別カラー:一目で複数のサイコロを簡単に区別できます
- 「履歴」と「ファイルに保存」機能:後で証明が必要になるかもしれないロールのログを保存可能
- 無制限かつ無料:登録不要、利用制限なし、当社のサーバーにデータは保存されません
サイコロは、誰も恣意的に選んでいない数字がゲームに必要な場所であれば、どこにでも登場します。TRPGのプレイヤーはd20で攻撃判定を行い、キャラクターの能力値に3d6を振り、パーセンタイル判定にd100を振ります。サイコロ袋の半分をなくしてしまったグループでも、そのままゲームを続けられます。すごろくやキッチンのテーブルに広げたボードゲームでも、サイコロをなくしたときの対処法は同じです。「面」を6に、「サイコロ」を2に設定するだけでプレイを再開できます。リモートで遊ぶグループは、画面共有でサイコロを振り、全員が同じ出目を確認できるようにします。小学5年生の教室では、教師が確率論の典型的な授業を行います。2d6を60回振り、合計を数え、黒板に自然とパターンが描かれるのを見せます。ゲームデザイナーは、メカニクスが印刷に回される前に、本当に見た目通りに予測不可能であるかをテストします。そして、膨大な数のロールが、誰が最初にプレイするか、誰がコーヒーをおごるか、あるいは2つの計画のうちどちらが採用されるかを単に決定しています。これらは偶然に委ねられた決断であり、人類は数千年にわたりサイコロを使ってそれを解決してきました。
このツールには、知っておくべきいくつかの正直な制限があります。1回のロールで使用できるサイコロの種類は1つだけです。「面」フィールドの値はそのロールのすべてのサイコロに適用されるため、d20とd6を一緒に振るには1回ではなく2回の別々のロールが必要になります。また、修正値(モディファイア)、有利(アドバンテージ)や不利(ディスアドバンテージ)、エクスプローディングダイス(振り足し)の機能はなく、ダイス表記を直接入力するボックスもありません。提供されるのは出目とその合計値だけであり、その後にルールを追加するのはあなたの役目です。Σはロールに含まれるすべてのサイコロを計算しますが、「すべてコピー」および「ファイルに保存」ボタンは合計値ではなく、個々の出目を書き出します。アニメーションは、設定された面数に関係なく常に6面体のキューブを表示します。これは単なる装飾であり、キューブが止まった面はエンジンがすでに生成したロールの結果だからです。ロールはお使いのデバイス上でローカルに実行されるため、リモートプレイでは1人がロールして画面を共有することになります。このツールが生成するのは、自分で説明できるロールであり、第三者が証明できるロールではありません。そして当然ですが、暗号論的に公平なサイコロはあくまで公平なサイコロに過ぎません。いかなる宝くじやカジノの抽選とも関係がなく、誰かに有利に働くことはありません。これらの制限の範囲内であれば、保証は確固たるものです。つまり、どのサイコロのどの面であっても、1回のロールで出る確率は完全に等しいということです。