サイコロ(d4〜d100、補正値・履歴対応)
個数・面数(d4/d6/d8/d10/d12/d20/d100 またはカスタム)・補正値を指定。各振り目は crypto.getRandomValues で生成、棄却法で完全均等分布。
仕組み
乱数生成の仕組み
各ダイスは crypto.getRandomValues — ブラウザの暗号学的に安全な乱数API(HTTPSセッションも同じ実装)を使用。さらに棄却法で完全に均等な確率分布を保証します。素朴な「乱数 % 面数」は2³²が面数で割り切れない場合に偏りが出るため、本ツールでは偏りを発生させる値を捨てて再抽選します。
結果、d100 で1〜36が出やすくなる(粗末な実装でよくあるバグ)こともなく、d3 で1・2・3が均等に出ます。物理ダイスを無限精度にしたのと同じ数学です。
TRPG(テーブルトークRPG)記法
標準記法: 「NdS+M」 — N個のS面ダイス、M補正値。「2d6+3」は6面ダイス2個振って合計に3足す。「1d20+5」はD&Dの典型的な攻撃判定(キャラクター修正値+5)。
標準ダイスセット: d4(三角錐)、d6(立方体)、d8(八面体)、d10(五角形十偏方形)、d12(十二面体)、d20(二十面体)。d100は通常 2d10(十の位+一の位)で振りますが、本ツールの d100 プリセットで一発振り可能。
活用シーン
D&D / パスファインダー / TRPG全般: 攻撃判定 d20+5、ダメージ判定 1d8+3、キャラ作成 4d6 drop lowest など。
ランダム選択: N人から1人選ぶ場合 dN を振る。7人なら sides=7。暗号学的乱数で公平性が保証されます。
確率の学習: 大量に振って分布を観察。複数ダイスの和は中心極限定理により正規分布に近づきます。
意思決定: 「Xすべきか」の50/50は d2、重み付け決定は d10で閾値設定(1〜7=Yes、8〜10=Noで70/30)。
よくある質問
›本当に公平?
はい。crypto.getRandomValues + 棄却法で各面の確率が完全に等しくなります。modulo 演算による端の偏りは発生しません。
›ダイスの最大個数は?
1回50個まで。それ以上必要なら複数回振ってください(各々独立)。
›面数の最大は?
1000まで。それ以上は数学的には動きますが用途が限定的です。
›お気に入りの組合せを保存できる?
未対応です。よく使う「攻撃判定」「ダメージ判定」のプリセット保存機能を今後検討中。
›なぜ d20 が有名?
Dungeons & Dragons が技能判定や攻撃判定で標準採用。各面の確率5%で、d100ほど煩雑にならず細かい差を表現できる絶妙な粒度。
›なぜ履歴は10件まで?
画面を整理しておくため。長期ログが必要なら結果をメモアプリかキャラシートにコピーしてください。
›物理ダイスは不要になる?
機能的には代替可能、特にオンラインゲームでは。物理ダイスは触感・儀式性で愛用されますが、暗号学的乱数の数字ロールは少なくとも同じくらい公平です。
›入力データはサーバーに送信?
いいえ。すべてローカルで完結。
関連ツール
最終更新: