チートバグの方法

Last-modified: 2023-04-23 (日) 10:46:40

前置き

ここでは、ヒテッマンリスペクトで最もポピュラーなチートバグ動画のハードである、ファミコンを例に解説します。
SFC辺りまではほぼ同様の方法で十分にバグらせることが可能です。
エミュレータの種類やバージョンによりコードの効き方が変わる場合があります。
まだまだ建設中であり淡白な説明に終わってますが是非ご容赦頂きたいとともに編集のご協力をお願いします。

用意するもの

エミュレータ

PC上でゲームを動作させるためのソフト。

  • VirtuaNES - 生成したコードを一旦ファイルに保存する必要があり若干面倒。
  • NNNesterJ - パターンをより広げたい場合はこちらを。

バグらせたいゲームのROM

バグらせたいゲームソフトを入手する。吸出し機を使ってPCに取り込む。
※割れ物*1は だめだぞ。

ゲームパッド

必須ではないが、空きボタンにチート関連のコマンドを割り当てると操作性が高まる。

とりあえずバグらせる

ゲームにチートを適用するまでは生成センターに詳細なやり方が記載してあるので省略します。

コードの適正個数はゲームによりまちまちですが、ゼロページの項目を

  • 止まるのを覚悟で派手にやりたいとき: 20~30個
  • 動かしながら挙動を確認していきたいとき: 8~12個

ぐらいにすると丁度いいと思います。

チートを狙ったタイミングでON・OFFを切り替えたいときは、
VirtuaNES:[設定]→[ショートカット]の項目内の[チートコード有効][チートコード無効]の項目をお好みのキーに設定。
NNNesterJ:[オプション]→[コントローラー設定]のExt2のタブの[チート]の項目をお好みのキーに設定。

この手順さえできれば、キャプチャソフト等と組み合わせて裏事情形式のバグ動画を作ることができます。

コードの解析 - 手動サーチ

例えば

  • 「シリーズものの動画を作りたいけど面白いコードがわからない」
  • 「ジャンボ尾崎のホールインワンプロフェッショナルで狙ったセリフ割り込みを起こしたい」
  • 「自分でごちゃマリオやってみたいけどランダムだとフリーズ率が高い、フリーズするコードを取り除きたい」

等、何か狙いをもってチートバグを楽しみたいときは、ある程度踏み入った解析が必要になります。

適当な個数のコードを用いてバグらせ「いいんじゃないかな。」と思った現象があったらチートコードを保存。各エミュレータにはチートコード一個ずつON・OFFを切り替える機能があります。
事前にコードが入っていない状態でステートセーブを行なっておけばフリーズやクラッシュしても元の状態に戻すことが可能です。

例えば「ONにするとメッセージ『○○○○○○…』が強制的に表示される」というコードを発見したら、「ONにするとメッセージ『△△△△△△…』が強制的に表示される」というコードも近いアドレス及び数値で存在することになります。

面白いバグコードがフリーズするコードだった場合はアドレスはそのままで数値を変更してみるのも手です。場合によってはフリーズが回避出来ますが、バグが変わる場合もあります。

またオンオフを繰り返すことでバグの状態が変わることもあります。また、オフにしても元に戻らないこともあります。

目的の挙動以外のコードを入れるかどうかは自由です。
 
また、ステートセーブ/ロード機能を利用してバグらせたい場面にまで限りなく近づいておくのも手です。
ロゴやタイトル画面、ロード画面やゲーム中のイベントまでの道のりを飛ばした状態のデータを残しておけば、少ない時間でより多くコードを検証することが出来ます。

コードの解析 - 検索

HPなど明らかに数値が分かっているものは検索することができます。
VirtuaNESではチート支援を使用します。
HPの現在値を入力するといくつか(あるいは1つだけ)候補が出てきます。変動させて検索を繰り返す、又は候補のコードの変動を確認すれば目的に到達可能です。
ある程度曖昧なものでも、数値の増減又は維持が分かれば検索可能です。
ステータス(MPなど)は近いアドレスに存在することになります。

更なる発展

バグるチートコードの作成
チートコード作成の手法を利用しテキストコードなどのバグるコードを意図的に探し、利用する。
メモリ解析の知識(数値の変動の仮定)又はプログラミングの知識が必要で非常に高度ですが、シリーズ物投稿の際には必ずと言っていいほど必要な技術となります。

関連項目

チートバグの際のハードごとの特性

外部リンク

CBRK 803832 803832氏によるサイト、コンテンツの1つとして生成センターがある。
なお、Yahooのジオシティーズはサービスを終了しているため、ここではWayback Machineの魚拓を載せておく。
ゲーム用カオスコード Wiki ゲームをカオスにして楽しむためのチートコードをまとめるためのwiki。


*1 ネット上に違法にアップロードされている(ゲーム)ソフトの俗称。