誰も見ていない時間

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

ゲーム開発の現場で行われているデータ削減について解説

f:id:kitahana_tarosuke:20170817002615p:plain

上のボタンは先ほど私がこのブログの解説用に10分ほどで作成したものなので、気にしないでください。ゲーム開発者の本音が入っていますが、気にしないでください。

 

デザインとデータ容量

私の職種はデザイナーです。チラシやパンフレット、マニュアルといった紙のデザインからキャリアをスタートして、PC系のソフトウェア会社、ゲーム会社と転職しました。今もゲーム開発や映像制作に携わっています。

 

デザイナーの仕事として考えたときに、ゲーム業界とそれ以外の業界で大きく異ることがあります。


それはデータ容量の削減です。


Web業界であれば、掲載する画像の容量を気にすることはあると思いますが、印刷向けのデザインではデータ容量について考えることはまずありません。適切な画像解像度が決められているので。

 

映像業界の場合でも、放送や映画などは気にする必要はありません。これも印刷向けと同じで適切な解像度が決まっています。

ROMに収めるタイプの映像(ゲーム内のムービーや遊技機向け映像)は容量を気にしますが、ゲーム内のリアルタイム用データほどシビアではありません。

 

携帯向けゲームの容量は今でもシビア

スマートフォンや携帯向けゲーム機のデータ容量は今でもシビアです。昔ほどではありませんが、それでも常にデータ容量を気にしながら、デザインを進める必要があります。

 

2Dと3Dでデータ容量の削減の仕方は異なってくるのですが、今回は2Dについてご紹介します。ゲーム開発をされている方には既知の情報だと思いますので、この辺りは知ってるよー、という方は、そっとブログを閉じていただければと思います。

 

f:id:kitahana_tarosuke:20170816231335p:plain

説明用にスマートフォン、もしくはニンテンドー3DSなどで使用されるメニューバーを作成してみました。既存のゲームではなく私が今回の記事用に10分ほどで作成したものなので、クオリティについては気にしないでくださいませ。

 

さて、上記のメニューバーの場合、データは下記のように持ちます。

f:id:kitahana_tarosuke:20170816235103p:plain

 

これだけです。解説しますね。


メニューバーの右側の部分は、左右反転して表示します。拡大すると分かりやすいと思いますので、拡大した画像で解説します。

f:id:kitahana_tarosuke:20170823230410p:plain

上記の解説のように画像を反転して表示すれば、右端の画像になります。

 

メニューバーの真ん中部分は、元画像の左側1pixel部分を、必要な分だけ引き伸ばして表示します。

f:id:kitahana_tarosuke:20170817001011p:plain

 

f:id:kitahana_tarosuke:20170817001027p:plain


表示される画像結果として、1pixelのものを引き伸ばしても、その分を画像として持っても同じです。容量削減を行う場合は上記のように、1pixelだけのデータをプログラムで必要な分だけ引き伸ばして表示します。

あとは別に用意したテキスト部分を重ねて表示すれば、メニューバーが出来上がります。

 

実際のデータの持ち方にはプログラムが関係する

もちろん、全てのケースで上記のようなデータの持ち方をするわけではありません。

 

f:id:kitahana_tarosuke:20170816231335p:plain

上記のようにメニューバーの部分をまるごとデータとして持つことがあります。

データ容量は増えますが、このデータの持ち方はプログラムでの処理が少なくなるのです。プログラムでの処理というのは、ドローコールと呼ばれる描画プログラムのことです。このドローコールという処理が多くなると、ゲームの処理速度が遅くなります。

 

データ削減よりもプログラムによる処理を減らすことを優先する場合は、画像部分をまるごとデータとして持ちます。

 

私自身はデザイナーなので、プログラムに関してはそれほど詳しくありません。ドローコールに関する話も、開発の現場でエンジニアさんから聞いた情報です。もし身の回りにエンジニアさんがおられましたら、直接聞いてみるといいでしょう。

 

ゲーム開発における2Dデザインのデータ削減の一部を紹介させていただきました。

みなさんが遊ばれているゲームのメニューひとつとっても、デザイナーやエンジニアが四苦八苦して作っているんだよー、というのを少しでも感じとってもらえれば嬉しく思います。