ポケモン-乱数調整備忘録

個人的に成功した乱数調整の備忘録。手順を忘れそうなもの優先。ブログ設立時はツール置き場を兼ねることになるとは思わなかった。

RS

RSSYMBOL 機能追加

めざパのタイプ、威力の出力、および指定に対応。
RSSYMBOL
ダウンロードはこちらに統一しました

RSSYMBOL 修正版

ファイル出力に問題が合ったため修正またか
RSSYMBOL
ダウンロードはこちらに統一しました

【ルビー・サファイア】固定シンボルの個体検索ツール「RSSYMBOL」

個体検索自体は他の方の制作されたツールでどうにでもなります。
ですが、初期seedの変動を追いながら検索できると便利かなあと思い、作ってみました。

RSSYMBOL
修正版
最新版   ※最新版のみめざパ出力・検索に対応
ダウンロードはこちらに統一しました
RSSYMBOL













要求される項目を入力すると結果が出力されます。ソフトと同じフォルダにresult.txtとしても出力されます。

電池あり時の初期seedの変動について【ルビー・サファイア】

原理的には外野席さんのテキストや2chのループ検証スレの書き込みで詳しく検証されています。

249 名前:ゲーム好き名無しさん[sage] 投稿日:2009/01/20(火) 23:31:35 ID:Q46nAD7C0
なんとなくRSのシードの決定方法を調べてみました。
あまり実用的ではなさそうだけど誰かがすごい方法を思いつくかもしれないのでとりあえず適当に書いてみます。
シードはやはりカートリッジの中に入っている内蔵時計RTCの時刻によって変わるようで、
RTCが初期化されてから現在までに経過した日数を分に換算した値と、
RTC内におけるBCD表記の時間と分をそのまま16進数の値として扱い、それを分に換算して計算した値と1440を足して、
その上位2バイトと下位2バイトをxorしたものが最初のシードになっているようです。
初回起動時と時計が壊れている場合はシードは0x5A0になっていると思います(たぶん)
エミュレータ等を使っていると発売日との兼ね合いで現時点であり得ないシードが生成されるかもしれません。
基本的に1分ごとに値が変わるのでいつ起動したらこのシードになるという予測はしやすいですが、
時間は調整できないしチャンスは一度きりなのでエメラルドのループのような方法でいいのを狙うのは難しそうです。
時計バグの対策とかでロットによって変わってるかもしれません(上のはルビーのロット番号15B E4でしらべました)
適当なので間違ってる可能性もかなりあります。

この書き込みだけでは意味不明だと言う方もおられるでしょう。その場合はヨミさんの記事で簡単な式として表現されています。

それでも駄目だというのでしたら、ジェラートさんの記事に具体的なリストが5日分出されています。

内容はともかくとして、確かなことは「手計算で変動を追うのは難しい」ということでしょう。
まあ59分までなら「5a0~5a9,5b0~5b9,~」というふうに変動しているので多少は解りやすいかと。

具体的にどうやって狙いの初期seedを選ぶのかといいますと

1.まずは内蔵電池を外し、適当にセーブをする
ソフトの背面を見るとY時ドライバーが必要そうな形をしたネジで留められていますが、小さなマイナスドライバーを使って力技でこじ開けることも十分可能です。私は100円ショップで売っていたドライバーで外しました。
2.電池を入れ、起動とともにストップウォッチやタイマーをスタートさせる
電池切れを起こしたセーブデータでは、ミシロタウンの自宅の時計が最初に設定した時間に戻っています。つまり、自宅の時計を見ることで起動から何分経ったのかを把握することも可能です。
3.時間が来たら、リセットをする
どのようなタイミングで変動するかは不明ですが、少なくとも1分単位で変動しているのは確かです。余裕を持ってリセットしましょう。

あとは狙いのフレームでエンカウントできるように微調整をしていくだけです。失敗した場合、1.からやり直しましょう。電池切れ状態でセーブをしないと初期seedが初期化(変な表現ですね)されません。

性格値から色違いになるトレーナーIDを検索する【ルビー・サファイア】

トレーナーIDを指定して検索できるツールが見当たらないなあ。
ってことで作りました。
RSIDRNG
RSIDRNGCHK
ダウンロードはこちらに統一しました


事前に”GBAエンカウント”やアーマーさんの”乱数計算”で欲しいポケモンの目処を付け、性格値を調べておきましょう。
※私の「GBAyasei」「RSSYMBOL」も検索の一助になるでしょう。

私が今回色違いにするのはこれ。初期seed0x5a4です。初期seedの変動について(電池有り)については次回記事にまとめるかも。
12827 fa3ef101 (4)ツチニン Lv.7 12857 fae39396 やんちゃ ♂ ふくがん 30 31 22 28 10 31

RSIDRNG
RSID調整-RSIDRNG






PID:色違いにしたいポケモンの性格値を入力します。16進数で8桁。
HID、LID:性格値上位、下位。勝手に出ます。
TIDを指定する?:0と入力でYES、1と入力でNO。1を入力すると次のTID:が出ません。範囲内の色違いになるIDが全部出てきます。
TID:希望のトレーナーID。指定しても手頃な範囲に出てくることは稀です。頑張りましょう。
初期seedからの経過F上限:そのまま。待てるフレーム数を入力。
RTCリセット(略:電池を入れて起動してからリセットまで何分なら待てるか。単位は分で入力。1時間以上でも分で入力。
結果が出ます。同じフォルダ内に作成されるIDresult.txtというファイルに結果は出力されていますので結果を残したければそちらを。
フレーム狙ってレッツID調整。
続行:終了:0を入力するとTID指定の項目に戻ります。思わしくない結果だったら違うIDを指定するといい結果が出るかも。

RSIDRNGCHK
実際のID調整のお手伝い。
RSID調整-RSIDRNGCHK







初期seed、目標とするフレーム、検索範囲、実際に出たIDを入力。
目標と何Fずれたのか教えてくれます。初期seedは合っている前提。
続行:で出たTID:の項目に戻ります。

トレーナーIDの乱数調整【ルビー・サファイア】

特定のポケモンが光るようにするためのID調整です。

使うツール
RSIDRNG
RSIDRNGCHK
・エメタイマー(BIG)

0.始める前に
色違いにしたいポケモンの性格値を特定しておきましょう(前回記事参照)。

1.狙うID及びフレームの特定
RSIDRNGを起動しましょう。
性格値、指定するならばTID、我慢出来るフレーム数、フレームカウント開始までの待機時間を入力します。
この「待機時間」(経過時間)は、電池無しのRSで乱数を行うならば常に0です。電池ありで行う場合はその理論と具体的な手順はこちらを参照してがんばってください。
入力すると、範囲内で色違いにできるID、フレームが出力されます。
RSID調整-RSIDRNG






2.実際に狙う
RSのIDは、オダマキ博士の話が終わった時(あるいはそこからいくらかのタイミング)で決定されます。
エメタイマーをセットし、ソフトリセットと同時にスタート。(初期seed調整をするならばしておく)
オダマキ博士が「では また あとで あおう! けんきゅうじょで まって いるぞ!」と言っている画面で待機し、タイマーが0になるのと同時にAボタンを押しましょう。
ゲームが開始したら、早速IDを確認しましょう。
RSIDRNGCHKを起動。初期seed、検索範囲、出たID、目標フレームを入力、検索。
RSID調整-RSIDRNGCHK







出た結果に合わせて、タイマーの時間を調節したりボタンを押すタイミングを調節しましょう。
狙ったIDが出れば終了です。

3.おまけ・IDの決定方式について
RSのTID/SIDは、使われた乱数値(引いたフレーム)の上位4桁がそのままSIDとなり、その次の乱数値の上位4桁がTIDとなる、という方式をとっています。これを利用すれば、IDを狙った数字にすることもできます。
GBAエンカウント等で、初期seedを入力、リストを出力。そして欲しいIDで検索して、引っかかればそれを狙ってID調整、という流れでしょう。色違いにしないのであればほとんどの数字を簡単に狙えるかと。
RSID調整-ID00000


ID00000-26999のフレーム。エメループ産タマゴを孵す際によく利用される。らしい。

野生ポケモンの乱数調整【ルビー・サファイア】【電池切れ】

唐突に色違いかつモンスターボール以外のヌケニンを作りたくなったので実践。
ID調整をしてはじめから開始したのでID調整部分と野生乱数部分は分割で。

使ったツール
GBAエンカウント pass:gbae
・エメタイマーBIG
製作者さん達に多大なる感謝を。

今回はカナズミシティ東の草むらでツチニンを狙いました。完全にヌケニン用ですが。
ヌケニンなら個体値はAとSだけ考えればよく、性格もAかSに補正がかかればマイナス補正はBCDのどれでも一緒なので、自由度の低いRS野生でも理想といえる個体が狙えるのではと考えました。

0.始める前に
あまいかおりを覚えたポケモン、入れたいボールを用意。それだけ。逆に言えば、シンクロが効かず性格値乱数消費という概念がないので非常に取られる個体値+性格のパターンが少なく、理想個体(5Vとか6Vとか)はほぼ無理と考えていい。
ルビーではクチートがLV16で、もっと進めるならばトロピウスやクサイハナが捕獲時点であまいかおりを覚えています。

あ、RSは電池の切れたものを用意してください。もし切れていなくても電池を外せば同じ事ができます。

電池有り時の挙動はこちらの記事で。

1.消費フレームを求める
GBAエンカウントを起動します。
RS野生乱数-GBAエンカウントインターフェース













「バージョン」乱数を行いたいソフトを選択
「草・建物~」乱数を行う場所・行動の指定・今回はツチニン狙いなので草・建物で。
その下のタブで地域を選択。ツチニンは116番道路のみ。
「初期seed」0x5a0と入力。電池の取り外し→取り付けによって初期seedを任意で変えることは可能ですが、ここでは取り扱いません。→初期seedの変動
「表示範囲」は自分が待てるであろう時間(単位:フレーム)を入力。私は0~50000で検索しました。
個体値表示にチェック。
その下のタブはmethod1を選択。RSの固定・野生乱数はこれによって決定されるもよう。
今回RSなのでシンクロ無。
「フィルター」欲しい個体を指定。かなり妥協しないとまず出て来ません。
全て入力したら計算をクリック。
結果
RS野生乱数-GBAエンカウント検索結果












回数20525に、S上昇の性格がいますね。できるだけ回数が小さいものを狙ったほうが1試行に掛かる時間が短縮できていいです。

2.フレームを合わせる(消費する)
ソフト起動後から、20525F後に戦闘に突入する。ただそれだけです。
エメタイマーを起動、待機時間を入力します。ただし、「あまいかおり」を使用してから戦闘に入るまで、約150Fかかります(演出に使用ポケモンの鳴き声が入るため、ポケモンによってかかる時間が変わります。各自調整してください)。その分を考慮してタイマーを設定しましょう。今回は20375Fの設定にしました。
「秒に変換」をクリック。消費Fはソフトリセット(start+select+A+B)をすることで0に戻り、どれかボタンを離すことでカウントが始まります。ボタンを離すと同時にエメタイマースタート。
カウント0になる瞬間にあまいかおりを使用。

3.微調整
乱数が常に1F(1/60秒)単位で動くので、一発で成功することはまずないでしょう。
失敗した場合、とりあえず捕まえて種族・レベル・性別(・特性)を見ましょう。
そして、「フィルター」内をリセットし、GBAエンカウントで再検索してみましょう。エンカウントリストが出てきます。(表示範囲を狙っているものの周辺に絞ることを忘れずに。私は忘れてすごく重くなりました)
RS野生乱数-GBAエンカウント検索結果-全件














例えば、LV6・まじめ・♀のゴニョニョが出たとしましょう。(出ました。)回数20528の位置にいますね。つまり、戦闘に入るのが3F遅かったのです。その場合は、気持ち早めにあまいかおりを使用するよう調整するか、タイマーの設定時間を少しだけずらすか、という微調整をして狙って行きましょう。根気勝負です。

そして、数回の試行の結果
色違いヌケニン-色違いツチニン遭遇














出ました。色違いなのはID調整を行ったからです。

ですが、ここで安心してはいけません。捕獲後、レポートを書く前に個体値を確認してください。種族・性別・レベル・特性が一致していても個体値が一致していないことがあります。これは俗に個体値ずれといって、3世代乱数共通で存在するもので、「性格値まで一緒なのに個体値が違う」現象です。GBAエンカウントで一応ずれ発生の状態のリストも出力出来ます。もしこれを引いてしまった場合はやり直しです。がんばりましょう。

ID調整はまたの機会に。
トレーナーIDの乱数調整【ルビー・サファイア】
性格値から色違いになるトレーナーIDを検索する【ルビー・サファイア】
最新コメント
ほとんどひとりごとです。
記事検索
  • ライブドアブログ