News

2015年4月16日(木)

“Unity”でゲーム移植する際は小まめな動作確認を。SCEが教える“プロジェクト炎上”の予防策

文:広田稔

 4月13日~14日に開催された“Unite 2015 Tokyo”にて、“Unity 5.0 for PlayStation の最新状況(と、例のアレ)”という公演が行われた。その模様をお届けしよう。

“Unite 2015 Tokyo”
▲“例のアレ”というのは、昨年も“Unite”で披露したバーチャルリアリティ向けヘッドマウントディスプレーの“Project Morpheus”(プロジェクト・モーフィアス)だ。

 “Unity”(ユニティ)といえば、国内でも数多くのゲーム制作に利用されているソフト開発エンジンだ。その特徴は、PCやコンシューマ、モバイル、スマートフォンなど、複数のプラットフォームに書き出せるという点にある。

 ただし、他のプラットフォームへの移植する際には、「その先の実機できちんと確認しないと、後でプロジェクトが炎上する痛い目にあいますよ……」という話が、本公演で語られた。登壇したのは、SCEJAパブリッシャーリレーション部の次長で、開発サポート責任者を務める秋山賢成氏だ。

“Unite 2015 Tokyo”
▲秋山氏。炎上対策のほか、開発にUnity 5.0を使う利点を語ったり、3月に“GDC”で発表した新型“Project Morpheus”を国内で初めてお披露目したりと盛りだくさんだった。

■プラットフォームの移行には早い段階できっちりとした確認が重要

 具体例として出されたのは、スマートフォンのタイトルをPS Vitaに移行するケースだ。現状、PS Vita向けゲームを“Unity”で使うためには、“Unity 4.3.4”をベースにカスタマイズが加えられたUnityエディタを利用することになる。詳しくはPSM DeveloperPortalを参照。以下、秋山氏の言葉とともに、スライドを見ていこう。

“Unite 2015 Tokyo”
▲“Unity”で作られたPlayStation向けタイトルの一例。2015年はかなりたくさんのUnity製タイトルがPlayStationで登場する。ぜひ、期待しておこう。
“Unite 2015 Tokyo” “Unite 2015 Tokyo”
▲筆者は“Unity”が愛されているの理由の1つに、マルチプラットフォーム対応があるのかなと考えている。日本市場では、スマートフォンのタイトルをPS Vitaに簡単に移行できるのが強み。
“Unite 2015 Tokyo” “Unite 2015 Tokyo”
▲しかし、最新のスマホとPS Vitaは同じスペックではない。ハードだけでなく、オブジェクト確保やガベージコレクションの速度など、ソフトの違いも存在している。PS Vitaの開発を進める前に、特性を把握しておかないと必ず事故が起こってしまう。
“Unite 2015 Tokyo” “Unite 2015 Tokyo”
▲ありがちなパターンでは、“Unity”を導入し、あまりに簡単に3Dやアニメーションが作成でき、PS Vitaに書き出してもそのまま普通に出るので、ハードルが低いと誤解してしまうこと。
“Unite 2015 Tokyo”
▲先ほどの話でいうと、いつから実機や開発機で確認を始めたのか、“出る”というのは本当にゲームが成立するレベルで動作したのかという2つがチェックポイントになる。

 スマートフォンでは、新機種が出るたびにメモリが増え続けているが、PS Vitaは2011年から固定。メモリが足りないと、ガベージコレクションが頻発したり、その処理のためにCPUを使うことになってしまう。

“Unite 2015 Tokyo” “Unite 2015 Tokyo”
“Unite 2015 Tokyo” “Unite 2015 Tokyo”
▲Unityの処理速度は、マルチプラットフォーム対応のために、内部に巨大な抽象化レイヤーを抱えていることもあって、CPUのシングルコア性能に大きく左右されてしまう。そうした特性を把握しておかないと、開発終盤になってから大炎上してしまう。
“Unite 2015 Tokyo”
▲実際にあった話では、α、β版のチェックが軽すぎて、本制作に入ってから思ったほどパフォーマンスが伸びず、プロジェクトが炎上して、発売延期という話が出てきた。
“Unite 2015 Tokyo”
▲評価段階で、7割ほどのパフォーマンスだったが「おっ、動いた!」と判断してしまい、実際に本制作に入ってから最適化が進まず本製品として発売できる品質に達しなかった。

 Unityの手軽さとスピード感が素晴らしいがゆえ、デベロッパーが勘違いしてしまい、実機をこまめに使わずに開発を進めてしまってるのが大きな問題点。実際、開発終盤で仕様やワークフローを見直して、作り直さざるを得ないケースが増えてきている。

“Unite 2015 Tokyo”
“Unite 2015 Tokyo”
▲SCE側もこのままでいいと思っているわけではなく、PS VitaのSystem Software 3.50よりゲームが利用できるメモリサイズを従来の約30%増やした。

 メモリ拡張は大きなインパクト。ゲームのロードの時間が増えるのでバランス調整は必要だが、チューニングできる幅は広がる。実際にこのメモリ拡張で救えた炎上プロジェクトもあるそうだ。

“Unite 2015 Tokyo”

■ゲームオブジェクトが多いタイトルの開発には“Unity 5”がオススメ!

 秋山氏は“Unity 5”の新機能よりも、デベロッパーにひびく実務での利便性を重視し、その部分についてのトークを展開。

“Unite 2015 Tokyo” “Unite 2015 Tokyo”
▲“Unity 4”では、シェーダーのコンパイルエラーで教えてくれる行数が間違っていたが、“Unity 5”では正しく表示されるようになった。

 “Unity 4”では、シェーダーを取り込んだ時点で有効な全プラットフォームに向けてコンパイルしていたが、“Unity 5”ではビルド時など必要な時だけコンパイルされるので作業速度がアップする。

“Unite 2015 Tokyo”
“Unite 2015 Tokyo”
▲“Unity”はシングルコア性能に大きく左右されると話したが、5ではマルチスレッド処理が最適化された。写真のうち縦軸がスレッドで、横軸が時間、青い部分がCPUの動作を表す。負荷がうまく分散されているのが見て取れる。
“Unite 2015 Tokyo”
▲Unloadもマルチスレッド対応となり、メインスレッドからこの処理が外れた。メインスレッドにかなりの処理を任せてるユニティのエンジンでかなり大きな話。

 ここでわかったのが、ゲームオブジェクトが多いタイトルでは、“Unity 5”への乗り換え効果が高そうということ。開発者の皆さんは、ぜひ検討してみては?

“Unite 2015 Tokyo”

■60fpsから120fpsへ。進化し続ける未来の体験とは

 公演の最後には、新型“Project Morpheus”の実機がお披露目された。“モーフィアス”とUnityの親和性の高さを証明するかのようなユニティちゃんのデモも見られた。

“Unite 2015 Tokyo”
▲体験こそできなかったものの、“Project Morpheus”の実機を見せて観客の注目を集めていた。
“Unite 2015 Tokyo”
▲デモで流したユニティちゃんのライブは、元のフレームレートが60fpsで、リプロジェクション機能を使って120fpsで動いているように見せかけている。見た目もVRの体験もよくなるので、可能ならば120fpsで作ってほしいとのこと。
“Unite 2015 Tokyo”
▲“Project Morpheus”への対応は非常に簡単で、Unityエディタを開いて専用のモードを設定。“モーフィアス”対応のスクリプトを入れて、SDKを実行すればOKとのこと。
“Unite 2015 Tokyo”
▲「Unity、VRに興味のある開発者の皆さまはぜひご要望を」とのこと。希望の声が多ければ勉強会や体験会を実現したいと考えているそうだ。

 秋山氏は、「モーフィアスのようなVRコンテンツは試行錯誤の回数が重要で、それはUnityのエンジンの思想と非常に相性がいい。時間がかかるかもしれないが、何度もビルドアンドスクラップして、未来の世界を表現してください」と、まとめていた。

“Unite 2015 Tokyo”

Copyright 2015 Unity Technologies Japan G.K. All Rights Reserved
(C) 2015 Sony Computer Entertainment Inc.

関連サイト