パワポケ10 バトルディッガー編で強い武器を簡単に粘る方法

パワポケ10 裏サクセス バトルディッガー編の1章では、いろんな武器を拾うことがある。バンパーと電極角をとって2章で愛用する人もいれば、88ミリ砲、77ミリ砲、ギーガー砲、122ミリ砲とかをいい性能のものを引くまでリセットして「武器粘り」をする人もいると思う。ただ、それでは時間がかかりすぎる上に骨が折れるので乱数調整による方法を紹介してみる。

 

準備すること:

・甲子園一直線編のデータを1つ以上あける

・バトルディッガー編の1章で、遺跡を3つ全部開放する

上2つを満たしたうえで、どこかの遺跡に行って追加倉庫の着脱などにより持ち物をわざといっぱいにしつつ、宝箱を見ていって目当ての武器の宝箱を見つける。宝箱の上にいながら持ち物をあけて、セーブして終わる。これで準備OK。

 

準備ができたら次を行う。

 

1、電源を切って適切な時間にゲーム起動、適切な回数だけ甲子園一直線編でオート命名をし、乱数消費をする。・・・(★)

2、ディッガー編を起動し、主砲を取る→目当ての性能の主砲ゲット!

 

以上。

 

まず、10裏の主砲の性能が決められる瞬間は、「その武器を拾った瞬間」。ステージに入ったり、宝箱に触れた瞬間ではない。持ち物がいっぱいで手に入れられなかった時はまだ性能は決まっていない(重要)。武器を拾った瞬間、乱数を24個生成し、その値によって攻撃、命中、すばやさ、弾数が決められる。

今のところ宝箱の中身を調整する方法はまだ分かっていないっぽいけど、性能だけならどうにでも粘れる。

 

現時点でいろいろ試した感覚としては、24個の乱数値のうち最初の6個が攻撃、次の6個が命中、次の6個が弾数、最後の6個がすばやさを決めているっぽい。いずれも乱数値が大きいほど大きいプラス補正になりやすい。また、それぞれの6個のうち最初の1個目に左右されるっぽい?(これはまだよくわからない。要検証)

 

説明だけだと分かりにくいので、強い主砲の例:

 

f:id:iid01:20190220210445j:plain

強い88ミリ砲その1

この主砲は、(★)で08:16:23に起動し、オート命名を9回行って得られる24個の乱数列から生成されたものである。オート命名のラストは「坂本」。

 

PokeRNGでこの乱数列を観測してみると、次のようになる。

 

f:id:iid01:20190220211318p:plain

上の88ミリ砲を生成する乱数列

 

9回オート命名して1番目から9番目の乱数を消費しているので、88ミリ砲生成に使う乱数は10番目から33番目の24個。

 

その乱数列を見てみると、・・・うん、真っ青。

つまり、値の大きい乱数値がずらりと並ぶ部分数列になっている。

この乱数列で生成した88ミリ砲が、先ほどの写真の101-94-8-22のやつ。

 

オート命名の回数が少なくてやりやすいと思うので、入門用に。

 

ちなみに、スキル「幸運」は0でやりました。幸運レベルが高いときにどうなるかは未検証。だれかやって()

 

トウコつれて幸運1でやった時は変化なかったけど()

 

 

ちなみに、今まで探した中で一番強いと思ってるのはこれ。77ミリ砲の写真だけど許して

f:id:iid01:20190220213934p:plain

強い77ミリ砲

 

88ミリ砲で換算すると、102-96-8-23になる。(各主砲の基本性能とかについてはまたいずれ書く:書きました→https://iid01.com/pawapoke10_weapon_parameter/

 

起動時間は11:24:11、オート命名回数は752回。ラスト3回の名前は佐野、斉藤、大西。

多いけど、オート命名はAを押しっぱにすると1秒あたりちょうど5回できるので、ストップウォッチとか秒針付きの時計さえあればまだ楽に行える。例えば145秒=2分25秒やれば725回。

 

この77ミリ砲を生成した乱数列は次の通り。

 

f:id:iid01:20190220214840p:plain

上の77ミリ砲を生成する乱数列

 

途中でオート命名の仕様によるスキップが7回あるので乱数消費回数は752+7=759回。

つまり、この77ミリ砲を生成した乱数列は760番目から783番目。真っ青。

 

この24個の乱数列の和は約18.9。

0~1のi.i.d.な一様確率変数24個の和が、平均12、標準偏差√2だから偏差値に換算して99くらい・・・

4.9σくらい平均から離れているっていう

正規分布近似(していいほどたくさんの和をとっているのかわからんけど)するとこれを超える確率が4.8*10^-7というので大体200万分の1という(参考:https://staff.aist.go.jp/t.ihara/normsdist.html

 

これが今まで乱数の海を探索した中で、試した中では一番総合的に強そうで実用的にも使えそう。

 

この乱数、律義に時間を全部打ち込んでって、ってやったわけではなくて、Pythonで各時間に対して上限N=1000回(乱数調整に時間がかかりすぎない程度の値)の条件で、分と秒ごとに「全探索」して求めたやつです。

Pythonはfor文使うと実行速度が顕著に遅くなるとか聞くけど、時間かかりまくり&メモリ不足で落ちまくりです

 

最適化に詳しい人がいれば・・・

 

それはそれで実行可能解を求めるのが壁になりそうな気がしないでもないけど

 

それはともかく、一応これでも88ミリ砲で102-96-8-23とかが作れるようには少なくともなるので、興味ある人はぜひ。

 

上の性能を出すのに使った(全探索のクソみたいな実行速度の重い)プログラムとか、詳しい情報とかはまたいずれ。

 

追記:プログラムについての記事書きました↓

iid01.hatenablog.com

 

それでは。