YoutubeチャンネルTikTokゲームラボ【年末年始休業のお知らせ】2019年12月27日(金)15時~2020年1月6日(月)11時まで、お問い合わせ窓口をお休みさせていただきます。ご不便をおかけし大変申し訳ございませんが、何卒ご了承のほどお願い申し上げます。投稿ツイートラジオテイストの新番組“おつファミ”始動!“月曜日のダルさをみんなでゲームの話をしながら乗り越える”がコンセプトの新番組“おつファミ”。ここでは、昨今モバイル市場でも注目を浴びているゲームエンジン、アンリアルエンジン4(以下、UE4)に関する講演リポート“最新モバイルゲームの実例から見るUE4のモバイル向け機能・開発Tipsを全部まるっとご紹介!”のまとめをお届けしよう。モバイルゲーム開発向けにと実装されたUE4の各種機能や開発Tipsを語ってくれた。●問題解消はパフォーマンス改善にも繋がるUE4モバイル向け開発環境はどこまで整った?講演でまず触れられたのが、いまUE4はモバイル向けの機能を拡充しているという点。Breakers』(一部地域でソフトロンチ中)も登場してきている。アンリアルエンジンと聞くと、どうしてもPCゲームやコンシューマーゲームなどの印象が強いものだが、具体的にどのようなモバイル向け機能が追加されたのだろうか。この疑問には簡単に答えを出してくれた。岡田和也氏曰く「PC、コンソール開発で使用できる機能のほとんどは、モバイルでも問題なく使えるようになっています」とのこと。ハードウェアの関係上、レンダリングなど一部の機能には制限が付くものの、Blueprintを使ったビジュアルスクリプティングやノードベースのマテリアルエディタをはじめとするUE4の特徴的な機能はモバイル開発でも利用できるという。補足をしておくと、Blueprintビジュアルスクリプティングとは、コードを手で打ち込んでスクリプトを作るのではなく、定義されたオブジェクト、オブジェクト指向を組み合わせることで、感覚的にスクリプトが作れるシステム。これを利用すれば、アプリ内課金システムやリーダーボード対応、実績機能もプッシュ通知機能も比較的容易に設定できる優れものだ。マテリアルエディタとは描画オブジェクトの外観の質感や色味を定義するマテリアルの設定を誰でも手軽に行えるエディターのこと。エンジニアでないと難しいと想われていた作業でも、UE4なら非エンジニアでも行えるというのがUE4最大の特徴であるが、これらがモバイル開発でも使えるというのは大きい。モバイル市場は一般人でも参入しやすい市場。アイデアはあるものの、開発技術の習得がボトルネックとなり、そこに踏み込めないという人も多くいることだろう。本格的に使いこなすには多少の勉強は必要となるだろうが、UE4ならそのハードルは通常よりも遙かに低くすることができる。現在UE4は無料化されているので、興味のある人は、触ってみるといいだろう。続いてUE4に追加されたモバイルに特化した機能の紹介もなされたが、こちらは専門的な話になってしまうので、簡単にまとめておこう。詳しく知りたい人は、本講演のスライドがすでに公開されているので、そちらを参考にするといい。2017年8月31日ザックリまとめると、モバイル向けに用意されたレダリンダラーを強化。ハイエンド端末向けの設定を追加し、パフォーマンスの向上が図れるように。ライティングや影の描画、被写界深度などポストプロセスエフェクトも高品質なものが利用できるようになったという具合だ。ゲーム内公告やアナリティクス用のプラグインが充実してきたのも強化された点と言えるだろう。モバイル開発最大のハードル、端末に合わせた調整もサポート続いて語られたのは、本題であるモバイル開発で直面しがちな問題とその対策について。モバイルゲーム開発で必ずと言っていいほど衝突する問題が、端末に合わせた調整に関する問題。iOSデバイスは、端末のバージョンによって一律規格化されているが、Androidはメーカーによっても端末によってもスペックが異なるため、それらすべてにフィックスさせるというのは不可能に近い。ハイエンドなコンテンツを作りたいが、端末ごとへの対応が難しく、そこへの対応コストや時間を考えたら断念したというケースは少なくないだろう。そこはUE4によるサポートによって、ある程度緩和されるという。各端末への対応で求められるのは、ハードに応じたパラメータ調整、端末スペックに合わせたマテリアル調整、そしてディスプレイサイズに合わせた解像度設定である。UE4はこれらをフルサポート。どれもシンプル操作で手軽に行えるようになっており、とくに解像度に合わせたUIサイズ(配置)の調整はプリセットが大量に用意されているほか、マウスのドラッグ操作でも行えるようになっているので、直感的なマンマシンインターフェースとして機能するものとなっている。バッテリー消費と発熱を抑えるテクニックも公開!モバイルゲームで場合によっては軽視されがちだが、ユーザーはしっかり気にしている点、バッテリー消費と発熱問題の解決策についても話された。この問題は、ユーザー側からしてみれば大きな問題。人によっては、端末が熱くなりすぎるという理由からゲームを放棄したことがあるというケースもあるだろう。この発熱問題最大の原因は、言わずもがな“端末の限界に近いハイパフォーマンスを出させ続けること”にある。これに対応するのに重要なことは、端末ごとにしっかりパフォーマンスを調整し、またコンテンツのクオリティを落とさずに最適化をすることだという。気を付けてほしいのが、最適化とは、コンテンツのクオリティを落とすことではないということ。これに関してはまた別の講演で詳細が発表されているので、詳しくは以下のスライドを参考にしてほしい。2017年8月31日では、最適化とはどういう調整なのか。具体的な例がひとつ挙げられた。それは、フレームレートを60fps上限ではなく30fps上限に設定するということ。ことコアなゲームに関して、ゲーマーの多くは60fpsを求めがちだ。60fpsが求められるゲームとそうでないゲームというのは、はっきりと大別できる。端末によっては60fpsを出そうとすると、発熱を抑えるためにスロットリングと呼ばれる現象、簡単に言ってしまえば端末からの拒否が発生し、パフォーマンスが鈍化してしまう現象が発生する。高フレームレートを出そうとしてフレームレートが落ちてしまう。何でもかんでもハイエンドにするのではなく、状況と端末を見て、必要な箇所に必要な対処を行おうという話だ。フレームレートを30fps上限に抑えると、60fps上限に対して、消費電力が40%も抑えられるという結果も出ている。消費電力と発熱を抑える選択として30fps上限にするというのは有効な手なのだ。解決策としては、ゲームデザインの見直し、解像度の見直し、キャッシュの活用も有用な施策と言えるという。ゲームデザインの見直しは、非常にシンプル。高解像度な動的シーンを続けてしまえば、当然だがGPUはフル稼働しっぱなしとなり、結果バッテリー消費と発熱に繋がってしまう。これを避けるために、動的シーンの後にはリザルト画面などの静的シーンを適切に挟んでいくことで、デバイスが冷却されるタイミングを用意してあげるのだ。解像度の見直しについてだが、スマホのディスプレイ性能がよくなったことを活かそうと、すべてを高解像度で処理しようとすると、当たり前だが端末には高負荷がかかってしまう。そこで有効なのが、つねにしっかりと描画しておくべきUIの解像度と、場合によっては解像度を多少さげても問題のない描画シーンの解像度を分けて設定するという手法。シーンによっては、解像度をさげてぼかすことが演出に繋がる場合もあるので、UIの解像度と描画解像度を分けて設定できるUE4環境下では、分けて設定できるようにしておくといいとのこと。画面内に描画されているものの中で、ほとんど変化しない部分を毎度読み込んで処理するとなると、バッテリー消費が大きくなってしまうのはもちろん、パフォーマンスも低下する。Breakers』においては、キャッシュの有効活用によって、パフォーマンスを2倍以上高速化させることに成功したという。以上のようなバッテリー消費・発熱対策は、そのままパフォーマンスの向上に繋がることもある。バッテリー消費や発熱に悩んでいるという人は、技術的な最適化に走る前に、まずはどこか工夫できるところがあるかどうかを探してみるといいかもしれない。以上が“最新モバイルゲームの実例から見るUE4のモバイル向け機能・開発Tipsを全部まるっとご紹介!”の簡単なまとめとなる。UE4のサポートチームは、ブログでこのようなテクニック紹介もしているという。2017”も開催されるので、気になる人はチェックしてみるといいだろう。