はじめに
オルジェネオフを主催したのもあって、過去作機運がかなり高まっていたので、乱数を触ってみようと思い。
なーーんも知識ない状態から数日間ちまっと頑張ってみたら無事に成功しました。
大体やり方もわかったので、無知識から実際に僕が詰まったポイントを踏まえて、
BW乱数はこういうものですと紹介をしてみようかと。
※本記事はあくまでレポート記事です。
元から興味がある人向けに調べる時間を省く程度の目的で書かれており、乱数を推奨する意図はありません。
また実行は自己責任でお願いします。
まぁ昨今では乱数の是非に関する議論も少なくなってきたように思いますが。
※全然有識者じゃないので、間違っている内容とか書いてあったら優しくツッコんでもらえると助かります>
現状調べて1回成功しただけの理解で書いているので全然詳しくないです。
逆に言うと新鮮知識なので知らない人には分かりやすいかなって思います。
(実際は違うけど理解上問題なかったら、修正はせずに言及に留めるかもしれません)
みんなもBW対戦、やろう!
BW対戦ができるオフは僕に言ってくれれば紹介します。
※オルジェネオフ
→初代からSVまで全ての世代で遊べる最強のオフ会。
このために過去作の準備がしたかった。
第2回に乞うご期待。
embrabat-report.net
目次
前提:めちゃ簡単
前提として、BWの乱数は
各種知識さえ入れればめちゃくちゃ簡単です。
というのも、他のソフトの乱数は1秒60フレームのフレーム単位で時間を合わせなければいけなかったりするのに対して、
5世代乱数は1秒精度で合わせればいける激簡単仕様。
最近(?)だとSVの道具プリンター乱数が1秒精度で乱数できてしまうお手軽さで話題になりましたが、あれができるなら5の乱数はやれます。
知識さえ入れられれば勝ちということを覚えておいてください。
座学知識①
実際に乱数をする前に、軽くBW乱数の仕組みについて理解しておくと
失敗したときに原因が分かってストレスがないです。
初期SEED
初期SEEDという言葉くらいは聞いたことがあるかもしれません。
これは乱数の初期位置で、主に
- ゲームソフトの起動時間
- ソフトを開始したときに押しているボタン
の2つで決まるパラメータです。(※5世代では。他世代はまた違います)
乱数というのは要するに、この初期SEEDを理想のものにすることで
狙いのポケモンを出してやろうねという試みなわけです。
初期SEEDはこの他にも
- DSのMACアドレス(後述)
- Timer0という変数(後述)
あたりも参照しているため、同じ時間に起動しても他の人とは違う値になります。
とりあえず環境が同じなら上記2つで決まると思ってもらってOK。
乱数の「消費」とは?
乱数の消費回数、なんて単語も多分耳にしたことくらいはあるはず。
めちゃくちゃ要約すると
「すごろくのマスを進める」
ようなものだと思ってください。

乱数は無限に広がるすごろくのイメージをするとわかりやすいかも。
初期SEEDによってぽいっと無限すごろくのどこかに放り込まれるわけです。
つまり目的のところにいく(=理想個体を手に入れる)には、
①初期SEEDを調整して、理想のマスに近い位置に着地する
②そこから自分でマスを進めて、理想個体マスのところに進んでからポケモンに出会う
という手順になります。
この自分でマスを進める作業が「消費」です。

なお、後述しますが
5世代乱数において↑でイメージする「消費」で変更するのは
性格・特性・色違い有無
が主になります。個体値は変わらない(変えない)というのが主流。
乱数にも種類がありまして(後述)。
乱数の「消費」はどうやったらできる?
乱数は一度使うと再計算されます。
この「一度使うことで次の値を生成させる」ことが「マスを進める」行為です。
要するに何らかのランダム要素がゲーム中で発生するとき、マスが進みます。
例えば有名な「ペラップの鳴き声を聞く」というやつ。
これはおしゃべりで録音した音声から高さを「ランダムで」変更してペラップの鳴き声音声として再生しています。
このときランダム要素が1回発生するため、乱数のマスが一つ進められるというわけです。
注意したいのは、
勝手に起こるランダムな現象によって勝手に乱数が消費(勝手にマスが進む)現象。
例えば、キョロキョロしているNPCはその振り向く方向が「ランダムで」決められているわけですが、
これはプレイヤーから何か操作をすることはできません。
つまり、キョロキョロNPCが向きを変える判定を起こすたびに、勝手に乱数が消費されていってしまいます。
これでは自分で調整がしづらいので、乱数調整をする上で厄介な仕様になってくる……という具合。

乱数パラメータは2種類
BWの乱数は2種類の乱数を元に出現個体が決定されています(他のも大体そうですが)。
性格乱数 (線形合同法)
一つ目が性格乱数。
これで
- 性格
- 特性
- 性別
- 色違いかどうか(注)
- 出現ポケモン(野生の場合)
が決定されます。
性格乱数の初期値は初期SEED(=ソフト起動時間)で初期値が決まります。
その後性格乱数は以下の行動で消費されます。
- レポートを書く
- レポートの針の位置がランダムなため。
- 録音済みのペラップの鳴き声を聞く
- 録音音声の高さをランダムに変えているため。
- 歩く
- 揺れる草むら判定・なつき度判定など
- NPCのランダムな行動
- その他たくさん
書ききれないのでその他たくさんとしてしまいましたが、
「一歩も歩かない」「ランダムに動くNPCがいない」状態なら
勝手に乱数は消費されないため、思い通りに乱数の消費ができると思っておけば9割方あってます。
そんでもって思い通りに乱数を消費する方法として使うのが、レポートとペラップになります。
他にも雨粒で乱数が消費されたりと色々あるので、全部が当てはまるわけではありませんが。

注:難しい話
色違いかどうかは
性格乱数から決定される「性格値」をプレイヤーIDと照らし合わせて決定されます。
なので、同じ乱数をやってもプレイヤーIDが違うと色違いになりません。
まぁ要するに、色違いにするには乱数にもう一工夫必要になるということを覚えておけばOK。
個体値乱数(メルセンヌツイスター法)
2種類目の乱数は「個体値乱数」。
微妙にわかりづらいポイントなんですが、
先程の性格乱数とは別に「個体値のみ」※を決定する乱数です。
この個体値乱数も初期SEED(=ソフト起動時間)で初期値が決まるのは一緒なんですが、
性格乱数とは完全に別管理になります。
- ポケモンの遭遇
- 個体値生成するときに消費
- Cギアを起動する
などの方法で消費ができるようです。
イメージでいうと、個体値乱数は「フロア」と言われて僕はしっくりきました。

各個体値乱数フロアに、さらに性格乱数すごろくが広がるイメージ。
※詳しくないので個体値の他にも決めてるかもしれませんが、とりあえず今回の固定乱数においては個体値以外に影響してない(よね?)ので勘弁。
結局どんなことをやれば乱数調整ができるの?
2つの乱数を両方合わせることで任意の個体を出現させるわけなんですが、
見てもらえば分かる通り
- 個体値乱数は調整手段が少なくやりづらい
- 性格乱数はレポート/ペラップによって任意に調整がしやすい
という関係上、
- 個体値乱数が何もしなくても思い通りになる初期SEED(=起動条件)を検索する
- その初期SEEDに基づいて、思い通りの性格や特性になるすごろくのマスまでの消費回数を計算する
という考え方で乱数調整を行います。

実践
ではこの考え方のもと、実際に乱数調整を行ってみます。
ここでは例としてランダムなNPCがいない、
9番道路(ソウリュウシティの左)で
意地6Vコマタナを乱数する想定で書いてみますが、
やり方はどこでもいっしょです。
事前準備
機器
- ネット環境のある端末
- スマホでもPCでもOK、性能はいい方が計算が早いです。
- 初代DS or DSLite
- 秒針が見えるハードがこの2つだけ。
- 秒針に合わせて起動するだけでいいのでグッと楽に。
- 他のDSでも全くできないわけではないですが、初めてやるなら素直に初代DSかDSLiteにしておいた方がいいです。自信ないなら特に。
- !BW!
- BW2でもできるんですが、後述のあるパラメータのせいで成功率が低いです。(60%くらい→20%くらい)初めてならBW推奨。
ソフト
- 目的のポケモンに遭遇できる環境にする(当然)
- ほしい性格のシンクロポケモン
- タワーオブヘブン最上階(5F)のリグレーが一番出やすいかも。孵化ならムンナが歩数少ない。
- 僕は初めての乱数をようきシンクロリグレーでやってみました。
- ペラップ(1~2匹)
- BWでは出ないので、ダイパから輸送するか、BW2の隠し穴から。
- あまいかおりポケモン
- 一歩も動かず遭遇しなきゃいけないので。固定シンボルなら不要。
- 捕獲用のポケモン
- キノガッサが最ぐっどだが、エルレイドとか、最悪キリキザンでも。
STEP1:ペラップのおしゃべりで録音する
まず、ソフトを起動して
ペラップのおしゃべりで録音をします。
手持ちからペラップを選べば「おしゃべり」の項目があるはず。
マイクに何らかの音源を近づけて、録音します。
結構感度悪めなので頑張って近づけます。


音源は何でもいいですが、
880Hzの正弦波(ピー音)を録音することで、ランダムに変わった高さを音で測定して乱数の現在位置を測るツールも、あるらしい。
↓音量注意
youtu.be
STEP2:ポケモン捕獲場所へ移動する
移動します。
先程も説明した通り、不定期に動くNPCがいると乱数がズラされるため注意。
例に出した9番道路は暴走族がぶんぶん走っていますが、同じところを同じように走る挙動しかしていないためこれは乱数を消費する不定期NPCではありません。
草むらに入ったら、レポートを書いて、
一旦DSを閉じます。

STEP3:乱数計算ツールを使ってみよう!!
ここから乱数計算ツールの使い方の解説に入ります。
BWの乱数は歴史が長いので最強天才エリート集団の手によっていくつか作られていますが、
2025年12月頃にリリースされたWEBアプリによって
スマホ単体でのBW乱数が解禁されました!!
まぁ流石にPCの方が画面大きくて見やすいので僕はPCでやったんですが。
一応スマホでもできますということで、本記事ではスマホ仕様で書いていきます。
サイト
ニアトさんによるこちらのサイトで計算ができます。
niart120.github.io
本記事では以降このサイトの使い方の解説をすることになります。
↓こちらはニアトさん自身による使い方記事。
hackmd.io
初期情報入力
まずは初期情報を入力します。
入力場所は一番左。
スマホの場合はメニューを開く必要があります。




初期情報は色々ありますが、大事なのは
- ソフトの種類
- ブラックかホワイトか、B2かW2か。
- MACアドレス
- 調べ方は後述
- 言語
- 日本語だと思いますが。
の3種類以外は一旦大事じゃないです。

ここのTimer0・VCountという項目は、乱数の上で使うパラメータみたいなもの。
あとで説明するので、一旦自動入力のままに。

ここのプレイヤーID・裏IDやらは、色違い出したりするのにかかわるやつなので一旦無視です。
何も入力していなくてOKです。
色違いを出してみたい人も、まず通常でやってみましょう。

MACアドレスの調べ方
MACアドレスは以下のように調べられます。
STEP4:検索タブ

この検索タブは
「理想の個体値を出す起動条件」を計算する画面です。
さっきの説明の1番に当たる内容がここで行えます。
↓さっきの説明
- 個体値乱数が何もしなくても思い通りになる初期SEED(=起動条件)を検索する
- その初期SEEDに基づいて、思い通りの性格や特性になるすごろくのマスまでの消費回数を計算する
↑これをやる
まず、検索条件の欄。

検索時間は100年分+キー入力の項目がありますが、
このツールは計算時間が意味わからないくらい短縮されているので日時はあんまりいじらなくてOK。
キー入力はソフトを起動する際に押しているべきボタンの話で、検索時の種類が増加するんですが、
最初は何も選ばないでやってみればいいと思います。
次に「初期SEED」の欄。
ここも入力してみましょう。
と言ってもこのツールは計算時間の短縮のために諸々の工夫をしているらしく、初心者には訳の分からん数列を入力しなければなりません。
その対策で
「テンプレート」が用意されていますので、一旦これを使ってみましょう。

例えば「BW固定・野生6V」を選んでみます。
するとなんかいくつかの数列が入力されました。
これでOK。

そしたら「検索」をしてみましょう。

僕のスマホ/PCだと1分程度で検索が終了しました。
信じられないくらい早い。
他のツールだったら6時間とかかかるんですけどね。すげえ。
計算結果
計算結果はこんな感じでした。

ここに書かれている内容のうち、意識して確認するのは
「Date/Time」「キー入力」「Timer0」の3つ。
Date/Time はわかりやすくて、その日時にソフトが起動すればいいぜということ。
キー入力も同じく、ソフト起動する瞬間にこのボタンを押してればこれになるぜという意味。
「Timer0」には2種類か3種類の数字が並んでいると思うんですが、
今は「このパラメータには2~3種類あるらしい」というのだけ頭に入れておいてください。あとで重要な意味を持ちます。
ともあれ、
この日時・時間に起動すれば、個体値乱数を消費せずに最初に合うポケモンは6Vが確約される
というわけ。かんたん。
※必要に応じキー入力
※Timer0の話はあとで
提示された起動する時間のうち実際に実行するものを決めたら、
詳細ボタンを押して詳細表示をし、

「Seed入力にコピー」ボタンをクリック/タッチしてください。
これで次の項目に内容がコピーされます。

STEP5:Generation タブ
続いてGenerationタブです。
ここで出会うポケモンや性格・性別などを割り出します。
「Seed入力」の欄では
さっきの初期SEEDと、検索する消費数を設定できます。
さっきクリックしていればコピーされているはずです。

次に、エンカウント時の条件を選びます。
- 野生か固定か配達員か
- ポケモンの出会い方
- 遭遇するマップ
- シンクロ有無
- シンクロ有の場合性格
消費数は最小を0にすること。
最大は何でもいいですが、その回数レポートなりペラップなりしなければいけないので50とかでいいと思います。
色違い検索とかなると、消費50じゃ見つからない時もあるかも。

ここまで設定したら「検索」を押します。

するとこんな風に表が出力されます。

一番左の数字が消費数になります。
一番左の数字がそのまますごろくのマス目
だと思えばOK。
ここで消費数の数字が
2つ以上あれば成功
もし1つしかなかったら、この後の座学を読みつつやり直してみてください。
失敗したらどうすればいい?
多分初期SEEDか起動時刻のコピーをミスっているのが原因です。
なので、コピーをやり直してみるといいかも。
同じ消費数が2つとか3つ書いてあるのはなぜ??
ここがBW最大の乱数分からんポイントです。
ぱっと見分からないですが、不思議なことが起こっています。
起動時間・起動時のキーを固定して検索しているので、6Vの個体しか出なくなっているはずなのに
6V以外の個体もこのリストにはあるんです。
(ここで僕はかなり戸惑った)
これを次の座学で説明します。
座学知識②
ここで、最初に説明していなかった座学知識を追加で解説します。
最初に説明してしまうと分かりづらい内容だったので、一旦実践を挟んでのこのタイミングで解説させていただきます。
Timer0
実は、初期SEED(すごろく初期位置)は
- ソフト起動時間
- 起動時のボタン入力
- 「Timer0」
の3つの情報から決定されています。
Timer0というのはパラメータの一つで、
「ソフト起動時にランダムで決定される定数」
です。
ブラックの場合は「C79」「C7A」の2種類
ホワイトの場合は「C67」「C68」「C69」の3種類
という風に特定の数種類の値を取ります。
なので、例えばホワイトの場合は
起動時刻・キー入力を同じにして何回か試すと、
Timer0が「C67」の場合と「C68」の場合と「C69」の場合で
3種類の個体値が登場することになります。
これまでのすごろく・フロアのイメージでいうとこんな感じ↓

要するに理想の個体を得るには
- 起動時間とキー入力を合わせて起動し、
- 想定しているTimer0の値が選ばれるまで厳選する
- そのうえで性格乱数を消費して遭遇
という手順が必要になります。
※実際は色々違うっぽいんですけど、BW乱数をする上ではこの理解でOK
VCount
これは乱数に絡むパラメータらしいんですが、
ソフトのバージョンごとの固定値なのであんま気にする必要ないです。
気にしなくてOKということだけ覚えておいてください。
STEP6:Timer0を踏まえて改めて。
一旦Search タブに戻って、
自分が起動する日時で使っている行を確認します。
例えば僕が選んだこの行の初期SEED。

これはTimer0が 0x0C79のときに、6Vになる乱数です。
(このツール、どうしてもタブを切り替えるとコピーが切れてしまう?ようです)
(タブを戻ったらもう一度コピーしておきます)

さて、Generation タブにもう一度戻って
膨大な表の中から、目的のポケモン・個体値を探します。
「フィルター」機能を使っていきましょう。

今回は意地6Vコマタナなので
こんな感じにフィルターを入力して検索すれば、


こんな感じ。
一番左の数字が消費回数です。

で、Timer0を確認しなければならない。
さっき言った通り、Timer0が指定の値じゃないと6Vではないから。
今回はC79のTimer0が6Vなので、


今回は消費数13のコマタナが意地まけんき6Vコマタナであることがわかります。
改めておさらいすると
- 起動時刻・ボタン条件
- Timer0
- 性格乱数消費
を合わせることで理想個体を手にすることができます。
STEP7:実現
ここまで来たら、あとはゲーム上でやるだけ。
指定時刻に起動
まずは指定時刻で起動します。
僕の場合はこの時刻でした。

DSは秒はいじれないので、例えばこの数字なら
2001年6月11日に設定して、
AM0時31分に設定をしたあと、
指定の秒数待ってソフトを起動、という流れ。
ただこのときなんですが
この時刻の1秒前にソフト選択してください
この表記でいうと、54秒にソフトを選択します。
というのは単純な話で、
ソフト選択→実際にソフト起動
までに1秒程度のラグがある
からです。
初期SEEDが確定するのはソフトを選択した瞬間ではなく、内部でゲームが立ち上がった瞬間なので。
立ち上がったら、指定の回数性格乱数を消費して、あまいかおりでポケモンに遭遇!
上手くいった上で当たりのTimer0を引けていれば、指定のポケモンが出てくるはずです。


Timer0厳選ってどうやるの?
Timer0厳選という言い方が正しいのかはわからないですが。
さっき説明した通り、正確な時刻に正確なキー入力で起動しても、
「Timer0」によるこちらが干渉できないランダム要素によって乱数が成功したり失敗したりします。
なので、Timer0が指定のもので起動できるまで、何回も同じ時刻で起動する必要があるわけですが。
これが指定のTimer0なのかを遭遇前に確認できませんか?という話。
できます。
(僕の理解が間違っていなければ)
レポートの針
指定した乱数になっているかどうかを確認する方法があります。
それが、レポートを書いた時の、レポートの針の開始位置です。

レポートに書きますか?
で「はい」
を選んだ瞬間に出るレポートの針の位置によって乱数が消費されている?ので、
逆に言うとレポートを書いた時の針の位置が想定通りであれば、その初期SEEDが引けている(=Timer0が想定通りの値を引けている)ということになります。
ここで見るべきなのが、
フィルタを全部外したときの
0消費目の欄。

画像はブラック版なので、
Timer0がC79・C7Aの2通り分の、0消費目の出現ポケモンが書かれています。
ここの2列目。
「針読み」の項目
です。
これが、起動した直後にレポートを書いた時の、レポートの針の想定開始位置。
だから例えばC79を狙っているときに
レポートを書いてみて
- レポートの針が「↗」だったらC79のTimer0に着地できているし、
- レポートの針が「↘」だったら違うTimer0を引いてるからリセットだし、
- それ以外だったらそもそも起動条件とかミスってる
という判断ができる。
結果:6Vゲット!
以上が僕が初めてやった乱数調整で今のところ理解している内容になります。
一応成功はしましたが、合っているかわからないので有識者の方々にはぜひ優しくツッコんでいただきたく思います。
出来なかった時に確認すること一覧
- 入力したMACアドレスは間違っていないか
- 1秒前に起動を忘れていないか
- 起動中にキーを押していないか
- ゲーム開始時に誤ってCギアを起動していないか
- 消費回数は合っているか
- 不定期NPCがいる環境で乱数していないか
- Timer0が合うようにお祈りを捧げているか
この手順に含まれなかった補足事項
ここの手順には含まれなかったものの、大事そうな話をメモ程度に。
出るTimer0には偏りがある
Timer0の値って機体によって偏りがあるらしいです。
実際の例なんですが、
C69のTimer0を目指して乱数をしていたら3連続でC67のTimer0を引いたので、
C67で6Vになる開始時刻に変更したところ一発で成功しました。
また、ホワイトの場合はC67・C68・C69の3通りが存在するわけですが、実際はこのTimer0のうち、自分の手元のROMは2種類しか出ません。
「C67&C68」のROMと、「C68&C69」のROMがあります。
(さらにその上で↑の説明のようにTimer0に偏りがある)
こんな感じで偏りがあるので、自分の機体の傾向を見ておくとよいです。
あと後期ロット(後発製造版)とかだと違うTimer0になることもあるらしいです。注意。(ご指摘ありがとうございました)。
タマゴを受け取ると個体値乱数が消費される
タマゴを受け取ると、個体値乱数が7消費されるらしいです。
個体値乱数は本来消費しない想定なので、計算がくるってしまう。
→なので、7消費を織り込んだ孵化用の乱数計算を行う手法が一般的。
キー入力について
散々参考にさせていただいたご本人から教えていただけたんですが、
キー入力が反映されるタイミングは、
ソフト選択後およそ1~1.5秒の間のどこか一瞬(1F)
とのこと。
ソフトが起動した瞬間にそのキーが押されていればいいソフト選択〜ソフト起動終了までの間押せていればいいんですが、まぁ現実には押し続けることになります。
僕もまだキー入力乱数やったことないので、とりあえず参考サイト置いときます。
大変分かりやすい。このサイト読めばやれそうな気がしてくる。
↓万一サイトが消えたとき用の該当部分の文章魚拓、お借りします><
ランドロス(不定期NPCの止め方)
実はランドロスの乱数がしたくてBW乱数に手を出していたんですが、
ランドロスのいる豊穣の社には、キョロキョロしている不定期NPCが一人います。一番祠に近いたんぱんこぞうです。
こいつがいるせいでランドの乱数は簡単にはできない……と思いきや、一つだけ止める方法があります。
それが、先頭すること。
より正確には、
戦闘判定で発見されてNPCを移動させること
です。
戦った後はNPCって動かなくなりますよね。
その時はNPCによる消費が意図しない消費が消えます。
ただし、一度戦ってしまうとBWでは再戦ができないので、戦った後にマップを切り替えてしまうとこの方法は二度と使えなくなります。
まだ戦っていないNPCの場合は、見つかれば一度だけ止められる。と覚えておけばOK。
自分から話しかけて戦闘だと、だめ。歩いてもらわないといけない。
あとめちゃ細かい話。
ランドロスを出現させるにはトルネボルトが両方手持ちにいる必要があるんですが、片方のソフトで出現する方は自分が親じゃないといけないらしいです(一敗)。
また、一度ランドを出現させてしまえば戦闘時にはトルネボルトはいなくてもOK(ただし戻るときにマップ切り替えるのでたんぱんこぞうと戦わないように注意)。
参考記事
乱数調整を始めるにあたって、以下のサイトに大変お世話になりました。
Pokémon BW/BW2 Initial Seed Search 様
記事中で紹介した乱数ツール。
スマホでできるようになったのもすごいですが、
5GenSearchToolで検索時間の長さを体験した後だったのでその速さにとてつもなく驚きました。
5GenSearchToolではなぜかヒットしておらず苦戦していたので、おかげさまで乱数調整に成功しました。ありがとうございました。
niart120.github.io
ミルクの日記 様
大量の情報を分かりやすくまとめていただいており、本当にありがとうございます。
皆さんもこの記事の後にまだやりたいことができたら、↓のサイトから追加情報を摂取してください。
milk4724.hatenablog.com
ふちのgdgd日記 様
こちらのサイトで早いうちから個体値乱数=フロアの認識ができてめちゃくちゃわかりやすかったです。
fuchiaz.hatenadiary.org
雪の舞う夜に。 様
記事中でも紹介しましたが、こちらのサイトが一番キー入力について分かりやすく書かれていました。
他にも諸々のやり方が丁寧に書かれており、かなり参考にさせていただいています。
snowsnow.doorblog.jp












