印象的な空間ができるまで:Astroneer 開発ストーリー
2016年5月28日

印象的な空間ができるまで:Astroneer 開発ストーリー

作成 Brian Rowe

Ubisoft Toronto の元 Assistant Art Director and Art Lead の Adam Bromell 氏は、空いた時間にさまざまなアート プロジェクトを制作してきました。その中でも Canabalt は口コミであっという間に広がりましたが、その低ポリゴン ジオラマがヒントになって、地球に帰ることを望まない宇宙飛行士の、この美しい冒険物語が誕生しました。

Adam と Paul Pepera 氏 (アーティスト) は、Jacob Liechty 氏 (デザイナー) と Brendan Wilson 氏 (ツール / システム / マルチプレイヤー) にゲームプレイの基礎部分の制作協力を求めて、そのアイデアをさらに具体化し始めました。そして、Astroneer は単なるアート プロジェクトの域を超えて、トップクラスのタイトルに Ubisoft、Valve、その他 343 社と関わった 35 年の経歴の持ち主が創設した System Era Softworks の第一歩を踏み出しました。 

Astroneer は、未開拓の惑星のフロンティアですべてのリスクを抱える冒険好きな探鉱者のゲームです。厳しい環境を生き抜くために必要な建造物を構築し、それで悪天候をしのぎ、リアルタイムでランドスケープを動的に変形して、地下に埋もれている貴重なマテリアルを発掘します。

基本的に、Astroneer は単なるサバイバル ゲームにとどまりません。宇宙探索する冒険好きな精神を持ち、宇宙空間の中でプレイヤーが不思議な感じを覚える体験をさせたいという高い目標を共有する 4 名の共同創設者にお話を聞きました。

サバイバル クラフト ゲームが大人気となっています。Astroneer が他のタイトルと異なる点を教えてください。

Jacob - 一か八かで Astroneer をサードパーソンのサバイバル クラフト ゲームにしました。サードパーソンにすることで、画面上により多くの情報を入れることができます。メニューにアクセスしないで、プレイヤーは表情豊かなキャラクター アニメーションに集中することができるので、サバイバル ゲーム本来のわくわくした体験ができます。協力プレイで仲間にパワー ライフラインを与えると仲間のバックパック上のバッテリーが充電されて、ヘル値が正常に戻る様子が統計情報を読み取らなくても分かります。 このジャンルを初めて使うゲーマーでも、目に映るのは現実世界と同じものなので、すぐに理解にできます。

協力プレイはサバイバル ジャンルでは珍しいのですが、デザイン的に踏み入れる余地がたくさんあることに驚きました。サバイバル ゲームは殺風景で孤独な体験になりがちです。確かにそのような時もありますが、逆にその状況があるからこそ、友達に合流すると世界は突然安全な場所に感じます。周囲の環境に危険と喜びの両方を潜ませながら、プレイヤーがそれらとインタラクトする方法を常に考えています。
 
Astroneer のビジュアル スタイルは最小限にしていますが、よく目立ちます。このスタイルにした理由をお聞かせください。また、目立つようにするために、どのようなデザインや技術を使いましたか?

Adam - Astroneer 以前に関わったトップレベルのゲームで Paul と私がよく使っていたスタイルにはない利点がたくさんあります。決定的な理由は、私達のチームのダイナミクスに非常によく合っていたことだと思います。このゲームは少人数で制作したので、時間のかかる開発プロセスはなるべく排除したいです。このアート スタイルですと、ゲームにテクスチャはありません。つまり、ゲーム用に UV アンラップや 2D テクスチャを作成時間を省くことができます。ゲームのアイデアができたら、すぐにそれを視覚化することができます。つまり、イタレーションが迅速になるので、我々のような少人数のチームにぴったりなのです。

このスタイルを選んだもう 1 つの理由は、遠くからでもはっきりする雰囲気にしたかったからです。派手な色で、しっかりした輪郭をつけて、大きな形状にしています。遠くからでもはっきり分かります。このスタイルは多くの人が今夢中になっている宇宙というテーマと驚くほどうまく融合しました。そのゲームについてよく分からなくても、2、3 枚の画像や動画を数秒見ただけで、ほぼ瞬時にゲームに興味を持ってもらえることが多いことに気が付きました。 

 このプロジェクトにアンリアル エンジン 4 を選んだ理由は?

Jacob - 至って簡単です。我々が望むゲームの作成を可能にする唯一のエンジンだったからです。そして我々も狙い通りに展開していけるという自信がありました。デザインに関しては、ブループリント システムのおかげで低負荷で非常に簡単にプロトタイピングを行うことができ、ネイティブ コードの記述時にパフォーマンスのエンジニアリングがかなり簡単になります。我々のアーティストは、カスタム可能な専用のシェーダー エディタをうまく活用したので、ソース コントロール アセット管理の提携が楽になりました。そして一番重要だったのはビジネスの観点になりますが、エンジンにはフル コード ソースコード アクセスが備わっているので、修正できずに出荷が遅れるという心配が全くなかったということです。
 
アンリアル エンジンの収益共有モデルによって、エピックは高品質のゲームの出荷に対して我々と同様に投資していることになります。我々に収益が入るまでエピックには一銭も入りません。彼らにとって重要なことは、高品質のタイトルの出荷し、エンジンをより多くのデベロッパーに広めることなのです。エンジンのアップデートごとに膨大な量の新規機能と修正が含まれているとういことは、この先エンジンはますます良くなっていくのだろうという確信もありました。
 
チームはこれまでアンリアル エンジンの経験はありますか?少人数のチームでアンリアル エンジンを使用した場合、トップクラスのスタジオでの経験と比較してどうでしょうか。
 
Paul - Adam と私はこれまでのプロジェクトだけでなく、個人的な制作でも長年アンリアル エンジンを使ってきたので、エディタには非常に詳しいです。私はアンリアル エンジン 2.0 から使用しています。Unreal Tournament 2003 and 2004 では、フル ゲーム プロジェクトで使った UE3 の他に Red Orchestra などの mod プロジェクトで 2.0 を使いました。Adam はアンリアル エンジン 2.5 から使用しています。
 
アンリアル エンジンを使うと 3D アーティストは私のようにゲームにコンテンツをすぐに入れられるようになります。特に、マテリアル エディタとブループリント システムを私は非常に重宝しています。他のエンジンを使うと、プログラマーにカスタム マテリアルを記述してもらわなければなりませんが、マテリアル エディタを使うと、シェーダー コードの記述方法を知らなくても簡単にシェーダーを新規作成することができます。ブループリント システムを使ってゲームプレイ ロジックをアセットに接続も可能なので、コンテンツをどんどん作成してゲームに入れることができるようになります。アーティストにとって使いにくいゲーム エンジンを使っていた時、コンテンツをまとめてゲーム内で機能させるために、常にプログラマーと一緒に作業しなければならず、制作が大幅に遅れ多くのボトルネックが発生しました。
 
問題が発生して特定の質問に対する回答が欲しい時、アンリアル デベロッパー コミュニティは貴重なリソースでした。以前、別のプロジェクトでは私の問題を解決できる人は世界中で数名しかいないような、非公開で特殊なゲーム エンジンを使っていました。UE4 のトピックに関する質問がある時、運がよければ同じ疑問を持つ他のユーザーがメッセージ ボードに質問を記載していることもあります。まだ質問があがってない場合は自分で投稿すれば、別の UE4 ユーザーがすぐに回答をくれます。このようにオープン コミュニティが参加する形式が少人数のチームには非常に重要です。過去の問題とボトルネックを他のチーム メンバーに作業負荷を与えずに早く解決することができるからです。
 
System Era の社員は北米中に散らばっていますが、アンリアル エンジン 4 の機能で、離れているチームメンバーの共同作業を支援するものはありますか?

Brendan - 個人的にはアンリアル エンジンが UnrealBuildTool 経由でコンパイラ ツールチェーンと密接に統合していることが絶対に必要だと思います。普通なら肩越しのサポートが必要ですが、サポートがなくてもローカルでゲームの作成ができます。ゲーム バイナリの配布も必要なくなるので、チェックインと同期も負荷をかけずに素早く実行できます。大きな問題点としては、家でネット経由で作業する場合に帯域幅が狭くなってしまうことです。
 
主要コンポーネントはプロシージャル手法の生成ですが、プレイヤーの記憶に残るような素晴らしい背景はどのような技術とツールを使って作成していますか?

Jacob - プロシージャルな生成では、「ランダム化のノブ」が必ず正しい範囲に設定するようにします。ジェネレータであまりに多くのパラメータ値を外してしまうと、ノイズが多く発生してプレイヤーが楽しむことができません。 

この問題はアーティストがデザインしたバイオームを導入して解決しました。少々ランダムに選択したバイオームを惑星に分配するので、すべての植物、鉱物、特性は完全にランダムに配置されます。ランダムな配置ですが、「生成」ボタンを押すたびにうまく配置されて、楽しい背景にすることができます。
 
Astroneer のプロシージャルな生成やテレイン操作を有効にする上で、特に便利だったアンリアル エンジン 4 の機能はありますか?

Jacob - 最終的には、アンリアル エンジンの機能の多く、特にアンリアルのアクタ システムをテレイン エンジンとしっかり連結させました。各バイオームを一定の同じパラメータをもつアクタにすれば、初めから作らなくても簡単にバリエーションを作成することができます。配置基準をカスタマイズする生成アルゴリズムで読み取り可能なデコレーターに、コンポーネントを追加することもできます。エンジンのモジュラーをフルに活用することで、開発時間の多くを、コード記述ではなくバイオームのデザインに費やすことができました。



予想以上に便利だった機能はありますか?どのように役立ちましたか?

Brendan - オープン ソースを機能として考えるならば、これが予想以上に重要でした。現在、エンジンを若干カスタマイズしたバージョンをデプロイ中です。コードの確認やデバッグのみならず、技術的にエンベロープをプッシュするために必要なマイナーな修正ができる機能が重要でした。インディーが、ライセンス料をそれほど変えずに成熟したエンジンに柔軟性を持たせる。まさに大変革者ですね。
 
Jacob - チームのエンジニアは自分達のコードが乱されると心配したのか、当初ブループリント システムに懐疑的でした。使い始めると、ブループリントと C++ を使うタイミングのバランスについて分かるようになりました。ブループリントはすべてのゲーム コンテンツに早くアクセスできるので、新しくプロトタイプを始める時に使うことが多いです。テキスト エディタではエンジンで作業する必要がないので、この先のゲームの進め方を考える際には便利なフローです。ネイティブ C++ は、ブループリント プロトタイプを確定して再利用可能な API にそれを変えます。つまり、販売用に配慮した最適化を始める時に使います。 この全体的なプロセスによって、ベストな結果がもたらされます。
 
アンリアル エンジン コミュニティに参加されて、いかがでしたか?

Brendan - 大変助かりました。エピックからのサポートも素晴らしかったですし、似たような問題に直面している人が他にもいることがすぐ分かります。エンジンは GitHub 上にあるので、質問を検索することができます。マーケットプレイスと公式の AnswerHub が役立ちました。エピックは本当に協力的で、支援の手を差し伸べてくれるスタッフと本当に良い関係を築きました。できる限りの人材を割り当てて成功に導こうとする、非常に協力的な雰囲気をもった会社だと思います。
 
最近、PAX East などのイベントでゲームを披露しましたね。Astroneer に対する反応はどうでしたか?どのようにフィードバックを活用しますか?
 
Paul - PAX East では、テストデータを収集するために試してもらいたい新たなメカニクスを数多く投入しました。これらの新たなメカニクスは、いくつか例をあげると、惑星間の移動、砂嵐などの環境面での危険、地中でのゲームプレイ、テザー デプロイです。最初の惑星は後に続くデモのプチ チュートリアルとして機能します。ゲーム開始後、ロケットに燃料を入れて、長らくゲームをすることになる主要惑星へ飛びたつ前に、プレイヤーが数分でこれらのシンプルなインタラクションを理解できるようにする必要があります。UX での調整がいろいろ必要ですが、全体的にはよく理解してもらえたと思います。
 
PAX East と GDC ではかなり良い反応が得られました。ゲームのデモを公の場で行うことができ、たくさんのフィードバックを吸収することができて良かったです。このようなイベントでゲームを紹介することにより、作業の優先度を見直し、スタジオに戻った時に何をすべきか明確になりました。ロジスティックの面ではかなり疲れましたが、イベントを通じて創造性が刺激され、スタジオですぐにまたゲームの作業に取り掛かりたいという意欲がわきました。

--

詳細は、Astroneer の ウェブサイト をご覧ください。TwitterFacebook でゲームもお楽しみ頂けます。デベロッパーへの質問は、RedditSteam ディスカッション グループをご利用ください。