Frogwares が自社開発の City Generator ツールを使って The Sinking City の制作時間を短縮
2017年11月14日

Frogwares が自社開発の City Generator ツールを使って The Sinking City の制作時間を短縮

作成 Aleksey Yurkin and Max Rybalchenko

みなさん、こんにちは!Frogwares でレベル モデラーのチーム リードを務める Aleksey Yurkin とシニア ツール プログラマーの Max Rybalchenko です。Frogwares は総勢 70 名を超えるプロフェッショナル集団で、『Sherlock Holmes』 シリーズのゲームで知られています。現在は、新作の The Sinking City の制作に取り組んでいます。この作品は 1920 年代を舞台にしたラブクラフトをベースとしたオープン ワールドのオープン ストーリー探索ゲームです。 
 

オープン ワールド ゲームでは、ゲームプレイとビジュアル面で飽きさせないワールドを作るという大きな課題があります。今回は、アンリアル エンジン 4 (UE4) で制作したビジュアル面でのソリューションとなるツールについて説明したいと思います。このツールを使うと視覚的に変化に富んだ街並みや道をわずか一回のクリックで作成することができます。これは “City Generator” と呼ばれるツールです。以下でその仕組みについて説明します。

TheSinkingCity_Pic1.jpg

次のような問題を想像してみてください。都市を舞台にしたオープン ワールドのゲームを制作しているとします。1 km 四方の街では、道の長さは 17 km に及びます。道の両側に家が立ち並んでいると、34 km の建築空間になります。通りから見た平均的な家の幅は 20 m 程度なので、34km を 20 m で除算すると、1,700 軒分の家に相当します。家以外にも、歴史的建造物や目印になる建物、公共スペース、街路に設置される公共物 (街灯、ごみ箱、ベンチ、広告など) があります。すべてのものがわずか 1 km 四方の中にあるのです!

さらに詳しく見ていきます。都市の一部は洪水で流されているため、その爪痕と水の要素が必要です。さらにこの都市は、各地区に分けられます。例えば、貧困層と富裕層が居住する地区など様々な場所があり、それぞれ異なるタイプの建物が存在します。ご想像がつくと思いますが、ここで大きな問題が生じます。沢山のアセットを作成するためにかなりの時間と経費が必要になってしまいます。そのような場合、我々が開発した City Generator ツールを使えば、アセット作成の 90 % の処理をやってくれます。

TheSinkingCity_Pic2.jpg

「それはすごいことだけど、どんな仕組みなんだろう」とお考えになることでしょう。これから説明します。ツールには多様な建造物や他の要素を備えたレディーメードの街並みを生成する以下の 6 つのステップがあります。 

ステップ 1 - 建造物の要素を作成する ドア、アーチ付きの入り口、ピボット、ソケット、窓など建造物を構成する様々な要素があります。建造物の要素には、商用と通常の家用のものがあります。すべて手作業で作られ、作品の舞台である 1920 年代のボストンに存在した 16 種類の建築様式と様々なタイプの建物があります。要素のデータベースができたら次の段階に進みます。 

TheSinkingCity_Pic3.jpg

ステップ 2 - プレハブを作成する プレハブとは地域別の要素や建造物を予め作成したセットのことです。独自の具体的ルールに基づき建造物のタイプ別のプレハブを作ります。例えば、裕福な家、貧しいあばら家、洪水の被害を受けた家、完全な形で残った家、特定の建築様式、商業用、居住用などのプレハブがあります。ステップ 1 で作成した要素のライブラリからプレハブを作成します。プレハブができあがると、ゆっくりと魔法がかかり始めますが、フィナーレに向けてまだやることがあります。

TheSinkingCity_Pic4.jpg

ステップ 3 -  都市のグリッドを作成する リサーチ、一連のコンセプト、ナレーションを元に、建築担当者と都市グリッドの 2D ベクターを作成しました。その中で、様々な地域のタイプも指定します。例えば、ある地域は富裕層が居住、別の地域は商業用として指定します (これは話を非常に単純化したものであることをご理解いただけたらと思います)。次に実際の生成について説明します。 

TheSinkingCity_Pic5.jpg

ステップ 4 - 都市を生成する すべての要素を作成して、その後プレハブを作成し、都市のグリッドを作成したらボタンを押します。すると、このツールが UE4 の力を借りて都市全体を生成します。すべての建物、地区、洪水被害地域、通行可能な場所、様々な建築様式の建物、道沿いの公共物、道路などが生成されます。その結果、多くの人手を必要とする手間のかかる作業が魔法のようにあっという間にできます。シムシティ系ゲームをプレイしているような感覚も少しあります。都市の内部については多少の手作業が必要ですが、90 % の作業は既にできています。残り 10 % について手を加えます。ただし、数千の建物を手作業で作成し配置する必要性はもうありません。 

ステップ 5 - ゲームプレイ要素を加える 都市が生成されたら、物語を検討し、息を吹き込んでいきます。人、NPC、クリーチャー、通行人を配置していくのです。特定の建造物と特定の NPC を関連付けて作業を簡単にしました。例えば、「この建物はある NPC に属し、12 のミッションで NPC がそこに存在する」というように決めます。クリーチャーや他の生き物についても同様に決めることができます。都市を生き生きと楽しめるものにします。

ステップ 6 - 最適化 最後にご紹介する機能は、目立つものではありませんが、作業を簡素化する重要なものです。制作が進むにつれて、都市自体が変わってくるかもしれませんが、こうした変化はゲーム開発にはつきものです。このツールには十分な柔軟性があるため、制作過程を通じて都市を動的に改良することができます。粘土のように都市の形状を作ったり、サイズや配置の変更などが可能です。変更が必要になれば、それまでの作業が無駄になるのではなく、納得いくまで調整できる素晴らしい機能です。

TheSinkingCity_Pic6.jpg

都市生成ツールに満足しているだけではなく、誇りに思っています。実装と開発が容易にできる UE4 のお蔭です。UE4 のビジュアルに関する機能が称賛を集めていますが、それ以外に我々はツール開発のしやすさに魅力を感じ、いっそう UE4 が気に入りました。 

現在、4,000 を超える建造物、名前を持つ通りの数々を作成し、数百時間に及ぶ作業を短縮し、Oakmont の街を少しづつ形作ってきました。まだやるべき作業が少しあります。開発の進捗については随時お知らせします。 

The Sinking City の制作のために開発し、活用しているツールについてお読みいただきありがとうございます。現在、一生懸命制作に取り組んでいます。アンリアル エンジンとそのサポートのお蔭で、理想を高く持ち、大規模なものに挑むことができます。常にゲームにホラー要素を入れたいと考えていますが、ワークフローは怖くない安定したものを望みます。このツールと UE4 を使用することで、そうしたワークフローを実現できます。

The Sinking City の詳しい情報は、FacebookTwitter および YouTube でご覧いただけます。