「ゲームプログラミング/デバッグ」の版間の差分

削除された内容 追加された内容
712 行
そういう作者だけの特殊システムが必要になります。一般プレイヤーには、デバッグルームには入れないように、対策する必要があります。
 
たとえばファミコン版のドラクエ2やドラクエ3には、「死のオルゴール」という、使用するとパーティが全滅するという謎のバグアイテムがあり、普通のプレイでは絶対に入手できません(バグ技などを使う必要がある)。おそらく「死のオルゴール」はデバッグ用のアイテムだろうと思われています。
 
これがもし「全滅スイッチ」とか「全滅ボタン」とかだったら、なんか機械的で、ドラクエの中世西洋ファンタジーの世界観に雰囲気に合いません。もしバグでプレイヤーに「全滅スイッチ」が見つかったら、プレイヤーの抱いていた世界観のイメージが崩れます。
このような、デバッグ用の作者専用システムのことを、俗にゲーム業界では「デバッグルーム」とか「デバッグモード」とかいいます。
 
でも「死のオルゴール」なら、もし万が一、プレイヤーが発見しても、「オルゴール」という中世からある楽器の名前なので、なんとかゴマかせます。
デバッグルームとは「デバッグの部屋」という意味です。作品によっては、実際にゲーム内に「デバッグルーム」というエリア、ステージを用意する場合もあります。
 
 
このような、デバッグ用の作者専用システムのことを、俗にゲーム業界では「デバッグルーム」とか「デバッグモード」とかいいます。デバッグルームとは「デバッグの部屋」という意味です。作品によっては、実際にゲーム内に「デバッグルーム」というエリア、ステージを用意する場合もあります。
 
この機能を作者が使うことを「デバッグルームに入る」とか「デバッグモードをオン(ON)にする」いいます。
764 ⟶ 768行目:
さて、一般プレイヤーには、デバッグルームには入れないように、対策する必要があります。
 
まず、デバッグフラグをオフにします。デバッグフラグがオンの状態でないとデバッグモード起動しないようにプログラムします。
作者のファイルにだけ、デバッグルームに入れるアイテム(「デバッグルームの鍵」など)とかを設置するとかして、実装します。一般プレイヤーに配布するゲームデータには、デバッグルームの鍵などを与えないようにします。デバッグルームの場所は、ゲーム内の中盤や後半に隠して立てておくと安全です。
 
しかし、それだけでなく、さらなる安全策が必要です。
 
たとえば、作者のファイルにだけ、デバッグルームに入れるアイテム(「デバッグルームの鍵」など)とかを、そのままの名前だと万が一プレイヤー側にバレると世界観が壊れるので、なんかファンタジーっぽい名前に変えるなどして作者データに設置するとかして、実装します。一般プレイヤーに配布するゲームデータには、デバッグルームの鍵などを与えないようにします。デバッグルームの場所は、ゲーム内の中盤や後半に隠して立てておくと安全です。
 
あるいは隠すのではなく正式な公開機能として、ゲームクリアしたプレイヤーに、デバッグルームの一部を開放するなどする方法もあります。こうすると、あまり気にやまなくても済みます。
 
または、ゲーム開始のオープニング画面中に、画面には表示されてないが実はパスワード入力を受け付けしている状態を起動させておいて、パスワードが正しければデバッグモードがオンになった状態でゲームを開始できるようにするとか、そういう方法もあります。パスワードの受付をしているのを、プレイヤーには見せないようにします。
 
 
アクションゲームなど、あまりRPGのようなアイテム配布をしづらいようなシステムの場合は、この裏技のような方法のほうが便利でしょう。