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

削除された内容 追加された内容
685 行
三値ビットではなく二値ビットでも同様にケタ間違いが波及しやすいので、なるべくビット列は避けるほうが安全です。
 
 
なお、「三値ビット」等といいましたが、正確には、ビットとは2進数の値のことですので、3進数以上では「バイト」を使って「3値バイト」とか「3進バイト」とか言うほうが厳密かもしれません。ですが、そこまで厳密に体系化されてない事と、そのため作家や会社によって表現が違うので、よく2進ビット列をソフトウェア的に組み合わせて3値処理や4値処理を実装したりするので、慣習的に「3値ビット」や「4値ビット」みたいな言い回しでも通用したりします。
 
 
さて、散々ビット列の話をしましたが、ゲーム制作では、できれば(ビット列の処理ではなく)配列でイベント変数を実装するほうが安全です。
 
もしかしたらファミコン時代の古いゲームなら、メモリの節約のためビット列で処理する事もあったかもしれませんが、現代なら配列でイベント管理するほうが安全でしょう。(ファミコン時代のRPGによくあるバグで、メモリのオーバーフローを起こしてイベントフラグのズレるバグが幾つかある。)
691 ⟶ 696行目:
 
 
ただし、C言語を使えない、ゲーム制作ツール(RPGツクールやウディタなど)を使ってゲームを作る場合、ビット列で代用せざるを得ない場合があり、4値論理的なビット列を使って代用する場合もあります。その場合、上述のビット列バグのようなバグが発生しやすいので、あまり重要なイベントにはビット列を使わないようにするとか工夫するとよいでしょう。もしくは、精度を必要としないイベントなどでは、4値ビットでの実装なら、そこそこ便利かもしれません
 
 
なお、ツクールやウディタでなくプレステ作品などのゲーム開発でも、ゲーム会社はRPG制作ではイベント処理に会社内製スクリプトを使っている場合があります。
 
C言語では16進数(0からFまで)を扱えるので原理的には16進ビット列(正確には「16進バイト列」というべきだろうが)等もありえますが、しかし慣習的にゲームのイベント管理で使うビット列は、よく聞くのは、せいぜい4値ビットまでです。それ以上は寡聞にして聞きません。
 
==== 備考 ====