【Arduino自動化14】ロトミIDくじ無限抽選
ますたーです。こんにちは。
今回は、いわゆるランクマバグ状態で「ロトミIDくじ」を引き続ける自動化記事です。
Arduino自動化記事もこれで第14回。これからもよろしくお願いします。
なお、Arduino Leonardo自動化の導入・機材構成については導入記事を参考にしてください。
導入記事:【Arduino自動化01】Arduino開発環境の導入
※本ブログに初めてお越しの方は「本ブログについて」もぜひ、ご覧ください。
概要
本記事では、ランクマバグ状態※を利用した、ロトミIDくじ無限抽選を実装します。
※便宜上「ランクマバグ」と表記しますが、当ブログではランクマッチを使用しません。通信切断・初手降参の推奨もしません。
【!】ロトミIDくじは、その特性上、大量の「レポート」を伴います。必然的にmicroSDや本体メモリへの書き込みが増えますので、セーブデータ破損のリスクや動作不良のリスクなど、充分に危険性を理解した上でご参考ください。
NintendoSwitch Ver.11.0アップデート対応済です。
★2021/9/20追記:NintendoSwitch Ver.13.0アップデート対応済です。
★2022/10/23追記:NintendoSwitch Ver.15.0アップデート対応済です。
では、目次です。確率計算とかもしました!(理系っぽい!)
ロトミIDくじの当選確率を知りたいという方はコチラ⇒読み飛ばす。
- 概要
- ポケモンセンターでロトミIDくじが引ける
- ロトミIDくじで特等「マスターボール」を狙う
- ロトミIDくじの当選確率
- 「マスターボール」の当選確率は2倍?
- プログラムの使い方(ランクマバグの入り方)
- ソースコード
- あとがき
ポケモンセンターでロトミIDくじが引ける
まずは前提、というか余談です。
ポケモン剣盾では、ポケモンセンター各店舗のパソコンライクな機械「ロトミ」で1日1回「IDくじ」を引くことができます。
「IDくじ」をご存じない方にも説明をすると、手持ち・ボックスにいる全ポケモンの親IDと、ランダムで発生した5桁の乱数とを比較し、一致する桁数に応じて賞品が貰える、という毎作品お馴染みのおまけ要素です。
古くは第二世代(金銀)時代に始まり、ID完全一致の特等景品「マスターボール」は当時からの憧れの的でした(当時は、1日1回ではなく1週間に1回だったので引ける回数は大きく増えましたね)。完全に余談ですが、この「IDくじ」、何故か第五世代(BW)だけなかったんですよね。毎日のゲームモチベが減ったものです。
前作までは、わざわざコガネシティ(ラジオとう)やミナモシティ(ミナモデパート)、コトブキシティ(テレビコトブキ)などの街に移動する、いわゆる「IDくじのための移動」が必要でした。
今作は、なんと、どこの街のポケモンセンターでもIDくじが引けます。DLCでも、鎧の孤島なら拠点にロトミを連れてくることができるため、大変手軽にくじを回すことができるようになりました。また、今作のIDくじについても例外なく、特等(=ID下5桁一致)の賞品は「マスターボール」になります。
ロトミIDくじで特等「マスターボール」を狙う
ロトミIDくじは、ランダムに生成された5桁の数字を、手持ち・ボックスの全ポケモン(ポケジョブ除く)の親IDそれぞれの下5桁とを比較し、一致した桁数に応じて賞品がもらえます。
さて、肝心の特等「マスターボール」ですが、前述の通り親IDの下5桁が完全一致する必要があります。親IDが1つの場合(例えば一切他人と交換していない場合)の「マスターボール」当選確率を計算すると、「10の5乗分の1」になります。すなわち、わずか0.001%です※。
※一説によれば、今作は先頭5桁の一致も含むという噂?があるようです。それに則れば単純計算で当選確率は2倍になりますが、本ブログでは7回「特等」を当選していますが「上5桁一致」での当選はありませんでした。そのため、下5桁のみ当選する前提にて確率計算・表記しています
※ところが、後述の通り、実測値で計算した確率が「理論値の2倍」になります
ロトミIDくじの当選確率
上述の通り、「マスターボール」の当選確率はただでさえ低いですので、ミラクル交換やポケモンHOME(スマホ版)の交換機能などを活用し、できるだけ親IDを集めておくと良いでしょう。
ボックスいっぱいにすると30匹×32ボックス=960匹預けることができますので、これらのIDに一切の重複が無いと仮定すれば、マスターボールの当選確率が約1%まで跳ね上がります。
一応、理論値としては、手持ち6匹+960匹すべて違うポケモンで0.9614%が上限です。
300匹で特等の確率は0.3%程度になるので、マスターボール狙いなら、少なくとも10ボックス程度は他人の親IDのポケモンで埋めておきたいです。どうしても難しい場合でも、ハズレの確率が1%を下回る50種類までは少なくとも集めておきたいです。
なお、IDの一致桁数に応じた賞品の当選確率は下記の通りです(筆者試算)。
ID数 | 【特等】5桁 マスターボール |
【1等】4桁 ふしぎなあめ |
【2等】3桁 ポイントマックス |
【3等】2桁 ポイントアップ |
【4等】1桁 モーモーミルク |
はずれ |
1 | 0.00% | 0.01% | 0.09% | 0.90% | 9.00% | 90.00% |
10 | 0.01% | 0.08% | 0.81% | 7.75% | 52.41% | 38.94% |
25 | 0.02% | 0.20% | 2.00% | 18.00% | 70.31% | 9.46% |
50 | 0.05% | 0.40% | 3.95% | 31.96% | 62.74% | 0.90% |
100 | 0.10% | 0.80% | 7.71% | 50.90% | 40.48% | 0.01% |
300 | 0.30% | 2.36% | 21.01% | 69.69% | 6.64% | 0.00% |
500 | 0.50% | 3.90% | 31.85% | 62.66% | 1.09% | 0.00% |
700 | 0.70% | 5.41% | 40.65% | 53.07% | 0.18% | 0.00% |
960 | 0.96% | 7.32% | 49.59% | 42.11% | 0.02% | 0.00% |
966 | 0.96% | 7.37% | 49.77% | 41.89% | 0.02% | 0.00% |
言わずもがな、ポイントマックスはもちろんマスターボールやふしぎなあめの当選確率は、持っているID数が多ければ多いほど上がります。ユニークなのはポイントアップとモーモーミルクの当選確率で、途中で極大値を取ります。
具体的には、ポイントアップは283匹の時に69.764%、モーモーミルクは28匹の時に70.504%でそれぞれ極大値を取ります。現実的に960匹違うIDでボックスを埋めるのはツライと思いますので、このあたりを参考に、狙う道具を検討しつつ、事前に用意するポケモンの数を検討すべしですね。
「マスターボール」の当選確率は2倍?
9時間46分放置でマスターボールを7個入手しました
筆者は過去作でGTS交換したものなども含めて12ボックス分(360匹)、ポケモンHOMEで連れてきて、自動化プログラムを使用しました。結果、プログラムを9時間46分稼働させ続け、推定試行回数888抽選で「マスターボール」7つを入手できました。
マスターボールの当選確率を計算(考察)
さて、確率計算です。完全に余談ですので、読み飛ばしOKです→読み飛ばす
888試行に対して7回の「特等」当選ですが、これは確率に表すと0.7883%になります。一方、12ボックス分(360匹)での、1試行あたりの入手確率は計算上、0.3593%になります。すなわち、実績値が理論値のおおよそ2倍になるという、かなり稀有な事象が起こっています。
もし、噂通り「上5桁も当選する仕様」なら理論値は上記2倍の0.7187%になるので理論値とかなり近しくなりますが、これはかなり不思議です。というのも、筆者が特等を引いた7回とも「下5桁」で当選しているからです※。
※7回続けて「下5桁」で当選するのは統計学的に有意水準1%で有意な偏り(符号検定よりp<0.01)と言えます。要するに偶然の範疇を超えています
なので、もしかしたら、ロトミは内部的に2回「下5桁完全一致」の抽選を行っているのかもしれませんし、上5桁で当選した時に、下5桁で言い直しているのかもしれません。
いずれにしても、実績値から考えるに当選確率は、単純な「下5桁完全一致」で計算した理論値の2倍と考えるのが妥当なので、ロトミIDくじの各賞品の当選確率は下表になるかもしれません。どちらを信じるかは読者の判断に委ねます。
ID数 | 【特等】5桁 マスターボール |
【1等】4桁 ふしぎなあめ |
【2等】3桁 ポイントマックス |
【3等】2桁 ポイントアップ |
【4等】1桁 モーモーミルク |
はずれ |
1 | 0.00% | 0.01% | 0.09% | 0.90% | 9.00% | 90.00% |
10 | 0.02% | 0.06% | 0.82% | 7.75% | 52.41% | 38.94% |
25 | 0.05% | 0.15% | 2.03% | 18.00% | 70.31% | 9.46% |
50 | 0.10% | 0.30% | 4.00% | 31.96% | 62.74% | 0.90% |
100 | 0.20% | 0.60% | 7.81% | 50.90% | 40.48% | 0.01% |
300 | 0.60% | 1.77% | 21.30% | 69.69% | 6.64% | 0.00% |
500 | 1.00% | 2.93% | 32.33% | 62.66% | 1.09% | 0.00% |
700 | 1.39% | 4.06% | 41.31% | 53.07% | 0.18% | 0.00% |
960 | 1.90% | 5.49% | 50.48% | 42.11% | 0.02% | 0.00% |
966 | 1.91% | 5.52% | 50.66% | 41.89% | 0.02% | 0.00% |
プログラムの使い方(ランクマバグの入り方)
おまたせしました。
肝心のプログラムの使い方ですが、ロトミの前でソースコードを書き込んだArduinoを挿し込むだけの簡単仕様です。ただし、いわゆる「ランクマバグ」状態で使う必要がありますので、ランクマッチで1戦してください。
なお、ランクマッチを使用しない方法での「ランクマバグ状態」移行は下記手順でできます。画像は過去記事の使いまわしです。あしからず。
- YY通信で「通信対戦」を行う(ローカル通信)
- もう一台のSwitch・剣盾を使ってその通信対戦に応じる
- 戦闘が始まったらHomeボタン長押し→「機内モード」をONに変更する
- エラーが発生するのでそれを閉じて、「にげる」選択
- フィールド画面に戻ってくる(ランクマバグ状態に移行完了)
ソースコード
今回も例のごとく、「ランクマバグ」状態で使います。使い方は、最寄りのポケモンセンターのロトミの前でArduinoを挿し込むだけの簡単仕様です。
30試行あたり19分47秒(実測値)だったので、ざっくり1時間放置で90回抽選できます。
NintendoSwitch Ver.11.0アップデート対応済です。
2021/9/20追記:NintendoSwitch Ver.13.0アップデート対応済(詳細はこちら)
2022/10/23追記:NintendoSwitch Ver.15.0アップデート対応済
※Switch Liteをご利用の方は「#define SWITCH_VER (15)」を「#define SWITCH_VER (12)」に書き換えてご利用ください。ただし、未検証です。
※2023/5/31 微修正
あとがき
今回は、「ロトミIDくじ」の自動化について紹介しました。
ロトミってRotom Information Serviceの意味だったんですね。この記事を書くまで知りませんでした。
さて、本稿でも結構考察しましたが、様々なWebサイトを調べてもマスターボールの当選について「5桁一致」とは書いてあるものの「下5桁」のみならず「上5桁」も含むのかが分からず、自分で検証してしまいました。
結論、ロトミは「下5桁」でしか当選を教えてくれないが、確率は単純計算時の2倍で設定されている、という仮説ができましたね。そういう意味では、ある意味「自動化記事」でありながら「疑問だし記事」にもなってしまいました(笑)。
誰か、数学に強い人か、ロトミに詳しいポケモン博士にぜひともコメントしていただきたいものです(もしかしたらそもそも私の試算が間違っている、なんて本末転倒かもしれませんし)。
話が逸れましたが、これで「マスターボール」の自動入手もできるようになりました。マスターボールは「孵化厳選」では絶対に引き継げない、とても希少なボールですし、ボールエフェクトもカッコイイんですよね。そういう意味でも、すごく需要があるボールなのに…。もう少し手軽に入手できれば良いのにな、と思います。そういった意味でも、需要のある自動化だったのではないでしょうか。
本ブログが皆様の自動化ライフをより豊かなものにできれば幸いです。
ではではc⌒っ.ω.)っ
導入記事:【Arduino自動化01】Arduino開発環境の導入
次の記事:【Arduino自動化15】ラテラルタウン掘り出し物自動購入
2021/2/19追記:IDを効率よく集められる「ミラクル交換」の自動化記事を執筆しました。