ミルクの日記

ポケモンの乱数調整方法を紹介しているサイト

【第7世代乱数】PID孵化乱数検証

本記事において、
乱数調整の調査・検証の為に、KeySAVe(BV解析)を使用しております

苦手な方はブラウザバックしてください

実践編はこちら

事前知識

  • PIDの仕様の理解
  • TSV孵化(孵化乱数の知識)
  • 固定乱数(タイプ=ヌル・ベベノム相当の色乱数ができるレベル)
  • KeySaveによるBV解析

乱数調整のながれ

NPC数はUSUMの為、サンムーンの場合は変動あり

- NPC 場所 説明
- 預かり屋 理想個体のタマゴを作っておく(この時点では受け取らない)
なし 続きから始める画面 seed特定
2~3
(変動)
セーブポイント 預かり屋の妹前に移動
ミルタンク確認時→ゆっくり移動
ケンタロス待ち→ダッシュで移動
5-7
(変動)
妹前 -
なし QR画面 現在位置特定
5*1 メニュー画面 フレーム消費
なし QR画面 現在位置確認
フレーム消費微調整
5*2 妹前 メニュー閉じ→会話開始まで
5 妹前 会話開始中→タマゴを受け取り

(6世代以降の)PID仕様

PID=性格値のこと

6世代以降のPIDを参照する要素は色違い判定のみ

簡単な説明的なもの

https://milk4724.hatenadiary.org/entry/20220326/1648221467

事前準備

  • TSV孵化の要領で理想個体のタマゴを作る
  • 3DS2台

検証環境

  • ウルトラサン

※サンムーンの方がBV解析やNPC数でやりやすい

セーブポイント

http://i.imgur.com/FNE9ag1.png
画面の左側にミルタンクorケンタロスが通過を確認できる位置

PID決定タイミング

http://i.imgur.com/O1hKUfd.png
この画面で『A』を押したとき

調査内容

NPC数の調査

セーブポイントNPC数調査

  • 調査方法
    • セーブポイントの位置でメニュー画面を出してNPC数を固定化
      180秒待機してフレームの推移結果よりNPC数を特定
  • 使用seed:0xCF3B9424
セーブポイント ケンタロスorミルタンクなし

http://i.imgur.com/PuBnCMM.png
ポケモンがいない時に、メニュー画面で固定

  • フレーム数の推移結果
現在位置 736 180秒待機後 13586
  • ツール結果

http://i.imgur.com/RF9iQiQ.pnghttp://i.imgur.com/OGlhsfJ.png
NPC2の場合、300s→119.5sに推移しており180秒待機した結果と一致する
※他のNPC数にした場合は10秒以上の誤差あり

セーブポイント ケンタロスorミルタンクあり

http://i.imgur.com/Q8w4SIS.png
ケンタロス通過時に、メニュー画面で固定

  • フレーム数の推移結果
現在位置 17719 180秒待機後 34678
  • ツール結果

http://i.imgur.com/Ju19UTO.pnghttp://i.imgur.com/LYQtGyU.png

NPC3の場合、300s→119.8sに推移しており、180秒待機した結果と一致する

預かり屋の妹前の位置

http://i.imgur.com/kHH4bO9.png
妹前の位置はメニュー画面を出していない状態だと、NPC数5~7で変動する
ポケモンが見えた瞬間セーブポイント移動する

移動後はフェスサークルでの消費は厳禁
NPC数の固定化が外れるため
※フェスサークルで大雑把に消費する場合はセーブポイントで済ましておくこと

  • 移動に伴うフレーム消費数

http://i.imgur.com/aWymC5p.png

移動前 34678 移動後 35676

約1000F程度消費する

妹前の位置 ケンタロス通過時に移動した場合
  • フレーム数の推移結果
現在位置 34678 180秒待機後 61391
  • ツール結果

http://i.imgur.com/LRnoX5x.pnghttp://i.imgur.com/3vEekCe.png
NPC5の場合、300s→119.6sに推移しており、180秒待機した結果と一致する

タマゴ受け取り時のNPC数及びPID決定タイミングの調査

タマゴ受け取り時のタイミングにおいて、
個体決定箇所と思われる場所が複数ある事から決定タイミングの調査及びNPC数の変動を確認

  • 例 10秒で受け取った場合

http://i.imgur.com/1U9wHYu.png
NPC5のツール時間で10秒後に受け取った場合、
実際に出た個体はNPC5のツール時間で5秒経過した位置の個体だった

  • 調査方法
    • それぞれのパターンの調査結果を比較して、会話開始後にNPC数の変動があるか特定
      • パターン① 使用seed:0xCF3B9424
        タマゴ受け取りの会話開始前:すぐ会話に入る
        タマゴを貰った画面:180秒待機後にタマゴを受け取る
      • パターン② 使用seed:0xE2944466
        タマゴ受け取りの会話開始前:すぐ会話に入る
        タマゴ受け取る会話中:180秒待機後にタマゴを受け取る
      • パターン③ 使用seed:0x707edd99
        タマゴ受け取りの会話開始前:メニュー画面出して180秒待機する
        タマゴ受け取りの会話中:速やかにタマゴを受け取る

タマゴを孵化し、BV解析を行う事で性格値を特定
得られた性格値よりフレームの位置を確認

パターン① タマゴを貰った表示中に待機
  • 180秒待機画面

http://i.imgur.com/TDfm7uX.png

  • KeySave 結果によるESV特定 Optioin pretty

http://i.imgur.com/t379DR5.png
解析結果よりPSV278

  • KeySave 結果によるPID特定 Optioin json

http://i.imgur.com/BXjcVcz.png
10進数表記の為、16進数に置換
性格値:80680352→0x04CF15A0

  • 3DSRNGtoolとの突合せ

http://i.imgur.com/4A55RnA.png

  • フレーム数の推移結果
現在位置 61391 貰った表示中に180秒待機 62318 差分 +927
パターン② タマゴを受け取るか確認中に待機
  • 使用seed:0xE2944466
  • 180秒待機画面

http://i.imgur.com/O1hKUfd.png

  • KeySave 結果によるPID特定 Optioin json

http://i.imgur.com/5Lw7IoS.png
性格値:1897567136→0x711A93A0

  • 3DSRNGtoolとの突合せ

http://i.imgur.com/OadcqSS.png

  • フレーム数の推移結果

http://i.imgur.com/XZ9HumI.png

現在位置 2135 貰った表示画面で180秒待機 27874 差分 +25739

【参考】
NPC4・・・199s
NPC5・・・166s
NPC6・・・142s

パターン③ メニュー画面で待機
  • 使用seed:0x707edd99
  • 180秒待機画面

http://i.imgur.com/KKeInMv.png

  • KeySave 結果によるPID特定 Optioin json

http://i.imgur.com/pOyEkiD.png
性格値:302793105→0x120C4191

  • 3DSRNGtoolとの突合せ

http://i.imgur.com/w9qP6FC.png

  • フレーム数の推移結果
現在位置 1739 メニュー画面表示中に180秒待機 27360 差分 +25621

【参考】
NPC4・・・219s
NPC5・・・183s
NPC6・・・157s

調査結果

  • タマゴ受け取りのNPC数の変動はなし(ミルタンクケンタロスが近づいた場合は除く)
  • PID決定タイミングは『タマゴ・・・ほしいよね』質問に『はい』と答えたタイミング
  • ケンタロス通過時にメニューで待機すると、NPC数が1増える

備考

  • Q,3DSRNGtoolのTSVを変更している
  • A,色違いのみを出力しやすくするため
  • Q,3DSRNGtoolの白塗り理由
  • A,検証情報には不要部分のため
  • Q,待機時間180秒に設定理由
  • A,180という数字じたいには特に理由なし
    短い時間だと押下タイミングや瞬きなどの要素のズレでNPC数が判別できない可能性があるため
    もう少し短くしてもよかったと思う
  • Q,成功してますか?
  • A,成功していないので、調べました
    成功しました

注釈

*1:メニュー画面でNPC数固定化している為

*2:変動する前に会話に入る