「65536」という数字を聞いて、ニヤっとする人はゲーム開発者か古くからのゲーマーのどちらかでしょう。あ、職業がプログラマーの人は、もちろんすぐにおわかりになると思います。
「65536」という数字は256のべき乗です。256 x 256の答えが65536になります。この数字は2バイトで表現できる最大値なので、古いゲームの最大ヒットポイントや、所持できるゴールドの上限がこの数字だったりしたのです。
スポンサーリンク
ビットとバイトの簡単な解説
ビットとバイトについて簡単に解説してみます。ゲーム会社のデザイナーなので、ある程度は把握しているのですが、もちろんプログラマーさんほど詳しくないので、間違っていたらご指摘いただけると助かります。
という逃げ口上はこれくらいにしてっと(^^;
1ビットで表現できる数字は0か1のみです。1バイトは8ビットなので256ですね。プログラムの世界は0オリジンといって、0スタートが標準なので、8ビットで表現できる数字は正確には0から255までになります。
- 1ビット 0か1
- 1バイト(8ビット) 0から255
昔のゲームは65536が最大の数値だった
さて、65536という数字は前述したように256 x 256で表現できる数字です。1バイトの上限である256だと、ヒットポイントや所持金で扱う数字としては少し小さすぎるので、昔からこれらには2バイトが割り当てられてきました。
実は1バイトで管理していて、後ろの000は実際には計算せずに表示しているだけ、というのもあるのですが、それは今回は置いておきます。
(出典 Gigazine)
イース初代の画面を拾ってきました。イースを題材に考えると、
- HP 1バイト 256
- EXP 2バイト 65536
- GOLD 2バイト 65536
という感じだと思います。
私がイース初代をプレイしたのは、中学生くらいのころでした。さすがに記憶がおぼろげなのですが、何かのパラメータをカンストして、65536よりは増えなかったので、この数字は何だろう?、と不思議に思ったことを覚えています。
今のゲームにも上限になる数字はある
数字の上限は古いゲーム限定のものではありません。今のゲームにも上限はあります。ただ以前よりもゲーム機の性能は格段に上がっているので、天文学的な数字になっていますが。
おそらく4バイトで扱う数字が上限なので、
- 256 x 256 x 256 x 256 = 4,294,967,296
という数字が最大でしょう。42億超のパラメータを使用することはまずないでしょうね。
ただ、この数字を超えたときに、回避する処理とかはおそらく入っていないので、数字を超えたときに、ゲームがバグる可能性があります。
・・ま、杞憂かもしれませんが。
まとめ ー ゲーム開発の小ネタでした
以上、ゲーム開発の小ネタでした。
実際の現場では、デザイナーは数字の上限とかはあまり気にしてなくて、表示場所であるとか、数字のデザインとか、データをどう持つのかの方を気にしていたりします。
どちらかというと、PC8801などの古いゲームが好きだった人に馴染み深い数字なのかもしれませんね。