すげー

エメラルドのループ利用厳選は実機でちゃんと通用することが確認できました。



・実験方法
カイオーガの前でセーブ。
ソフトリセット後、最速でカイオーガを捕まえる&個体値性格チェック。
個体値と性格から、性格値の下位4バイトを決定するのに使われた擬似乱数の値を逆算する。
逆算した値から、その後2000フレーム(適当)までに現れる(はずの)カイオーガ個体値と性格を計算。
ソフトリセット後、最速より若干ラグを作って、最速より数秒遅くカイオーガを捕まえる&個体値性格チェック。
チェックした個体値と性格が、既に計算したものに一致するかどうか調べる。


・結果
3秒くらい遅らせて捕獲→200フレーム後付近に出ると予想したものとすべて一致。
10秒くらい遅らせて捕獲→600フレーム後付近に出ると予想したものとすべて一致。



あと、擬似乱数の発生と消費がどのタイミングで行われているかですが、
ストップウォッチで、
ソフトリセットから20.097秒 オープニング長めに見る→553F
ソフトリセットから19.987秒 カイオーガの目の前まで最速→541F
となったので、リセット後、オープニングの時点で1フレームに1つ消費されているようです。


なので、目当ての個体値&性格を狙う場合、
ソフトリセットした瞬間から、目当てのポケモンと遭遇するまでの時間を計ればいいということになります。
とりあえず大まかに何秒くらいか調べて、その後早すぎた遅すぎたを毎回調べて微調整していくのがよさそう。


究極的には、ソフトリセットからAボタン押すまでを設定時間通りに押してくれるツールが欲しくなってくるな(
半自動タマゴ割り機が作れるんだから全自動厳選機も夢じゃなかろ


でも、狙いからのばらつきが前後1秒もあっても、120回の試行を行えば目当てのやつと1回遭遇できると期待できるくらいなんだから、割と短時間で目当ての遭遇できる気がする。最初思ったより、机上論ではないっぽい。
ソフトリセットと同時にストップウォッチを押すときの誤差が0.5秒、Aボタンを押すときの誤差を0.5秒としてもそのくらいだし、実際は0.5秒もずれることはないはず。
難しいのが狙いの個体がソフトリセットから何秒後か推定するところかな。測定&修正が必要だからそこに時間を食いそう。




次は実践。
ラティはもういらっしゃらないので泣く泣くカイオーガで粘ってみます(
エメ買ってきてもいいんだけど、GBAも紛失中でレコード混ぜられないっていうね…


ちなみに、もしこれを見て、やってみたいけど、乱数の逆算とか乱数から個体値の生成がうまくできなくてやろうにもやれないという人がいたら、へぼですが現状使えているプログラムは作ったので必要であればうpできます。
実際やってみると結構感動しますよ(



※追記
やってみた。


目当て 529F 26-27-16-30-26-29,おくびょう
ストップウォッチで19.6秒くらいを狙う
以下出てきた個体のフレーム

517
526
536
527
537
528
532
536
528
526
536
531
546
531
538
533
536
534
529 19回目の試行で目当てのカイオーガを捕獲。


誤差は0.5秒(30F)以内には抑えられる感じですね。
リセット後30分とかでも、30回の試行で出せるならやる価値はあるかも。


6384Fに攻撃以外の合計が120の臆病めざ地67を発見。めざ地ラティ狙いならこいつがよさそう。