誰も見ていない時間

ゲーム、読書、マンガ、ライフハックなどの雑記

「65536」という数字に反応するのは、ゲーム開発者か昔を知るゲーマー

スポンサーリンク

「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は実際には計算せずに表示しているだけ、というのもあるのですが、それは今回は置いておきます。

 

f:id:kitahana_tarosuke:20180531021220p:plain

(出典 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などの古いゲームが好きだった人に馴染み深い数字なのかもしれませんね。