セレクトバグ(ポケモン)

登録日:2023/02/05 Sun 13:51:25
更新日:2025/04/03 Thu 20:54:34
所要時間:約 10 分で読めます





セレクトバグとは、ゲームポケットモンスター 赤・緑』に存在する非常に有名なバグである。
プレイヤー間での通称で、公式な名称ではない。

概要


初代ポケモンをリアルタイムでやっていた世代ならば大体の人が試したであろう、
「道具の○番目でセレクトボタンを押した後、Bボタン2連打でキャンセルしてメニューコマンドを閉じる」
という作業を行うことで発生するバグ技の総称。
この項目では便宜上「セレクトバグ」と呼ぶことにするが、人や地域によっては「セレクトBBバグ」「道具入れ替えバグ」等、呼び方が異なる場合も多い。

ポケモンシリーズにおけるセレクトボタンと言えば、道具やポケモンの技の並び順を入れ替える機能を持った便利なボタンとして知られている。
入れ替えたい道具・技に矢印カーソルを合わせてセレクトボタンを押し、入れ替えたい場所にカーソルを移動させてもう一度セレクトボタンを押すとその場所の道具・技と入れ替わるというシステムになっている。
よく使う道具をリストの上の方に持ってくるのは定番とも言える使い方だろう。

……だが、初代ポケモンでは後述する仕様の穴を突いたバグ技のトリガーとして多くのプレイヤーが悪用しまくったことで有名になった。
このバグ技を使うと、「ポケモンのレベルを一気に100にする」「本来覚えられない技をポケモンに好きなように覚えさせる」「マスターボールのような希少アイテムを大量増殖させる」といった様々な現象を引き起こし、ゲームバランスを崩壊させることができる。
果ては幻のポケモンミュウを含む151種類のポケモンを自由に生成したり、IDや個体値を変更することすらもできてしまった。

インターネットが普及する以前から裏技専門のゲーム雑誌や口伝で広まり、多くのプレイヤーに興奮をもたらしたが、噂として広まったがために誤った情報も多く拡散され、その結果データ破損の憂き目に遭う人も多かった。


注意


当然の話だが、バグ技である以上セーブデータが壊れたり、ゲーム進行が不可能になる等の不具合も発生してしまう危険性があるため、やるのであれば自己責任で行うこと
また、失敗した時に備え、バグを起こす前にレポートを書いておき、ヤバいと思ったら即電源を切ってリセットするのは鉄則である。

また、これも当たり前だが同意なしにバグらせたポケモンを交換や対戦に使うのは厳禁である
ポケモンバトルルールとマナーを守ってやろう。


セレクトバグの原理


なぜこのような現象が起きるのかというと──

まず、道具のリストでセレクトボタンを1度押すと、そこでカーソルが「道具入れ替え」の待機状態に入る。
普通なら、この状態でBボタンを押してキャンセルし、道具リストを閉じれば待機状態も解除されるものだが、初代ポケモンではプログラムミスにより、待機状態が残ったままリストを閉じている状態になってしまっている。

例えば、道具リストの7番目にカーソルを合わせてセレクトボタンを押したとする。
当然これで「7番目の『道具』を入れ替える状態」が待機される。

そしてBボタンを2回押して道具リストとメニューを閉じ、その後戦闘画面に入って「たたかう」を選択しポケモンの技リストを開く。
すると、先程の「『7番目』を入れ替える」という待機状態を保ったまま技のリストが開く。
この状態で技を選択すると、なんと「その技を7番目の『技』と入れ替える」という作業を行ってしまうのである。

「ポケモンの技は一度に4つまでしか覚えさせられないんだから7番目の技と入れ替えるなんて不可能じゃん」
と思う方もいるだろうが、初代ポケモンのようなゲームボーイ用ソフトはプログラムが非常に原始的で、ゲーム内のデータ管理も同様だった。
そのため、「ここからここまでが技のデータ」というシステム上の区分けは無く、あくまで「戦闘時に読み込まれたデータは○番~○番までを技のデータとして使う」「フィールド移動時に読み込まれたデータは○番から○番までのデータを道具データとして使う」と開発者が決めて使っているにすぎない。

よって「7番目の技」という指定をされてもエラーにはならず、本来なら存在しない「7番目の技があるとすれば、そのデータが格納されている場所」を読み込みに行ってしまう。そこにはポケモンのステータスや経験値といった、本来ならプレイヤーが弄ることのできないデータが収納されているのである。
この『データ』と『技』を入れ替えるという作業を行うことで、経験値等のデータを呼び出したり、書き換えたりして、様々なあり得ない現象を引き起こすというわけである。

この「本来プレイヤーが干渉できない領域に別のデータを割り当てる」という手法は、ポケモンに限らず昔のゲームでは広く採用されていた。
かつてはカートリッジ容量の制約がかなり大きく、今のように領域を贅沢に用意することができなかったためだ。
そして、そういったゲームはしばしバグ技の温床になってきた*1

ちなみにセレクトバグは赤・緑・青まで使用できた。
ピカチュウバージョンではBボタンキャンセルで道具入れ替えの待機状態もキャンセルされるように修正されたため、セレクトバグを起こすことはできなくなっている。
とはいえ実際のところあくまでもセレクトバグを起こせないだけで、割ととんでもないバグ(FIFTH法、毒サファリ)が残っていたりするが。
また、これで変化させたポケモンを育て屋に預けて引き取ったり『ポケモンスタジアム』で使用すると元のポケモンに戻ってしまったという話もある。
GB版ポケモンはポケモンの個体ごとに見た目データと中身データの割り当てがあり、見た目だけを変えて中身を変えていないために、見た目を中身に合わせられてしまうのだ。
逆に中身のデータだけを変えた場合、見た目を変化させなくても育て屋やポケスタで勝手に中身と同じ見た目に変更される。
ちなみにこの「見た目」と「中身」のデータが違うポケモンはタイムカプセルで第一世代から第二世代には送り込めない。
逆に第二世代から第一世代には不一致だろうが送り込め、かつ初代環境下でバグって見えようが「見た目」と「中身」さえ一致してれば第二世代に送り込めるので、実は第二世代のポケモンを初代に送り込むことも可能である。通称「密輸」。これを利用すれば金銀のポケモンもセレクトバグで遊ぶことも可能。


セレクトバグの種類


ここからは特に有名なセレクトバグの一部を紹介する。

7番目バグ、あるいはレベル100バグ

セレクトバグの中ではおそらく最もメジャーなバグ技。
このバグ技を使用すると好きなポケモンのレベルを100まで上げることができる
手順は以下の通り。
  1. スタートボタンを押してメニュー画面を開き、「どうぐ」を選択し、道具リストの上から7番目にカーソルを合わせてセレクトボタンを押した後、Bボタンを2回押してメニュー画面を閉じる。
  2. 適当な草むらに入って野生ポケモンとエンカウントし、「たたかう」で適当な技を選択する。
    選択した技がバグっておかしな表示になれば成功。
  3. ↑の状態のまま野生ポケモンを倒す。
    ポケモンに経験値が入ると、いきなりレベル100まで上がる。
この現象は、先ほど説明した「データの入れ替えにより、技リストの7番目のデータを入れ替えて呼び出す」ことで発生する。

技リストの7~9番目には「ポケモンが獲得した総経験値量」のデータが収納されており、7番目が上2桁、8番目が中2桁、9番目が下2桁という風に分かれている。
ここで7番目にある「上2桁のデータ」を呼び出すと、戦闘に出したポケモンの獲得経験値量が100万以上に到達してカンストを起こし、結果レベルが上限である100まで上がってしまうというわけである。

注意点として、手順4でバグった技を手順5以降で使ってしまうとゲームがフリーズする等の不具合が発生する。
ポケモンが1つしか技を覚えていない状態だと必然的にその不具合が起きることになるので、2つ以上技を覚えさせ、なおかつ相手を倒せなくなることがないように選ぶ技は攻撃技以外にすること。

あと、この方法で育成したポケモンは当然あらかじめ稼いでいない限り努力値が入っていないので普通に努力値を貯めた個体より弱い。
どうしても気になるなら別のバグ技で努力値を操作することになる。

9番目バグ、あるいは技教えバグ

ポケモンに好きな技を覚えさせられるバグ技。
ただし、7番目バグと異なり、こちらでは少々下準備が必要。

まず「ポケモンの技に対応したプログラムコードの数値」を調べる。
例えば1ならば「はたく」、2ならば「からてチョップ」と、数値と技が対応している。
現在は有志の解析によってこの「数値と技の関係」が判明しており、公開もされている→ 参照 (外部リンク)

次に、技を覚えさせたいポケモンのステータスを確認し、現在の獲得経験値を256で割り、その余りの数値が先程調べた技に対応するように調節する(育て屋を使えば1歩歩くごとに経験値を1獲得できるので調節に便利)。
例えば最強の催眠技「キノコのほうし」を覚えさせたければ、「キノコのほうし」のプログラム上の数値は「147」なので、現在の経験値量を256で割った余りが147になればOK。

後は上記の7番目バグと同じ手順。
今度は道具の7番目ではなく9番目でセレクトボタンを押す、というわけである。

注意点として、経験値量を256で割った場合の余りは1~255の値をとるわけだが、初代ポケモンの技は165種類しか存在しない。
そのため、余りの値が166~255になってしまうと、技ではない別のデータを呼び出してしまい、技が消滅したり、技名がおかしなことになったりしてしまう

また、覚えさせたい技を覚えられるのは戦闘終了後であり、戦闘中は「最大HPを256で割った余りの数値に対応した技」を覚えてしまう。
この値もやはり166~255になってしまうと不具合を生じる恐れがあるため、最大HPの値にも注意が必要になる。
ただし、この空白及び変な技名の技は実は金銀の技のコードにそれぞれ対応している数値である。なのでわざとこれら「変な名前の技・技名が消滅したもの」を覚えさせた上で金銀にタイムカプセルで送り込むと、それらの技は金銀新登場の技に変化する*2

14番目バグ、あるいは道具増殖バグ

道具の個数を増やせるバグ技。
マスターボールやポイントアップ、ふしぎなアメも自由に増やすことができてしまう。
7番目・9番目バグではポケモンのステータスや技を弄ったが、今度はポケモンそのものに手を加えるバグ技である。

このバグ技は7番目・9番目バグよりも危険度が高く、一歩間違えばセーブデータが消えてしまう可能性大なので実行するならばより覚悟を決めて行うこと。
手順は以下の通り。
  1. 道具リストの2番目に「増やしたい道具」を、14番目に「売ることができない道具*3」を置く。
    いらないポケモンを1匹用意する。これがバグ要員となる。
  2. シオンタウンの姓名判断師でバグ要員ポケモンのニックネームを変える(捕獲直後のニックネーム変更でも可)。
    つけるニックネームはひらがなで50音の「と」以降の文字と伸ばし棒「ー」のうち、いずれかを1文字だけ
  3. ニックネームを変えたバグ要員ポケモンを手持ちの2番目以降に置く。
  4. メニュー画面から道具リストを開き、道具の上から14番目でセレクトボタンを押した後、Bボタンキャンセルを2回行い、メニュー画面を閉じる。
  5. 草むらに入り、野生ポケモンとエンカウントして、「ポケモン」を選択し、バグ要員ポケモンにカーソルを合わせて選択する。
    バグ要員ポケモンの表示がバグれば成功。ここで表示がバグったバグ要員ポケモンのステータスは絶対に確認してはいけない。
  6. Bボタンキャンセルして戦闘画面に戻り、「にげる」。
  7. 道具リストを開くと、2番目に置いた道具の個数の表示がおかしくなっている。
    個数がおかしくなった2番目の道具と、14番目のたいせつなものを入れ替える。
  8. 4~6の手順をもう1度行う。
    バグ要員ポケモンの表示が元に戻れば成功。
7番目・9番目バグとの大きな違いは「一度バグを発生させた後、もう1度同じ手順を踏んで元の状態に戻す必要がある」という点。
これを怠ったが最後、まともにプレイを続けることができなくなる。

このバグ技で増殖させた道具は、「バグ要員のニックネームによっては個数が変化する」という性質を持つ。
最大は伸ばし棒「ー」を名付けた場合で、227個にまで増殖する。
ちなみにこれの原理は各種文字がゲーム内の内部数値に対応しているからであり、伸ばし棒は内部数値の227に対応しているからこの数値になるというわけである。

初代ポケモンでは本来、道具は1種類につき99個までしか持てないため、100以上の数値になった場合は個数表示が文字化けを起こしてしまうが、不思議なことにプレイに支障が出ることはない。
ただし、あくまで上記の手順を守った場合の話である。

また、バグ要員もニックネームが不自然になったり、ステータスがおかしくなったりする場合があるが、これも姓名判断師でニックネームをつけ直したりパソコンに預けたりすることで改善される。
不安であれば「にがす」のも手。

バグショップ

これもかなり有名。「闇市」「不思議なお店屋さん」など色々呼ばれ方がある。

バグ要員ポケモンを手持ちの2番目にし、道具の14番目でセレクトBBをした後に野生ポケモンとエンカウントし、バグ要員ポケモンをバグらせてにげる。
この色々バグった状態でニビシティトキワシティのフレンドリィショップへ行き、最初に「うりにきた」でバグったアイテムを1つ以上売ると、「かいにきた」でマスターボールやふしぎなアメにカセキ、更にはバグアイテムなどがズラリと並ぶとんでもない品揃えになる。
お金はバグったアイテムを売った時にかなりの額が手に入るため、あまり心配する必要はない。

買い物を充分楽しんだ後でバグった状態を直すには、もう一度道具の14番目でセレクト〜野生ポケモン戦でバグ要員ポケモン選択を行えば良い。
うまくいかない時はみずタイプをバグらせれば確実。

その他

これら以外にも、同じポケモンを複製・増殖させたり、バグった道具やバグったポケモンを出現させたり、金銀のポケモンを作成することが出来るなど、様々なバグ技が存在する。
というかこの項目一つで語りきれないぐらいに存在しており、出来ないことは無いと言っても過言ではない。
攻略サイトやyoutube等で紹介されているものもあるのでやってみたい人はそっちを参照してほしい。
ちなみに バーチャルコンソール版でも使用可能

現在は原理が完全に解明された結果、ゲーム内でバイナリエディタを作成したり、そこから更にプログラミングを行い新たなゲームやイベントを自作することすらも可能になってしまった。
バイナリエディタはセーブデータを管理するRAM領域を直接参照・書き換えするので完成してしまえばあとはセレクトバグより安全に弄れる。
個体値*4や技構成、おやIDといったステータスを任意のものにするのはもちろん、セーブデータ以外にもRAMで管理されているものは全部操作できるのでトレーナーのポケモンをスナッチ*5したり何も無いところでエンカウントしたりポケモンを受け取ったりもやり放題である。
オーキドにとんでもないことを言わせてみたりポケモン図鑑を差し替えたり、ゲーム内音源を使って演奏したり、オセロテトリスをプレイしたり、ドット絵を作ったりそれを動かしてアニメーションにしたり…。
もはやここまで来ると一種のプログラミングツールである。


余談

  • このバグと殆ど同じ原理から発生するバグがGBC版ドラクエ3に存在する。詳細は「キメラバグ」を検索。

  • 聖剣伝説2にも「セレクトバグ」と呼ばれる有名なバグが存在するが、そちらは当項目のバグとは全く異なる内容。
    ボスを倒した後の爆発アニメーションの最中にセレクトボタンを押すとその場所から出られなくなってしまうことがあるという、単純かつ極めて重篤なものである。

  • ポケモンシリーズでは本作のこのバグのインパクトが極めて強く物凄く有名だが、実際のところ第二世代~第四世代にも 任意コード実行を可能にするバグが存在している。
    あくまでも第一・第二世代からではVCのデータコンバートの形でしか送り込めないが、やろうと思えば第三世代はエメラルド、第四世代はダイパから任意コードで作成したポケモンを現在の世代、つまりPokémonHomeまで送り込むことも可能だったりする。


※追記・修正の際、「項目変更」にカーソルを合わせてシフトキーを押しながら2回右クリックしても投票数は増えません。

この項目が面白かったなら……\ポチッと/

+ タグ編集
  • タグ:
  • ポケットモンスター赤・緑
  • ポケモン赤緑
  • ポケモン
  • ポケットモンスター
  • バグポケ
  • セレクトバグ
  • セレクトボタン
  • 道具の○番目でセレクトBB
  • 任意コード実行
  • 初代ポケモン
  • バグ技
  • 何があっても自己責任
  • ※良い子は真似しないでね
  • ゲームボーイ
  • けつばん
  • アネ゙デパミ゙
  • オーキドせんせい
  • バイナリエディタ
  • ミュウ
  • バグポケ
  • ィ゛ゃゾ┛A
  • ベアビヲ9
  • どこから広まったのかは謎
  • 圧倒的な自由度
  • イ゛ぴま
  • プログラミング
  • 5かい
  • おじぞうバッヂ
  • なかよしバッヂ
  • 9パゾ9な゛
  • シルフのチーフ
  • TAS
  • RTA
  • 赤緑
最終更新:2025年04月03日 20:54

*1 有名なのはFC版ドラクエⅣの「8逃げ」辺りか

*2 タイムカプセルで不正なデータと判別されるのは前述の通り「見た目」と「中身」が一致しないポケモンなのでバグ技を覚えていても問題はない。ただしトレードセンター含め絶対に初代でステータスは見ないようにすること。

*3 タウンマップなど、いわゆる「たいせつなもの」

*4 第2世代では色違いや性別にも影響する

*5 トレーナー戦モードから野生戦モードに変更するのでおやIDはプレイヤーとなる。むしろ闇が深く見えるが…

*6 2DS同梱版の配布ミュウ(IDゲーフリ、22796)は個体値最大で固定のため色違いにならないはずだが、何故か個体値を改竄して色違いにしても通ってしまうため現在かなりの数流通している。また、色違いでなくともバグ技+おや改竄で作成された個体の可能性もある。