【特別企画】
姿を変え今なおスマホゲームを支える画像最適化ツール「OPTPiX」
モダンなゲーム開発に対応した最新版「OPTPiX ImageStudio 8」
2019年9月9日 00:00
ウェブテクノロジは、CEDEX2019最終日の9月6日、同社の画像最適化ツールの最新版「OPTPiX ImageStudio 8」(以下「OPTPiX IS8」)を紹介するセッションを行なった。「OPTPiX IS8」や以前のバージョンは、過去20年以上に渡り、多くのゲーム開発プロジェクトで採用され続けてきたツールで、画像最適化ツールの実質的なデファクトスタンダードであると言える。
本項では、本セッションで同社開発部長小野知之氏から解説された「OPTPiX IS8」の新機能とともに、同製品シリーズがイマドキのゲームでどのように役立てられているか紹介したい。
画像最適化ツールの最新版「OPTPiX ImageStudio 8」
つい先ごろ、8月28日に正式版が発売された「OPTPiX IS8」を一言で言うと、“画像の減色ツール”だ。本製品には画像最適化に関する数多くの便利機能が存在するが、キモの部分はこの1点に尽きる。フルカラーが当たり前になって久しいゲームコンテンツにおいて“減色”などというと時代錯誤に感じるかもしれない。ところが、この減色に対するニーズは、時代が変わっても一定の領域で存在し続けている。現在においては、スマホゲームにおいて幅広く活用されている。
もちろん、現在のスマートフォンも表示スペックは、PCやコンソールゲーム機とまったく同じ約1,600万色のフルカラーだから、スペックだけを考えると減色は必要なさそうに思える。ところが現実には、配布パッケージやアップデートパッケージのファイルサイズを小さくすることは、非常に重要だ。
パッケージデータの70~80%程度はグラフィックに関するデータで、しかも2D、3Dに関わらず、その多くは画像データだから、画像データの総量を小さくするということは、ネットワークを通じての伝送時間やストレージからのロード時間、ひいてはゲームプレイのレスポンスに直結する。
スマホゲームの離脱は、ゲームプレイを開始するまでの“待ち時間”に最も多く生じているという統計データが多いことから、この“待ち時間”を最小化するということは、どのゲームでも大きな命題になっている。
画像データのサイズを小さくするには、解像度と色の2つの軸で圧縮してしまうアプローチが考えられる。解像度圧縮では、縦、横、またはその両方に縮小をかけておき、ランタイムでアップスケールする方法が採られる。縦横半分に縮小した場合、画像に含まれる総ピクセル数は1/4になるから、サイズも1/4ということになる。
ランタイムでアップスケールする際の中間ピクセルは、とくに小細工をしない限り単純な拡大表示と同じで、近接するピクセルから補完されるものだが、等倍で、特に横方向1/2にとどめた場合はオリジナルとの差異を感じることが少ない。
色圧縮は、ひとつの画像に含まれる色の数を1,600万色のうち一定の数に制限してしまう方法で、256色までに制限してしまえば、1ピクセルを8ビットで表現できることから、ARBG32ビットと比較して1/4のサイズになる。インデックスカラーを格納するパレット(カラールップアップテーブルとも)を持つ必要はあるが、パレットデータのサイズはわずかなものだ。オリジナル画像の中に256色以上の色が含まれている場合、すべての色を忠実に表現できないため、ディザを加えて、人の目の知覚をオリジナルを見た時のものに近づける。この方法論は、どの減色ツールでも同じだが、「OPTPiX IS8」のアルゴリズムは優秀で美しさに定評がある。
現在、ゲームでもよく使われているPNG画像形式の場合、フルカラーのPNGでも、インデックスカラーモードのPNG(PNG8)でもDeflateによって符号化が行われることから、画像サイズは単純な1/4サイズのビットマップデータより、さらに小さくなることになる。
どちらも何かしらを犠牲にしてしまうことから、オリジナルより劣化してしまうことには違いない。ビジュアルのテイストによっては、色圧縮を行なっても、オリジナルからの劣化が目立たないこともあり、この場合「OPTPiX IS8」が役に立つ。
色圧縮向きの具体例は、デフォルメの効いたイラストや、マットな着彩が施されたセルルックのイメージだ。典型的なスマホゲームでは、キャラクターのバストアップやカードといったビジュアルになるだろう。
特に、ガチャ用のキャラクターカード、アイテムカードを、運営フェイズに移行してからも、相当量、相当頻度で次々と追加していくビジネスモデルの場合、画像データのクオリティはゲームの魅力にそのまま直結する。これらの画像データは、増えることはあっても減ることはないから、ビジュアルの美しさを保ったままデータサイズをギリギリまで減らしておくことは、先の命題ともあいまって非常に重要だ。長期にわたって運営が続けられているスマホゲームの場合、1,000枚、2,000枚といった量にもなる。仮に1枚500KBだとしても、1,000枚なら500MBにもなる。これが70%程度低減できる可能性があるのだから、色圧縮を検討する価値は大いにある。
減色ツールとしての「OPTPiX IS8」の有意性とは?
ちなみに、純粋に減色するだけなら、あまたある減色ツールの何を使っても良い。削減できるデータサイズの量も、本質的には大きな差異はない。ただし、以下の3点で「OPTPiX IS8」には確たる優位性がある。
ひとつ目は、先にも述べたように、減色後でもかなり良好にオリジナルの美しさをとどめている点だ。これは、初代減色ツールの「OPTPiX」から定評のある優位性で、おそらくはディザのパターンやディザを加えるアルゴリズムに同社独自の工夫があるのだろう。筆者が初めて「OPTPiX」を知った1997年当時から、ウェブ用のGIFを作成するのに、たとえソース画像が写真素材であってもAdobe Photoshopより結果が良好と帰結しているレビューが多かった。
ふたつ目の優位性は、「OPTPiX IS8」で新たに導入されたマルチスレッドによる高速化だ。小野氏によると、そもそも減色はマルチスレッドに向かないというが、それでもマクロ(バッチ処理)による並列実行時、ファイルのロード、セーブがスレッド化されたことにより、前バージョン比で80%以上高速化している。その他、エンコードに時間がかかるiPhone等で利用されているPVRTC形式でも15%以上の高速化を達成している。画像処理ソフトの多くは、お世辞にも高速とはいえないものが多いなか、「OPTPiX IS8」の高速化は良好なレベルで達成されているだろう。
3つ目は、使いやすさ。これは「OPTPiX IS8」の最大のウリであるUIによってもたらされている。「OPTPiX IS8」のエディタは、フローティングウインドウが、ユーザー任意の位置にドッキングできるモダンなものに一新されている。
なかでも、タイムラインウィンドウと呼ばれる作業ヒストリーのウインドウには、適用した編集内容の結果がワンステップごとにサムネイル表示されており、視覚的に非常にわかりやすい。任意の位置に戻って、パラメータを変更すると、以降の編集内容も含めてすべて即座に再計算され、サムネイルの表示内容も更新される。これに、途中からの作業分岐を保持できればさらに使い勝手が良くなるだろう。今後の改良に期待したい。
タブ型のメインウインドウの編集中画像では、現在の画像とワンステップ前との比較が、写真編集ソフトによくある上下、左右分割表示に加えて、中央のスライダーを左右に動かして行うこともできる。昨今ウェブサイトでよく見る比較スライダーと同じイメージだ。
プロの現場では、他のツールから「OPTPiX IS8」の機能を呼び出して連携させるのに重宝される、コマンドラインも9月末には提供される予定だ。また、大規模開発を想定して、タスク全体を管理するホストから、複数のPCに個別のタスクを渡して分散処理させる「OPTPiX for CI」という新ツールが開発されており、来週にもアルファ版がリリースが予定されている。
歴史を振り返ると、ゲームにおいて減色は必須の時代があった。これはスペックの制限から来るもので、SFC、メガドライブ世代までは表示可能な色数に制限があり、PS、サターン以降でもメモリの制約から減色せざるを得ない場合が少なからず存在した。
その後、リッチなビジュアルに到達したゲームコンソールでは減色に対するニーズはなくなったものの、ガラケーやカーナビ、STBや昨今のIoTデバイスといった非力なビジュアルを許容せざるを得ないデバイスが次々と登場しては、最終的にビジュアルリッチへと進化するという周期が繰り返されている。その結果、依然として減色に対するニーズは根強い。
「OPTPiX」という極めてニッチなツールが、時代の要請に応えながら「OPTPiX IS8」に姿を変え、今なお生き残っているのには、こうした背景がある。ウェブテクノロジには、今後も終わることのないニーズに応え続けて欲しい。