メインコンテンツへ移動
2023年4月27日
ペリドット工学:「Peridot」の革新的な生成システムで無限に広がる冒険

Loren Shermanとともに

今回は、3回に分けてご紹介するペリドット工学シリーズの第1回目です。

無限の可能性に満ち、創造性と独自性が大切にされる世界にペリドットたちがやって来ました! この開発の旅に出たときから、この生き物たちに命を吹き込むのは至難の業だというのはわかっていたことです。 エンジニアとデザイナーのチームは、世界に1匹だけのペリドットたちを無限に生み出す生成システムを構築するという、難しい課題に挑戦しました。 こうして、画期的な「ペリ遺伝子システム」が誕生したのです。 このワクワクする旅では、「Peridot」の世界を深く掘り下げ、この生き物たちに命を吹き込む革新的な技術について解説していきます。皆さんもぜひご参加ください。

「Peridot」 は、かわいらしいAIのペットと一緒に現実世界を冒険するNianticの新たなゲームです。 「ペリ遺伝子システム」という独自の生成システムを搭載し、画期的で、まったく新しいペットシミュレーションゲームとなっています。 「キーパー」と呼ばれるプレイヤーは、「ドット」と呼ばれる唯一無二の生き物たちのお世話をし、おとなになるまで育てながら、一緒に世界を巡る旅をします。 しかし、このドットたちが特別である理由は、その生成方法です。 実際の動物と同じように、ドットはそれぞれの外見を決める固有の「遺伝子」を持っており、ゲームのさまざまな生成アルゴリズムで、この遺伝子が入力情報として使用されます。 このブログ記事では、プレイヤーのドットを世界に1匹だけの特別な存在にする「ペリ遺伝子システム」の技術について詳しく説明します。

ゲーム内で個性的なドットを生み出すために、3Dアーティストの技術とアルゴリズムを組み合わせた技法を採用しています。 まず、3Dアーティストがおとな、こども、あかちゃんのドットの「ベースモデル」を作るところから始まります。 そこから、「ペリ遺伝子システム」がさまざまなアルゴリズムを適用して、質感、素材、羽、角、そして耳の形まで造り変えるのです。 それぞれのドットが持つ固有の遺伝子が、外見を生成するためにどのアルゴリズムを使用するかを決定します。 例えば、耳にはブレンドシェイプ、角には押し出しによる特徴づけ、一部の模様にはセルオートマトンが使用されます。 これらのアルゴリズムは、いずれもゲームのAR技術ほど高度なものではありませんが、それらが組み合わさることにより、プレイヤーに特別な体験をもたらしてくれるのです。

ドットの成長段階のベースモデル

「ペリ遺伝子システム」の設計

「Peridot」の「ペリ遺伝子システム」の設計は、さまざまなパラメーターを慎重に考慮しなくてはならない複雑な工程です。 私たちは、コンセプトアーティストたちと密に連携を図り、このシステムに生成させたい多くの仮ドットたちを作成しました。

そして、ドットたちはどう異なっていたのか、 固有の要素をアルゴリズムのパラメーターどおりに再現するにはどうしたらいいのか、 そのパラメーターの組み合わせで他にどんなものが作れるのか、について分析しました。 私たちはペリドットの「ゲノム」を8本の染色体に分け、それぞれに模様、色、顔、耳、角、素材、羽、しっぽなどのデータ構造を持たせました。 各染色体のパラメータを選択する際、種類と外見のバランスを取りながら、より制御された方法で遺伝子を管理し、十分な数の異なる見た目のドットを用意する必要がありました。

特徴を決めるために使用される生成システムのタグ

これにより、特定の外見を生成する遺伝子番号の範囲を示すタグが作られました。 例えば、「ラビットイヤー」タグは、「耳の長さ」の数値0.1~0.6、「耳のなだらかさや尖り具合」の数値-0.2~0など、耳の染色体の全24個の数値で決められています。 「ガラス質」や「ヤギの角」など、染色体ごとにさまざまなタグを追加しました。 タグは値ではなく範囲であるため、同じタグを持った2匹のドットがまったく異なる外見になることがあります! このタグを利用することで、非常に多様で個性的なドットを生成することができ、プレイヤーに大きな可能性をもたらします。

耳の大きさの値が異なるほぼ同一のドット

ドットの模様は、アーティストが作成し、コードで調整したものもありますが、セルオートマトン を用いて、完全に一から生成したものもあります。 これは、格子状の「セル」を使って、一部のドットの模様を生成するアルゴリズムの一種です。 それぞれの「セル」には色があり、それぞれのアルゴリズムのステップとともに、セルの色は隣のセルの色に基づいて変化します。 この場合、これらのセルはドットの模様のピクセルとなるのです。 私たちのチームは、化学反応をシミュレーションする反応拡散と呼ばれるセルオートマトンの一種を使用しており、これは実在する動物が体の模様をどうやって変化させているのかを示す良い近似値となっています。 Conwayのライフゲーム が最も有名なセルオートマトンですが、反応拡散はよりリアルな模様を生成します。 アルゴリズムに入れる数字を調整することで、「ジラフ」や「トロピカルフィッシュ」、「まだら」などの模様や、「サーキット」や「メイズ」などのより奇抜な模様も生成することができます。 また、コードからパターンを生成しているため、ドットの模様にそれぞれの個性を持たせることができます。人間の指紋のように、一見して同じに見える2つの「ジラフ」の模様でも、実際には異なっているのです。

システムが生成しうるパターンの例

無秩序と多様性を許容しながらも、制御を維持しバランスを取るのは難しい試みでした。 チームは最初、狭い範囲で管理と制御を行い、新しく面白い組み合わせを発見するにつれて徐々にその範囲を広げていきました。 また、より高いレベルのキーパーが、タグによって設定された境界を越えられる方法を設計し、プレイヤーがより創造性を活かしてゲームをコントロールできるようにしています。


「ドットの組み合わせは約2.3×10^24通りあり、これは宇宙の星の数、あるいは地球上のビーチの砂粒の数に相当します。私たちは、刺激的で無限とも思える生成システムを作り出しました」


「Peridot」の生成システムを開発するにあたり、新しいドットを生成するための許容範囲をどの程度にするかという難しい判断に迫られました。 幅を広く設定することで、多様性が増し、予想外で無秩序な組み合わせができる可能性があります。 一方、範囲を狭くすることで、生成されるドットの制御や管理をより強化することができます。 十分な検討の末、最初は狭い範囲からスタートし、私たちとプレイヤーが新しく面白い組み合わせを発見するにつれて、徐々に範囲を広げていく、という妥協案に到達しました。 ドットの組み合わせは約2.3×10^24通りあり、これは宇宙の星の数、あるいは地球上のビーチの砂粒の数に相当します。私たちは、刺激的で無限とも思える生成システムを作り出しました。

一般的なドットの耳の長さは-1~1です。 このドットの耳の長さは16

「ペリ遺伝子システム」のゲーム実装について

「Peridot」で使われる「ペリ遺伝子システム」は、さまざまな異なる出力情報を持つため、他のシステムと連携した場合にすべての出力情報を構成することは不可能です。 一時期、ドットはコーギーとグレーハウンドのように異なる身体のタイプに変えることができたのですが、それが原因で不自然なアニメーションになってしまうことがありました。 それを避けるために、すべてのドットを同一の基本体型にすることにしました。

ドットゲノムの構造は、繁殖の過程で重要な役割を担います。 新しいドットが生成されるたびに、各染色体のタグがランダムに選択され、そのタグの中でランダムな値が選択されます。 2匹のドットが繁殖するとき、あかちゃんドットは両親のどちらかから、染色体ごとにランダムな遺伝子を受け継ぎます。 このシステムは、ドットのテクスチャーや3Dモデルを保存する必要がないため、ストレージの面で非常に効率的です。 その代わり、そのゲノムを保存しておくだけで、ゲームで必要になったときにその情報を使ってすべてを生成することができます。

2匹のドットが一緒になって、共有した遺伝的特徴を持つ新しいドットを作る

しかし、これらのドットをすべて一から生成するには、かなりの計算量が必要です。 プレイヤーが新しいドットを目にするたびに、そのドットのすべてを一から生成する必要があり、そのためには、その生成処理をモバイル端末でフレームレートに影響を与えずに1秒程度で完了させるための最適化が必要です。 ゲームに使われるセルオートマトンシステムは、パフォーマンス上の最も重要な考慮点の1つです。 このプロセスをより効率的にするために、セルオートマトンを小さなテクスチャーでシミュレーションし、最後に拡大させます。 さらに、セルオートマトンのシミュレーションが得意なGPUで、すべての処理を行います。


*「このシステムは、ドットのテクスチャーや3Dモデルを保存する必要がないため、ストレージの面で非常に効率的です。 その代わり、そのゲノムを保存しておくだけで、ゲームが必要とするときにその情報を使ってすべてを生成することができます」


「Peridot」で使われる生成システムは、ストレージ面において効率的ですが計算の複雑さが付随します。 ドットゲノムは繁殖プロセスに反映されますが、一から新しいドットを生成するには、モバイル端末でスムーズにゲームが動作するように大幅な最適化が必要です。

生成システムの未来

「Peridot」で使われる生成システムは、膨大な数の個性的なドットを生み出す強力なツールです。 将来を見据えて、今後もシステムの拡張や新しい遺伝子機能の探求を続けていきたいと思います。 特に、より多様で面白いドットを作るために、様々な身体のタイプの新たな導入に向けて取り組んでいるところです。 また、カスタムデザインを取り入れた微細なアルファマスクの羽の使用も検討しており、シダの葉やヒレ、蝶の羽などの個性的な特徴を持つドットを作ることができます。 これらの新しい機能と継続的な最適化により、「Peridot」はモバイルゲームの世界で可能とされることの限界を超え続けることができると確信しています。


Markdown Monster icon

Loren Sherman
「Peridot」に携わるシニア・テクニカルアーティスト。 テクニカルアーティストは、ドットの個性的な見た目を生み出すシステムにおいて中心的な役割を担っている。



最新情報を入手