チュートリアル/ゲーム開発に必要なデバッガの作り方


ゲーム製作で必要になるデバッグ用の情報などを表示するデバッグ・システム(デバッガ)を自分で実装するための作例と説明。

参考:A Guide on Creating a Debug System in Fusion 2.5
でばっぐ
 

Debug 【 デバッグ 】とは?

プログラムが意図しない動作をしたり、あるいはプログラム上の欠陥などを「バグ( Bug )」、この欠陥を修正するための作業全般を「デバグ(デバッグ/ Debug )」と言います。

この逆、つまりバグを作ってしまった愛情篭った手作業のことを「エンバグ( Enbug )」と言います。

デバッガとは?

「デバッガ」というのはバグを修正するための仕組みや作業などを支援するための「デバッグ・システム」のことです。一方でバグを発見するため、動作チェックを行う専任の人などを「デバッガ」とも呼びます。一つの言葉で二つの意味を持ちます。

今回は「デバッガ」と言った場合、人ではなくデバッグを支援するための情報等表示システム全般を指します。

CF2.5 にも標準のデバッガがあったはずだが?

使いにくいですが、確かに CF2.5 にも専用のデバッグシステムは付属されています。変数の内容とかを見たり、Flag の状態を確認したりする分にはそれなりに役立っています。

しかしそれ以上の情報が欲しい場合には標準のデバッガでは不足で、デバッグのために例えば動作をスローモーションにしたりプログラムを特定の箇所で一旦停止したり、こういったことを実現するためには自分でイベントを駆使して専用の「デバッグ用システム」を作る必要などが出てきます。

今回のチュートリアルではそこまで凝ったデバッガはさすがに作っていませんが、リアルタイムで動いているオブジェクトの情報を表示するための設計とか考え方・イベントの組み方などを学ぶための良い資料となっています。

nintendo

デバッグに絡んだ話だと、任天堂が就活者向け資料として公開しているソフト品質管理部との対談形式で構成されたドキュメントなんかがおもしろいです。もちろん個人開発ではムリな規模ですが、企業ではバグ修正するためにも効率を求め計画的に開発している姿勢などが伺えます。

参考:採用情報:任天堂で働くということ/デバッグ業務管理編

チュートリアルの総括でも書かれていますがシンプルかつ小さい規模のゲームにはカスタムされたデバッグシステムとかはあんまり必要ありません。凝ったことをしようとすると標準のデバッガでは不足というだけで、規模とかあるいは開発の経験に応じてこういうカスタムされたデバッグシステムが必要になるよというだけのことです。

しかしカスタムのデバッグシステムを作ることでゲームがどのように動いていて、あるいはどこでどのような問題が発生しているかなどを適切に把握しやすくなります。


Leave a comment

メールアドレスが公開されることはありません。 が付いている欄は必須項目です