Void Eclipse: Empires at War で無限の宇宙を表現
2017年4月13日

Void Eclipse: Empires at War で無限の宇宙を表現

作成 Jeremy Peel

Tau Ceti Studios の Jesse Dannenbring 氏は次のように語っています。「私はずっと sci-fi にハマっていました。だから、最初に作るのは sci-fi ゲームだと心に決めていたのです。RTS のエキサイティングな戦いや戦略を、恒星系から別の恒星系へと移動する銀河系に広がるゲームに取り入れたかったんです。」

これはプログラミングに積極的ではない初めてゲームを作るデベロッパーとしては、たやすい作業ではありません。宇宙はターンベース ストラテジーで安定して人気がある舞台ですが、作業するうえで固有の問題もあります。

広大な恒星系を秒単位で移動できなければなりません。真っ暗な真空空間を適切にライティングする必要もあります。動いているのかどうか、見分けがつきづらい巨大惑星は、アート アセットではなく実際にあるかのように見えなければなりません。Void Eclipseを制作する過程で Dannenbring 氏は美しい銀河を生み出す彫刻家になっていきました。

カメラのセットアップ

blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Void+Eclipse%2FMIU_VoidEclipse_1-770x487-c21d3344f643b73c872256fb8f193fe3fbc45846

アンリアル エンジンではカスタム カメラ ワークを使用できるため、単に目の前にあるものだけでなく、銀河系の全体像をセットアップすることができたのです。

「当然、カメラの動作および適切に制御する方法や使用するアクタの種類について調べる必要はありました」とのこと。

アクタは、レベル内へ配置可能なオブジェクトです。プレイヤーや AI によって制御可能なアクタはポーンといいます。Dannenbring 氏はアンリアル エンジン4 (UE4) の Spectator Pawn を使って作業することにしました。これは、銀河系の概要を示すのに最適な無重力飛行スタイルを可能にするものです。

このカメラは望遠鏡のように折り畳み式の長いポールに取り付けられたビデオカメラのようなものと考えるとよいでしょう。「すぐ近くを撮影したい場合は、惑星の目の前、わずか数十センチメートルにすることができます。遠くに離れたい場合は、アンリアル エンジンでポールを延ばして 10 万キロメートルにすることができます。

アンリアル エンジンの入力フレームワーク (プレイヤーの制御をポーンが理解し、反応できるデータに変換) を使って、カメラをセットアップし、‘mouse wheel up’ コマンドを使って折り畳み、‘mouse wheel down’ コマンドを使って延ばすことができるようにしました。これでズーム機能の出来上がりです。

「とても簡単にトップ アングル ビューのカメラ ワークを作ることができます。」

ビジュアルに磨きをかける


blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Void+Eclipse%2FMIU_VoidEclipse_2-770x474-1ec0ea882dd46685db49ef318707d0ec8fefff68

Dannenbring 氏は元々ソフトウェア エンジニアであり、UI に関する仕事に数多く携わってきました。「私はこれまでの経験からレイアウトに慣れていて、物事がどのように見えるべきかといったことがわかります。

しかし Void Eclipse を本当の意味で優れたものにするのは難しいことでした。ビジュアル的に魅力的なものにして、必ずしもプレイヤーの目からはっきりとわかるものではないが全体的に洗練された印象を与えるのは大変でした。

十分リアルでありながら人々の想像力をかきたてるものにするために、マテリアル エディタと Substance Designer について多くを学びました」と Dannenbring 氏。

ビジュアルに磨きをかける際には、些細なことが大きな違いを生み出します。Void Eclipse では特にプロシージャルなアニメーションがこれに該当します。恒星系を構築し始めたとき、惑星は静的でした。

「これでも見た目には問題ありませんが、制御して動かすとぐっと良くなりました。さらにアニメーションを少し加えるとシーンが実に生き生きとしたものになりました。」

惑星にアニメーションを適用し、衛星が惑星の周りを回り、惑星が太陽の周りを回るようにしました。

「やりすぎないようにしました。超高速でスピンさせたりはしません。ほんの少しアニメーションを加えるだけで、思っていたよりも効果的にシーンに命を吹き込むことができるのです。」

暗闇のライティング


blogAssets%2F2017%2FAPRIL+2017%2FMIU+-+Void+Eclipse%2FMIU_VoidEclipse_3-770x482-46b5a8633c15054bee69afc4a10d4c656ea7501e

漆黒の宇宙に適切にライティングすることは、Dannenbring 氏曰く「興味深いこと」だそうです。物理ミドルウェアの多くは地球の引力下での作業を前提にする傾向があります。従来のライティング ソリューションでは通常ルーム サイズのスケールを想定しています。恒星系全体が、そうした計算を狂わせます。幸い、UE4 はオープン ソースです。

「確かに、指向性ライトやポイントライトを使ってうまくいく部分もあります。しかし、アンリアル エンジンは我々が見慣れているスケールですべてを表現するため、場合によっては少し手を加えて一部のパラメータを変更し、100% 正確にはならないようにしました。これは惑星が軌道を回る際の星明かりを再現するのに良い方法です。」

Dannenbring 氏は、未加工の Hubble 映像を背景に取り込みました。惑星の暗い部分を明るく照らした都市の明かりや溶岩原の様子などが特に気に入っているとのことです。

「ライトアップし、そこから  エミッシブ グロー が生じるのはいい感じですよね。これには、ベクトルや法線ベクトルを少々理解するなど数学の知識が必要になります。しかし、一度セットアップすると、マテリアル エディタでわずかなノードを使うだけなので素晴らしいと思います。

銀河系の生成


Void Eclipse で「セミ プロシージャル」なシステムを使って銀河系を作り上げていきました。

「必要が生じれば、完全にプロシージャルにできるように作っています。しかし、どのように拡張し、リソースを得るかのバランスを見ながら作業しているこの早い段階では、各恒星系でどんな惑星があるか、それらがどのようなつながりを持つかを手動でコントロールしたかったんです。」

恒星系の生成に  ブループリント  を使いました。これは、UE4 のツールで、プログラマー以外の人々が利用できるようにノードベースの表現を用いたものです。新しい銀河系の制作は、レベル エディタでブループリントを配置し、実行することで始まります。

「惑星の数、そのタイプ、いくつ衛星を持つか、他の天文オブジェクト、星からの距離など沢山の変数や設定を用意しました」と Dannenbring 氏は説明。「ゲーム開始時にブループリントがこうしたすべての情報を取り込んで、モデル、マテリアル、アニメーション、ロケーションをランタイムに生成します。」

そこから、Dannenbring 氏はプロシージャルな銀河を好きなように調整して、ターンベース ストラテジーとしてプレイしやすく楽しめるものにしていきます。

「例えば、あるマップで難所と紛争地帯を備えた特定のグリッドでつながりを持たせたい星が 40 個だけ必要な場合、そこで作業を始めて編集することができます。

私はコミュニティにこのブループリントを公開して、メンバーに制作を任せたらどうだろうと考えました。現時点で具体的な計画はありませんが、熱心に取り組む方々がいてアンリアル エンジンを使える状態なら、マップを作るのは簡単だと思います。」

Void Eclipse:Empires at War の PC 版がリリース予定です。 アンリアル エンジン 4 は現在無料でご利用頂けます。

編集注記: PCGamesN は、長く続いている Making It in Unreal シリーズのためにアンリアル エンジンで制作された素晴らしいゲームを選んでそのデベロッパーにインタビューしています。エピック ゲームズは編集プロセスに関与していません。