【UNITE JAPAN2014】スマホに合わせてスリムになっていた『ドラクエVIII』

2014-04-07 21:50 投稿

移植は簡単ではない

2014年4月7日、8日にかけて都内でUnity主催の公式カンファレンス”UNITE JAPAN2014”が開催中。これは、Unityユーザーに向けたさまざまな情報やデモ、セッションが行われるというもので過去にアムステルダムやサンフランシスコなど世界の各都市で開催され、8回目を迎える今回は日本での開催となった。

[関連記事]
※【注目アプリレビュー】ついに初リメイク! 『ドラゴンクエストVIII』をさっそくプレイしてみた

ここでは、”Unityでコンソールタイトルを移植する~ドラゴンクエストVIII移植から学ぶ、大規模開発テクニック~”としてスクウェア・エニックス、トーセのキーマンによる講演をお届けする。

本講演は、プレイステーション2(以下、PS2)で開発された『ドラゴンクエストVIII 空と海と大地と呪われし姫君』(以下『ドラクエVIII』)を、Unityを使ってスマホ版へ移植する際に生じた問題点と解決策を、さまざまな観点から紹介していこうというもの。スクウェア・エニックス畑圭輔氏を中心に、移植作業を担当したトーセの伊藤俊輔氏、兼古篤氏、辰田健二氏らが各セクションごとに丁寧に解説してくれた。

開発テクニックプログラマー編

トーセ
伊藤俊輔氏

プログラマー編を担当したのはトーセの伊藤俊輔氏。スマホ版『ドラクエVIII』ではメインプログラマーを担当した。オリジナルの『ドラクエVIII』からUnityで動くものにするためには、プログラム言語の変更から行う必要があった。具体的にはC++からC♯への変更が求められたのだが、これは手作業では無理なため、定形文法をコンバートするツールを開発した。ツールが使えない部分は手作業で行ったのだが、多数のプログラマーが関わるプログラムということもあり、これに関してはある程度は避けられないことだったとのことだ。

そしてつぎに行ったのが、既存リソースの仕分けだ。何が使えて、何が作り直しになるのかだが、『ドラクエVIII』の場合はマップやキャラクターなどのデザインデータやパラメータなどのAIデータは既存のデータを移植し、PS2独自の描画処理のようなハード依存の処理部分とスマホに合わせたUIなど変更点の多い箇所は作り直しとなった。

開発テクニックデザイナー編

トーセ
兼古篤氏

兼古氏がデザイナーとして大きく手を入れ部分は、データの軽量化だ。コンソールタイトルはデータ量も膨大。これをひとつのUnityプロジェクトで管理しようとするとソフトウェアの動作が非常に重くなってしまう。そのため、複数のプロジェクトに分割するのだが、この変換作業も自動化でできるよう構築したそうだ。このおかげでデータ数の割に少ない人数で作業できたとのこと。

兼古氏は、PS2版で細かく分割されていたデータ、レイヤーをひとつに統合することでアニメーション部分でも軽量化を図った。できるもの、できないものの見極めは非常に大事だったとのことだ。このほかにも、Unityではシェーダーをランタイムでコンパイルするとカクつくという問題が起こるため、よく利用するシェーダーをまとめ、先読みして対処するといった手法を取り入れたそうだ。

開発テクニックゲームデザイン編

トーセ
辰田健二氏

ゲームデザイン編で登壇した辰田氏は開発側のディレクションを担当。テーマとして掲げたのは、”コンソールゲームをスマホに特化したらどうなるのか”ということだ。スマホで気軽に遊べるということを重視した結果、横向きでやるのならばPS2と変わらなくなってしまうという結論に達し、現在配信されているような縦画面のレイアウトを採用。これにともなってすべてのUIデザインの刷新を行った。

「スマホに移植するという時点で、操作に関してはフルタッチに変更する必要がありました。ボタン操作のものをフルタッチ操作に切り替えれば必ずイライラ感が発生しますから、それを緩和する必要がありました」と言う辰田氏。そのための施策としてさまざまな要素が盛り込まれている。

▲調べられるものに近づくとフキダシが出るようになっている。これにより、初めて操作するユーザーが次に何をすればいいか迷わないようになっているとのこと。また、3D空間のキャラクターにバーチャルパッドで近づくのは困難。会話できる範囲をリングで表示。近づいて止まるだけで会話できる。
▲何度もプレイする戦闘シーンのUIは、親指の届く範囲にボタンを配置している。
▲広大なマップを移動する。いつの間にかズレてイライラしてしまうために縦画面に合わせたカメラの調整。

テクニカルノート

スクウェア・エニックス
畑圭輔氏

畑氏は、テクニカルノートと題してさまざまな困った事例とその解決策を紹介。まずはビルド時間の問題を提示。『ドラクエVIII』の場合、実機でテストするまでに最短で30分はかかったという。変更箇所のとくに多いときなどは2時間近くかかることもあったそう。プログラマーの側から考えるとその待ち時間は非常につらく、なんとか短縮化できないかと、社内サーバーにリソースを置いておくといった工夫で短縮化に成功したそうなのだが……。

結局もっとも効果のあった対策は、いいMacを買うことだったとのこと(笑)。これにより前述の30分の待ち時間が半分以下の10分くらいになったそうだ。「お困りの人は会社に相談してみては?」と語る畑氏のコメントに会場には笑い声も。

細かい調整でユーザーの体感速度を上げる

講演の締めとなったセクションは”移植を成功させるには”というもの。

「まずUnityである必要性を判断する必要があります。コンソールタイトルはソースコードもリソースも膨大ですから。その過去資産とUnityがどれくらい相性がいいのかをまず考えるべきです。そして言語の壁があります。コンバートや手動の変換の部分をどれだけカバーできるか。思わぬメモリ不足なども発生する可能性があります。そしてハード依存の部分を解決できるかどうかも重要ですね」(畑)

また、モバイルに必要な機能として中断セーブを挙げた。移植を考えている開発者は、まずはコンソール版のソースコードをよく見て組み込めるかどうかを判断してほしいと語った。どのデバイスに提供するのか、どのOSまでカバーするのかという取捨選択も検討しつつ、”すべてを再現しない”ということも重要だという。「モバイル移植の際に削って良いものを判断することは大事です」(畑)

『ドラクエVIII』に限らず、大規模開発では作業パートが膨大なため、作業の効率化やバックアップデータの取り出しなど、細かい積み重ねが大きな時間短縮につながる。たしかに、自分たちが就寝しているときなどに作業を進行させられるというのは非常に効率的だし、作業者の安心感も高まるだろう。

すべてにおいて言えるのは、コンソールよりも細かく調整してあげることが大事とのこと。「丁寧に小各調節してあげることで体感速度を上げ、(コンソールハードよりも)低スペックな端末でも違和感なく遊んでもらう音ができると思います」という言葉で畑氏は本講演の幕を閉じた。

ドラゴンクエストVIII 空と海と大地と呪われし姫君

ジャンル
RPG
メーカー
スクウェア・エニックス
価格
2800円[税込](追加課金なし)
対応機種
iOS6.0以上. Android 要件 4.0 以上
備考
【対応機種】 iPhone4s(※)、iPhone5、iPhone5c、iPhone5s、iPad2(※)、iPad(第3世代、第4世代)、iPad Air、iPad mini(※)、iPad mini Retinaディスプレイ ※iPhone4s/iPad2/iPad miniでのご利用について この3機種では、長時間プレイされた時に動作が不安定になったり、アプリが強制終了されてしまう場合がございます。 大変お手数をお掛けいたしますが、以下の点にご注意の上、お楽しみいただけますようお願い申し上げます。 ・プレイ中はこまめにセーブをしてください。 ・プレイを中断する時はアプリをマルチタスクからも完全に終了させてください。

Amazon人気商品ランキング 一覧を見る

関連記事

この記事に関連した記事一覧

最新記事

この記事と同じカテゴリの最新記事一覧