このページには本スレであげられた解析が必要な事項、作業項目等を記述します。
具体的な内容は更に追記していく予定です。
具体的な内容は更に追記していく予定です。
解析が必要な事項
解析などの高度な知識と時間、技術レベルが必要になる項目です。
- 同一と思われる乱数の進みでMethod 違いのポケモンが出現する原因が不明
- V-Blank割り込みのタイミングによりたまたまずれているだけだという説がある。ただし、有効な量のデータは今のところ報告は無い。
- シンクロの影響でフレームがどのように進むのかが推測レベルである
- 仮説として提起されているのは、次の通り。また、これは実験によっても有効なデータが確認されている。詳細な解析待ち状態である。
* ポケモンIDによって性格が決定される (これは確定事項) * ポケモンIDは4byteである。 (これは確定事項) * シンクロが成功してもポケモンIDで望みの性格にならなかった場合は 次のポケモンIDがシンクロ性格になるまで乱数が進む このときは乱数がシード1個分進むのではなく2個分進む (これは未確定) * これにより、ポケモンIDの判定が奇数フレームの物で始まると奇数フレームの ポケモンしか出現しない。偶数フレームの物で始まると偶数フレームの物しか 出現しない(これも未確定) 文章で書くと複雑ですが、 乱数列をr[0], r[1] ... としてゆくと、ポケモンID生成での乱数の進み方が r[0]r[1], r[1]r[2], r[2]r[3] で判定されるのではなく r[0]r[1], r[2]r[3], r[4]r[5] で判定されるため r[1]r[2]の個体は出現しない と思われます(あくまで推測なので注意。要検証)
- 目的の個体値・性格のポケモンがドゴーム・ゴニョニョだった場合にメタモンに出現パターンを変えることが出来るか不明。方法を開発する必要あり。
- まずは、出現ポケモンの決定からポケモンIDが決定されるまで何個の乱数が利用されるかを調査する必要がある。
- 上記の乱数の数を変更することが可能な要因(特性など)の調査を行う。
- これらが分かると、出現ポケモンと個体値を完全に記述した表を作成することが可能となる。
- 上記のシンクロの仮定が正しい場合に、個体値を固定した上で出現するポケモンを操作することが可能となる。
- ただし、ポケモンの個体値を決定する乱数の系列と出現判定を行う乱数の系列が同一であるかどうかの確認はとれていない。
- 静電気、磁力、メロメロボディなどが乱数の進み(個体値)に与える影響が不明
- 出現するポケモンを制御することが出来る特性なので、上記と併せて考えると、ある個体値に対する出現ポケモンを変更させることができる可能性が高いと考えられている。
- あまいかおりを利用するポケモンによって乱数の進み方が変わるかどうかが不明
- あまいかおり自体に乱数を変更する要因があるとは考えにくいが、使用したアクション・ポケモンの鳴き声による経過時間で乱数の進み方が変わる可能性があると推測されている。
- 乱数のずれ方を調整する方法があるかが不明
- 乱数の進みが大きい箇所に存在するポケモンを効率良く捕獲する方法の開発(強制的かつ正確に乱数を進ませる方法を開発)
- 戦闘における乱数の進み方が不明
- Lv46以上のポケモンを先頭にしてスプレーを振った状態で向きを変える作業のみを行うことによって乱数の進みを制御できるかもしれない。ダート自転車で音を数えた方が確実かもしれない。
- 戦闘の場合は相手ポケモンの技選択などがあるので、乱数の制御を実行するのは困難だと思われる。
- V-Blank(i.e. フレーム)で乱数が進むのは1だけなのか、状況によって変わるのかの調査
- (WORD [$02022c90] & 0x013f0102) != 0 の場合にV-Blankで乱数が進まないことは確認
- seedを初期化する関数自体は存在するが、どこから呼び出されているかは解析中
- 場所によってMethodがある程度固定されるかどうか
- 砂漠の地下道はMethod 2 がほとんど、伝説ポケモン、固定シンボルポケモンはMethod 1 が多い、釣りはMethod 3 が多い? という報告がある。さらなる情報収集と解析が必要。
- 複数存在する乱数のシードが相互に影響を及ぼしているか
- 乱数のシードが s[n+1] = 0x41c64e6d * s[n] + 0x6073, s[0] = 0x0, n>=0、出力が ( s[n+1] & 0xff00 ) >> 0x10 の形式で決定されている疑似乱数生成器は最低4種類5関数あることが確認されている。
- 上記疑似乱数生成器のシードを逆算する演算は s[n] = 0xeeb9eb65* s[n+1] + 0xa3561a1 となる。
- 既に保有しているポケモンから秘密ID(SID)を判別する方法の開発
作業項目
具体的に行う作業が決まっている項目です。
- 新規乱獲方法を整理し、Wikiにまとめる。
- 高個体値のメタモン一覧を作成し、Wikiにまとめる。
- 2chテンプレ、FAQの整備、曖昧な記述を厳密な記述に変更
- 殿堂入り方法の効率化
- RSFLEmで効率良くアイテム、技マシン、伝説ポケモンなどを取得して一周する方法の効率化
翻訳
国外で行われているポケモンの解析情報を日本語化する作業です。論文などを読む技術が必要になります。基本的に日本語の資料の方が充実しているのであまり多くないかもしれません。
- smogon 他ポケモンサイトの有用な資料を翻訳
- ポケットモンスター情報センターなどにある資料との比較、調査
- 国外へのフィードバック
応用
乱数調整によって考えられる応用方法です。
- メタモン以外のフィールド野生ポケモン捕獲への応用
- 色違いポケモン捕獲への応用
- ポケモンIDによって色違いが決定するため、メタモン捕獲とほぼ同様の方法で可能。報告例およびツール化例あり。
- タマゴ孵化への応用
- 釣りへの応用
- 釣りでは「ポケモンをつりあげた」と表示されている状態でしばらく待ち、目的の時間になったら戦闘を開始することにより乱数が制御できるとの報告がある。
- 釣りで利用される乱数と個体値を決定する乱数が同一であるかの調査が必要。ただし、釣りで利用する乱数は高々数個のため、ボタンを押すタイミングによる乱数ずれの方が影響が大きいと考えられる。
- ヒンバス捕獲への応用
- ヒンバスを捕獲可能なポイントは一日に一回決定される。このため、出力がセーブ領域のどこかに保存されていると考えられる。値の保存場所と生成アルゴリズムの調査が必要
- ツールの整備
- エメラルド以外への応用(特にDS版)
- 現在プラチナで解析を実施している人がいる。高個体値のクレセリアやヒードランの捕獲報告がある。
- Wikiに纏めてくださる方を募集中。