現在アーリー アクセス版が提供されているこのインディー ゲームは絶賛されていて、Steam での評価は「非常に好評」となっています。これまでに、Wrench の開発は 2 人体制となり、スタジオ Missing Digit が創設されています。3 月 13 日に Oculus ストアでリリースされることが先日発表されました。今回は、Wrench のクリエイター Alec Moody 氏と、プログラマーの Jim Ashcraft 氏にお話を伺いました。Wrench はどの程度リアルで教育的に利用できるのか、どのようにモデルを入手したのか、どうやって VR のパフォーマンスを維持しながら優れたビジュアルのグラフィックスを作り出したのかなどについて、Q&A 形式で 2 人に話を聞きました。 お時間をいただきありがとうございます。プレイヤーは、Wrench をプレイすることで自動車についてどのくらい学べるのですか?
創業者兼アーティスト、Alec Moody 氏: 現時点で、Wrench は自動車部品のナットとボルトのレベルまで対応しています。プレイヤーは、エンジン、サスペンション、ブレーキを修理できるようになっていて、修理できる装置は追加していく予定です。自動車を修理した経験がないプレイヤーは、簡単な作業 (液体やタイヤの交換など) から始めて、徐々に自動車の深い部分に触れていくことができます。ゲームを長く遊んでエンジン内部の部品を交換するのに慣れたら、現実の自動車の修理マニュアルを読めるようになり、基本的な整備ができるようになるようにする、ということを意識してゲームプレイ モードを作りました。

Moody 氏: 私は修理する権利に関心があり、持ち物を交換する代わりに修理するように人々に勧めています。Wrench に期待していることの 1 つは、自動車に関する神秘的なイメージを取り除き、自分でメンテナンスできるようにするためのスキルを人々に伝えることです。おそらく、ユーザーの多くは、自動車に関心があるけれども自分で整備するのは怖いとも思っているという人や、集合住宅に住んでいて作業場所や道具がない、という人だろうと思います。Wrench はリスクの少ない方法で学習を始められるようにします。ゲームから実際に学んでもらえるようにしたいと考えたことが、設計上の多くの意思決定に影響しました。
プログラマー、Jim Ashcraft 氏: 多くの人にとって親しみやすいゲームにして、自動車の愛好家を満足させるレベルの複雑さとリアルさを実現し、関心を引き続けるペースでコンテンツを提供し、プレイヤーがゲームに費やした時間に報いるように興味深い形でゲームを進行させていきたいと考えています。これらのすべてについてバランスをとるのは難しいことです。目標を広げすぎて体験が希薄なものにならないよう、注意する必要があります。目標の達成に向けて順調に進んでいると感じていますが、一部の目標については、正式なリリースに至るところで達成できるでしょう。
また、Wrench はゲームであり、純粋な教育目的の体験ではないということも認識しています。プレイヤーが「ただ楽しむ」方法も提供することで、純粋な教育目的の商品とはならないようにしたいとも考えています。その例として、イースター エッグ、ミニ ゲーム、おもちゃで遊ぶような体験を、ゲームのなかで見つけられるかもしれません。
このゲームのコンセプトはどのように思いついたのですか?
Moody 氏: 私は VR をとても楽しんでいて、自分でもゲームを作ってみたいとずっと考えていました。製造関連のプロジェクトで自動車の部品をいくつかスキャンしたときに、自動車全体と VR でインタラクションできたら面白いだろうなと思いました。空間的な関係と物事のつながりは、VR の中心的な要素です。ですから、修理のシミュレーターは VR にはよく合っていると思いました。また、仕事と趣味をまとめたようなプロジェクトをやってみたいとも思っていました。私はハード サーフェスのゲーム アートを長い間やってきました。機械関係の経験が豊富で、写真のバックグラウンドもあります。このバックグラウンドは部品のスキャンに役立ちました。また、複雑な部品をスキャンするための器具を作成するうえで必要となる、基本的な金属製作もできます。このような、一見つながりのなさそうなスキルの組み合わせを持っているビデオ ゲーム アーティストは、あまりいないのではないか。そう思ったことが、プロジェクトを進めるきっかけとなりました。
Wrench が教育的な体験になることはあなたにとって重要ですか?
Moody 氏: はい、もちろんです。プレイヤーには、ゲームから実際に何かを学んで欲しいと思っています。自動車を単純化しないように、とても気を使っています。Wrench について自動車に詳しい人に話すときは、ストレートではない整備マニュアルのようなもので、すべての組み立て部品についての演習ができる、と説明しています。索引を見て、章を探して、関連する段落を見つけるというやり方の代わりに、プレイヤーが知りたい部品を見つけると、関連する図表や取り付けに関する指示を見られるようになっています。組み立てのプロセスは現時点でも十分に詳しく、応用できるものになっています。たとえば、ファスナーはどれもトルクの仕様が定められています。ゲームの発展に応じて、自動車のサブ システムごとのメンテナンスについてさらに詳しく再現し、部品独自の挙動も実装していけるでしょう。
自動車のモジュールと個別の部品はとてもリアルに見えますね。どのようにしてすべてのオブジェクトがゲーム内で正確に表現されるようにしたのですか?
Moody 氏: アートの作成は、Wrench の開発をフルタイムで行うようにする前に、最初に解決する必要がある課題の 1 つでした。このようなゲームでは、寸法を正確にすることがとても重要です。通常、ゲームや映画向けに自動車のモデルを作成する場合、機械の部品は外から見たときに正確でさえあればよく、実際に組み合わせることはないし、寸法が正しくなくても大きな問題にはなりません。しかし、Wrench のようなゲームでは、すべてを正確に組み合わせられる必要があります。この問題を解決するために、Wrench では、高解像度のジオメトリの約半分でスキャン データを使用し、もう半分についてはクリーンなモデルを Zbrush で作成しました。ゼロからモデルを作成するものについては、キャリパーで計測するか、寸法を取得するためだけにスキャンしました。すべての部品の寸法が正確であると確信を持つことができたので、輪郭を作成するフェーズをスキップして、各部品を単一のプロップとして見ていくことができました。ファスナーのような一見ありふれたものでも、ゲーム内のすべてをヒーロープロップとして扱うようにしました。作業の多くは高品質のアートに対するもので、早い段階で行われました。低品質のモデルは、だいたいについてゼロから再モデル化し、そのマテリアルは Substance Painter で作成しました。

Moody 氏: コンテンツが普通ではなかったので、VR の慣習として勧められているものには従いませんでした。VR ゲームの多くは、静的な世界で、動的なアクタはあまりありません。Wrench は小さい静的な部屋に約 1,000 個の可動アクタがあります。コンテンツの性質上、動的シャドウ、反射を動的にオクルージョンする方法、環境光がとても重要です。組み立てられた自動車は、光沢のある黒っぽい可動アクタの一団が、影のある小さな空間に詰め込まれたものです。そのようなものを光っているように見せるのは簡単です。主にアーリー Z パスを使用するために、ディファード レンダリング パイプラインを実行しています。こうすると、ドローコールと三角ポリゴンが半分になります。テンポラル アンチエイリアシングのおかげで、スクリーン スペース アンビエント オクルージョン (SSAO) を最高のプリセットのグラフィックスで実行でき、VR でスクリーン スペース ノイズが生じることもありません。動的シャドウについては、超高解像度のカスケードを 1 つ使っています。また、スクリーン スペース反射を使って、動的な反射オクルージョンをある程度行っています。低スペック環境の VR プレイヤーはドローコールと三角ポリゴンの制約を受けやすいため、それらのユーザーに対して動的シャドウをオフにできれば大きな違いがあります。
Ashcraft 氏: VR では、解像度とフレームレートの要件が厳しく、片目ずつのためにシーンを 2 回レンダリングすることになるので、パフォーマンスがよく問題になります。私たちにはゲーム開発の経験があったので、この問題はプロジェクトの開始時点から認識していて、常に心に留めていました。ただし、プロジェクトのメンバーが 2 人しかいなかったので、最適化の対象はうまく選ぶ必要がありました。また、ビジュアルの品質に大きく影響しない領域については妥協が必要でした。
最適化の対象として目立っていたのは、動的シャドウとメッシュのインスタンス化です。これらの最適化によって、ドローコール数を削減し、レンダリング スレッドのパフォーマンスを向上させることができました。たとえば、取り付けられた小さな部品についてシャドウを無効にするシステムがあります。小さなナット、ボルト、ワッシャーなどが対象です。このような小さな部品については、シャドウをレンダリングしても、ビジュアルの忠実度に与える影響はほとんど無視できる程度にしかなりません。それらの部品でシャドウを無効にすると、ドローコール数が大きく減少し、パフォーマンスが目に見えて改善します。ドローコールの数を減らすためのほかの工夫としては、特定の条件下で部品のインスタンスのレンダリングを許可するようにしました。ただし、それは管理が難しいものでもありました。独特なマテリアルを使って部品をレンダリングする、つまり損耗の具合によって部品の状態を変化させる必要があることがあるからです。
また、動画に関する基本的な設定を提供して、強力な装置を持っているユーザーが高度な機能と高い忠実度を楽しめるようになっています。将来的には動画の設定を強化して、ユーザーがパフォーマンスとビジュアルの品質を好みに応じて細かく調整できるようにする予定です。
VR とデスクトップ、両方で動作するゲームを開発するのは難しいことでしたか?
Ashcraft 氏: はい。その点は、このゲームの開発において最も難しい問題の 1 つとなっています。ゲーム デザインの大枠についても、組み立て部品に関する難しい技術的な要件についても、常に大きな問題となっています。VR とデスクトップでは、入力が大きく異なります。VR では、高度な空間認識が可能で、カメラとモーション コントローラの位置と向きを正確に制御できますが、コントローラの入力の種類が限られています。一方デスクトップ モードでは、キーボードやマウスから多様な入力が可能ですが、ワールド内のオブジェクトの位置と向きをうまく操作する方法として使いやすいものがありません。
その結果、ゲーム内のほとんどのインタラクションには複数のコード パスが存在しています。1 つは VR のポーンを使ったインタラクションのためのもので、もう 1 つ、デスクトップのポーンを使ったインタラクションのためのものがあります。ゲーム内のすべてのツールがそのことを認識し、ワールドのすべてのオブジェクトとインタラクションできるようになっています。機能が大きく異なる場合もあるので、そのようにするのは難しいことでした。どこに時間をかけるべきか適切に判断し、あとで大幅な変更が必要になる可能性があるインタラクションを洗練したものにするために時間をかけないようにする必要がありました。
これはずっと付きまとう課題でもあります。新しいツールやインタラクションをゲームに追加する際は、VR とデスクトップ、両方のモードで動作する必要があります。可能であれば機能を共通のものにしようとしていますが、そうするとたいてい妥協を伴うことになります。妥協したところもあれば、カスタムのインタラクションを開発したところもあります。

Ashcraft 氏: UE4 は VR ゲーム開発の強固な基盤となっています。テンプレート プロジェクトが利用でき、VR 開発を始める人にとっては良い出発点となります。ゲームのコードと VR の「入力」の間の基本的なインターフェイスがとても直感的であることが、時間が経つにつれてわかってきました。また、UE4 の物理ベースのレンダリング機能は注目に値するものです。Alec が作り出す並外れて細かい部品と合わせて、VR でも優れたビジュアルをもたらすレンダリングの品質が可能になりました。パフォーマンスの問題から、レンダラのすべての機能を活用できているわけではありませんが、ビジュアル面での成果には満足しています。
UE4 のツールまたは機能で特に役に立ったものはありましたか?
Moody 氏: ブループリントですね。動かせるプロトタイプを作成して人に見せ、資金調達につなげることができました。プログラマーでない人間がそうできるというのはすばらしいことです。ブループリントのほかには、Epic が実際に Unreal Engine を使ってゲームを作っているということです。機能に大きな不足がなく一通りそろっていて、自分の前に誰かが実際に起こりうる問題について熟考したか、あるいは遭遇して修正したということがわかります。サードパーティによる機能を使う必要もありませんでした。エンジンのソースを 1 か所少し修正しただけで、あとは Unreal のビルドをそのまま使っています。
Wrench は現在アーリー アクセス版が提供されています。今後どのようなアップデートや改善を予定していますか?
Moody 氏: 多くのことを予定しています。大きく分けて 3 つのものを開発中です。まず、ゲームをもっと親しみやすいものにしたいと考えています。ビジュアルの品質を損なわずに、もっとシンプルな形でゲームに触れたいというプレイヤーのために、カジュアル プレイ モードを作りたいと考えています。カジュアル プレイ モードがうまく動作するようになったら、通常のプレイ モードをもっと手の込んだものにしていくことができます。部品固有のインタラクションをもっと洗練されたものにして、シリコン ガスケットなどを追加して、エンジンの公差を測定して、EFI チューニングのシミュレーションなどプレイヤーができることを増やして、車の調整やセットアップを行います。最後はコンテンツの拡大です。部品、駆動系、補修部品などを追加して、プレイヤーが自身の仕様書に合わせて自動車を作れるようにします。
お時間をいただきありがとうございました。Wrench について詳しく知るにはどこを見ればいいですか?
Moody 氏: Steam には http://wrenchgame.com/steam からアクセスできます。また、http://www.wrenchgame.com/ から開発ブログをご覧いただけます。