VRゲームとしての完成度と、独特のダークな世界観が、国内外で高く評価された『Last Labyrinth』。その企画・開発を手がけた、あまた株式会社が新たに送り出すのがVRアクションアドベンチャー『オノゴロ物語』だ。
開発にあたって、VRゲームならではの課題を解決するために、Unityがどのように貢献したのか。共同ディレクターの松山弘世さん、キャラクターモデリングをはじめデザイン面をリードした田中達麻さん、レベルデザイナーとしてマップデザインなどを担当した譚珂さんにお話を伺った。
『Last Labyrinth』のコンセプトを継承しつつ、さらに広大なVR空間を
──前作にあたる『Last Labyrinth』から、『オノゴロ物語』の開発へと至るまでの経緯を教えてください。
松山:『Last Labyrinth』は、VRに特化したゲームデザインや仮想キャラクターの実在感などを高くご評価いただき、国内外のさまざまなアワードも受賞することができました。私たちとしても大きな手応えがあり、もう一度VRゲームをつくろう、ということになったんです。その上で、次のタイトルでは『Last Labyrinth』で“やらなかったこと”をやりたかった。
たとえば『Last Labyrinth』では、プレイヤー自身は動くことができない設定で、パートナーキャラクターに指示を出すことでパズルを解いていきます。それも一つのゲーム性ではあるのですが、今度はプレイヤーとキャラクターが一緒になって何かをするようなゲームにしたいと考えました。そうすれば『Last Labyrinth』とはひと味違ったかたちで、「キャラクターとのコミュニケーション」を体感してもらえると思ったんです。
──『Last Labyrinth』と『オノゴロ物語』では、世界観もガラリと変わりました。
田中:『Last Labyrinth』は、プレイヤーが「謎の館」から脱出するというストーリーなので、基本的にステージは薄暗い密室ばかりでしたよね。そのなかで「近くのモノ」をいかにリアルに描くかにこだわったのですが、やっぱりクリエイターチームのなかでは、「次はもっと広い世界を描いてみたい」という声があって。だから『オノゴロ物語』では、「空に浮いた島」といったロケーションを採用して、バーン!と青空を描いたり、とにかく広大な世界をVR上で表現することに挑戦しました。
松山:ちょっとした社内事情を明かすと、前作とは異なる世界観を表現することで「密室空間でも、広大な世界でも、どちらでも描けるスタッフがいますよ」とアピールしたい狙いもありました。『Last Labyrinth』もそうですが、『オノゴロ物語』は弊社にとってショウケース的な作品なんです。
──開発体制や開発期間についても教えてください。
松山:企画自体が動き出したのが『Last Labyrinth』の発売直後で、実際の開発がスタートしたのが2019年の年末くらい。リリースまでの2年半のうち、開発チームの人数が最も多かったときで20名くらいでしょうか。『Last Labyrinth』は最大で15人前後だったので、人手はかかっていますね。ただ、これは1時間を超えるイベントシーンがあるなど、そもそもゲーム自体のボリュームが増しているので、仕方のない部分かと思います。
VR開発においてUnityはとにかく使いやすい
──どういった経緯でUnityを採用することになったのでしょう?
松山:そもそも『Last Labyrinth』のときから、Unityを採用していました。当時は受託開発をメインで手がけつつ、その合間にオリジナルタイトルを開発しているという状況だったので、とにかくリソースが足りなくて。そんななかで開発を進めていくには、スタッフが最も使い慣れたゲームエンジンであるUnityを採用するのが合理的な選択でした。
実は『オノゴロ物語』の開発にあたって、ほかのツールも検討はしてみたんです。でも、やっぱりUnityの使いやすさはずば抜けていました。そのあたりは、現場でUnityを使い倒していた譚さんが実感していると思います。
譚:そうですね。UnityはとにかくVRの仕上がりを確認するのが楽なんです。ユーティリティの起動順を気にすることなく、画面上でつくったモデルを、VRヘッドセットで即座にチェックできる。ストレスなく確認作業を進めることができました。
田中:Unityを継続して採用することで、『Last Labyrinth』の開発で培ったノウハウを活用したいという狙いもありました。特にキャラクターの基本的な動作検証が、ある程度済んだ状態で開発をスタートできたのは、大きなメリットだったと思います。
松山:たしかに、そこは大きなポイントだったよね。そうした複数の理由があったので、ほかのツールを検討はしてみたものの、実質的にはUnity一択でした。
──とはいえ、実際の導入にあたって苦労した点などはありませんでしたか?
松山:強いて言うなら、レンダーパイプラインをどうするかは、少し迷いましたね。『Last Labyrinth』ではユニバーサルレンダーパイプライン(URP)の前身であるライトウェイトレンダーパイプライン(LWRP)を使っていたんです。開発を通じて「細かくパフォーマンス・チューニングできる」というLWRPの魅力も実感していたので、『オノゴロ物語』の開発を開始時には、いっそURPに移行することも考えました。
しかし、当時はビルトインレンダーパイプラインで実装されていた機能の移行の端境期だったのと、既存アセットのURP対応もあまり進んでいないように見えたこともあって、そこまで思い切れませんでした。
最終的には、総合的に判断してビルトインレンダリングパイプラインを使うことを選んだのですが、この意志決定のための情報収集には意外と時間がかかった記憶があります。そこが苦労と言えば苦労だったかもしれません。
VRゲームならではの、地道な検証作業をUnityが支えてくれた
──制作のなかで感じたUnityのメリットがあれば教えてください。
田中:譚さんの感想と被ってしまうのですが、やっぱり3Dモデルの確認のしやすさは、圧倒的ですよね。VRゲームの開発って、実はとても泥臭い仕事なんです。モニタ上で3Dモデルを調整しては、VRヘッドセットで確認し、再びモニタで調整する。これをひたすら繰り返さないといけないんです。なかでもイベントシーンは大変で、ひっきりなしにVRヘッドセットを被って確認しては、パラメーターを微調整していかなければなりません。だからこそ、ノンストレスで確認作業を進められるUnityは本当にありがたかったですね。
譚:アセットストアが充実しているのも、Unityのメリットですよね。VRで表示するのに、重すぎも軽すぎもしないちょうどいいデータサイズの3Dモデルが揃っている。マップの検証時には、アセットストアで購入した建物を仮置きしたりしていました。VRゲームでは、モノのサイズ感が重要になるので、それがクイックに確認できるのは、すごく便利でした。
──逆にUnityを使っていて、デメリットだと感じた部分はありますか?
田中:物理エンジンの挙動には、少しだけ苦労しました。エンジンにビルトインされているPhysXを使ったのですが、環境によってはバグが出てしまって。その調整には手こずりました。ただ、この問題はUnityPhysicsかDOTS-Physicsを使うことで改善できるとわかってきたので、そのあたりの知見は今後の開発に生かしたいですね。
松山:それと悩ましいのはLTSのサポート期間でしょうか。今回は開発期間が2年を超えたため、途中でLTSのバージョンを切り替えたのですが、それが原因でいくつかのバグが発生してしまったんです。バグ自体は、Unity Forumの情報を頼りにすぐに解決できて、Unityのユーザーコミュニティの分厚さを実感した部分でもあるのですが、とはいえVRゲームの開発期間が長期化傾向にある今、LTSのバージョン選びはもっと慎重になるべきだと感じています。
──「LTSの期間が2年では短いのではないか」というご意見は、世界各地のユーザー様からいただいております。その点を考慮し、直近の価格改定に伴いUnity Enterpriseプランでは、LTSの期間を3年まで(Unity 2021 LTS以降)伸ばしました。よろしければ、こちらもご検討いただけますと幸いです。
https://store.unity.com/ja/products/unity-enterprise
アセットを活用することで、マルチプラットフォーム展開もスムーズに
──マルチプラットフォーム対応は、どのように進めていったのでしょうか? まずはMeta Quest/Quest 2版をリリースしていますが、そこから各プラットフォームに展開していくとなると、コントローラーを最適化するだけでも大変ではないですか?
譚:コントローラーの入力値などは、スティックやパッドを実際に動かしながら、パラメーターを微調整していきました。組み込みにはPlaymakerというアセットを活用しています。Playmakerを使うと、コードを記述することなくプログラミングができるので、私たちレベルデザイナーだけで簡単なロジックが組めるようになる。その上で、細かな調整だけをエンジニアサイドに任せる、というかたちで作業を分担していきました。結果的にこの体制のおかげで、移植作業がスピーディーに進んだと感じています。
マルチプラットフォームの話からは逸れてしまうのですが、そもそもUnityはC♯で記述されていますよね。だから私たちのようなプログラマーではない人間にも、比較的コードが理解しやすく、バグの原因も特定しやすいと思うんです。個人的には、そこもUnityのメリットだと思っています。
田中:マルチプラットフォームの話に戻すと、Meta Quest/Quest2版の次に開発したのが、既にリリースもされているPC(SteamVR)版です。PCの方がマシンのスペックが高いので、Meta Quest/Quest2版では見送っていたブルームの実装もできました。Post Processing Stackに含まれているデフォルトのエフェクトを使うだけで、グラフィックがすごく綺麗になった。このあたりはUnityの機能をそのまま使った感じなので、非常に作業がスムーズでした。
加えてPC版では、ユーザー設定に応じて画質を切り替える機能も実装しているのですが、これも基本的にはUnityにデフォルトで備わっている、クオリティセッティングの機能をそのまま使った感じです。
松山:専門的な話のあとに、そもそも論になってしまって恐縮なのですが、まずは大前提として、各種プラットフォームのSDKに対応しているところが、Unityのいいところですよね。基本的な部分ではありますが、すごく大事なことだと思います。
「そこにいる」と感じられるような、キャラクターとともに遊ぶ
──『オノゴロ物語』は、登場するキャラクターも非常に魅力的です。デザインや演出の部分で、こだわった点を教えてください。
田中:『オノゴロ物語』のキャラクターデザインは、『Last Labyrinth』よりも、さらにアニメ寄りなので、VRで見たときの形状確認はより慎重に進めました。私たちはアニメの絵柄を2Dで見慣れているので、VRで見ると頭の大きさや目の大きさにギョッとする、なんてことはよくあるんです。
かといって、VR用に調整しすぎて、せっかくのキャラ造形を損ないたくはなかった。そのバランスを見極めるには、やっぱり調整と確認を繰り返すしかありません。それこそディレクターにVRヘッドセットを装着してもらいながら、PCで直接パラメーターを調整していく、なんてこともしましたね。
──そこまで徹底しているんですね。演出面についてはいかがでしょうか? キャラクターの「実在感」とも密接に関わっている部分かと思います。
田中:そうですね。たとえば、メインキャラクターの一人である「ハル」のスカートの揺れは、Magica Clothを使って表現しました。これがすごく上手くいったので、そのほかの”揺れモノ”もほとんどMagica Clothで処理していますね。
キャラクターがプレイヤーに手を引っ張られたときなどの挙動の設定には、Final IKというフルボディIKアセットを活用しました。このアセットの良いところは、出来合いの制御機能を組み合わせるだけで、キャラクターの姿勢制御がさくっとできてしまうところ。普通はそれだけで意外と手間がかかりますからね。基本の制御さえ決まっていれば、あとはそれをたたき台にしてデザイナーやエンジニアと協同で微調整していけるので、実装まですごくスムーズになるんです。
──『オノゴロ物語』には『Last Labyrinth』にはなかった「戦闘」という要素も加わりました。操作性を高めるために、どんな工夫をしたのでしょうか?
松山:やっぱり基本的には、ここでも確認と調整の繰り返しですね。どの端末でも操作しやすいか、視点移動に違和感はないか。このあたりは理屈じゃないんですよね。プレイした人の「体感」が何よりの答えなので、それに即して愚直に調整を重ねていくことが大切だと感じています。
田中:その一方で、VR体験に関する各種の研究成果も取り入れています。たとえば、「回転時に暗転をはさむと酔いにくくなる」や「移動しているときは、視野を絞った方がいい」など、さまざまな知見が出揃いつつあるので、それらも積極的に活用しています。
松山:あとは今回は国内、海外のプレイヤーにも協力してもらって、ユーザーテストも実施しました。すごく面白いなと思うのは、VRゲームの操作には、プレイヤーの身体の癖があらわれるということです。たとえば、キャラクターが自分に向かって右手を差し出してきたときに、プレイヤーはどちらの手を差し出し返すのか。これは右手だという人もいれば、左手だという人もいて、正解はないんです。そういった身体性の個人差にも考慮しながら、誰もがスムーズに楽しめる操作感を目指していきました。
──最後に、今後の展望について教えてください。
松山:Meta Quest StoreやSteam上のユーザーレビューでも、高評価を数多くいただき、ひとまずはホッとしています。特にキャラクターの魅力を評価してくださる方が多いことは、「パートナーが画面の向こう側に存在している」という感覚を目指してきた私たちにとって、嬉しい限りです。今後は対応プラットフォームをさらに増やすことで、より多くのユーザーに『オノゴロ物語』をお届けできればと思っています。
最後に、あまたは開発にかかわる全職種を募集中です。フルリモートワークが可能ですので、お住まいに関わらず次のタイトルに力を貸してくれるUnityユーザー、大歓迎です。