モンスター・プロム:マルチプレイヤーのデーティングシムのためのダイアログシステムを構築する

モンスタープロムシリーズは、ビューティフル・グリッチによる制御された混沌のマスタークラスです。<1>この人気フランチャイズは、デートシミュレーション(通常はシングルプレイヤーのもの)を取り入れ、アブサードなユーモアを加え、競争的なマルチプレイヤーゲームにすることで脚本をひっくり返します。4つのゲームが発売され(5作目も進行中)、数千の分岐イベントと独特のコメディの声を持つモンスター・プロムは、馴染みのあるコンセプトを反復しながら、毎回新鮮に感じさせる方法の素晴らしい例です。
ビューティフル・グリッチのリードプログラマー、エリアス・ペレイラスにインタビューし、モンスタープロムの複雑な分岐ナラティブを可能にするカスタムツールについて学び、これらのツールがフランチャイズとともにどのように進化してきたかを探ります。<1>
完璧なジャンルの一致を見つける
モンスター・プロムのコンセプトは、シンプルな観察から生まれました:ビューティフル・グリッチチームは、友達とプレイできるナラティブゲームの市場に隙間があることに気づきました。このコアアイデアを念頭に置き、彼らはさまざまなタイプのナラティブゲームを調査し、デートシミュレーターのジャンルに可能性を見出しました。
「私たちはデートシミュレーションにたどり着きました。なぜなら、このジャンルはしばしばその慣習にあまりにも固執していると感じ、新しい視点を加えて新しいオーディエンスのために新鮮にするための素晴らしい出発点になる可能性があるからです」とエリアスは説明します。「特に魅力的なアイデアが一つありました:ナラティブデートシミュレーションにマルチプレイヤーを追加し、その上でコメディ的でアブサードなトーンを与えることです。」
このパーティーとナラティブゲームのミックスは、スタジオのシグネチャーとなりました。オリジナルのモンスター・プロムの人気は、ビューティフル・グリッチに続編(モンスター・プロム2:モンスターキャンプ)を開発する手段を与え、さらに別の作品(モンスター・プロム3:モンスター・ロードトリップ)、そしてまた別の作品(モンスター・プロム4:モンスター・コン)を生み出しました。フランチャイズが成長するにつれて、チームは革新を続け、コア原則に導かれました:ストーリーテリングとテーマがコアメカニクスを駆動すること。
「私たちはナラティブに導かれるように努めています。」開発に入る前に、私たちはすでにゲームの設定について明確なアイデアを持っているので、テーマに適したメカニクスを考えようとしています」とエリアスは言います。「これは、Monster Prom 3のロードトリップのアイデアに最も明白で、ゲームのジャンルに大きく影響しますが、Monster Campに‘ゴシップ’メカニクスがある理由でもあり、Monster Conではプレイヤーが自分の漫画を作ることができます。」
常に進化するメカニクス、各ゲームにおける数百のイベント、最大4人のプレイヤーのための分岐するナラティブをサポートするために必要なコンテンツの音量により、Beautiful Glitchは解決すべきいくつかの重要な技術的課題を抱えていました。

パイプラインの課題
Monster Promのナラティブの複雑さは、無数の変数、ステータスチェック、分岐する道があり、堅牢なシステムを要求しました。しかし、Beautiful GlitchがMonster Prom 2の作業を始めた時には、最初のゲームのために開発したパイプラインは、将来のプロジェクトには不適合であることがすでに証明されていました。
「Monster Promは、現在使用しているものとはまったく異なるシステムを使用していました」とエリアスは言います。「その最初の、よりプリミティブなシステムでは、シーンから解析して抽出したすべてのデータを事前に計算して保存する必要がありました。私たちは非常に限られた数のイベントから始めたので、持っていたものはうまくいきました。しかし、最終的には解析に最大20分かかるまで成長しました。そして、さらに悪いことに:解析エラーが発生した場合、プロセスは最初からやり直さなければなりませんでした。」

この遅いワークフローは、スタジオにとって大きな技術的障壁でした。20分の解析は、開発時間が20分少なくなることを意味しました。作家からのナラティブの調整は遅く、エラーが発生しやすかった。ゲーム内では、情報量が膨大なGameObjectsをランタイムでロードしなければならなかったため、ロード時間が大幅に長くなった。Monster Prom 2のために、Beautiful Glitchはシステムをゼロからリビルドすることに決めた。
「Monster Prom 2では、ゲーム起動時にランタイムで解析されるプレーンな.txtファイルを使用しました。システムの新しいバージョンは最適化されており、イベントからのすべての解析とデータロードに約0.1秒かかるため、テキストのインポートやイベントのテストが非常に簡単になりました」とエリアスは言う。

コーダーでない人のためのエディターのカスタマイズ
このパフォーマンスボトルネックを解決することが、チームにワークフローを合理化する他の方法を探すインスピレーションを与えた。スタジオは、作家がUnityエディターの深い知識を必要とせずに独立してコンテンツを検証できる方法を見つけたいと考えていた。提案された解決策は、ほとんどのゲーム作家に馴染みのあるツールから始まる多段階のパイプラインだった:Google Sheets。

「私たちは、Google Driveからシートを自動的にインポートし、プロジェクトに.txtファイルとして保存するツールを開発しました」とエリアスは説明する。「その後、エディター内で適切で深い検証が行えるようになり、はるかに速く、実際のゲームアセットにアクセスできるため、エラーは異なるカテゴリで表示され、フォーマット、構文、アセット、命名などの問題に対処しやすくなります。」
Google SheetsからBeautiful GlitchのEditor Validatorにインポートされるテキストで、エラーを修正のためにフラグ付けします。
このワークフローをさらにアクセスしやすくするために、Beautiful Glitchは「イベントビューア」と呼ばれるツールを作成しました。これは、エディターのコア検証ツールを備えたスタンドアロンの実行可能ビルドで、よりライターに優しいUIでラップされています。
「私たちのイベントビューアは、シートからのライブ変更をチェックし、ランタイム中にStreamingAssetsにインポートし、エディターツールと同じエラー検証を提供できます。」と彼は続けます。「このツールの大きな利点は、インポートされたイベントをこの開発ビルドで直接テストできるため、ライターはより多くの反復を行い、テキストとレイアウトの品質を向上させることに集中できることです。」
前のビデオクリップからのエラーイベントが、今やイベントビューアに表示されています。ここから、テキストを更新し、再インポートし、迅速な検証のために再生できます。
コンテンツパイプラインを一新したことで、Beautiful Glitchは両方の世界の最良のものを手に入れました:プログラマーは深い技術的作業に集中でき、ライターは書き込み、検証、テストのための目的に特化したアプリケーションを使って独立してプロジェクトに貢献できます。このワークフローの影響はすぐに明らかになりました。
「Unityで開発したツールの良い点は、ライターがキャラクターを作成するような高度なことをするためにエディターやエディターツールを使うことができるとしても、日常のタスクにそれを使う必要はないということです。」とエリアスは言います。「代わりに、彼らはリアルタイムで自分の作業を直接検証し、エラーを含む特定のシートセルにアクセスして簡単に修正できます。このようにして、私たちのライターは新しい技術を習得することを心配する必要がなく、創造性とナラティブに集中できます。」

調査結果の概要
ビューティフル・グリッチのモンスター・プロムとの旅から得られることは、カスタムツールへの投資は気を散らすものではなく、開発プロセスの核心部分であり、技術者と非技術者のチームメンバー間のコラボレーションを根本的に変えることができるということです。
ビューティフル・グリッチは、キャラクターデータの作成や画像アセットの検証、オーディオクリップの分類、新しいビルドの作成など、いくつかの反復作業を自動化するためのカスタムツールを構築しました。ツール開発をゲーム開発プロセスの不可欠な部分と見なすマインドセットであり、最終的には投資する価値があります。
「これはどんな新米開発者も受け入れるべきことです:カスタムツールを使用することで節約できる時間は、ほぼ常にそれを作るために費やした時間を補います」とエリアスは言います。「ツール作成を一般的な開発プロセスの一部と考えてください - 面倒な迂回ではありません。」
Unityエディターの拡張性に依存することで、ビューティフル・グリッチはモンスター・プロムにプレイヤーを引きつける要素、すなわちユーモラスな文章、驚くべきメカニクス、友達との競争的なモンスター・デートでのプレイと失敗の楽しみに集中できます。

ビューティフル・グリッチのモンスタープロムシリーズは現在利用可能です、Steamで。私たちのSteamキュレーターのページで、さらに多くのMade with Unityゲームを探り、UnityブログやリソースハブでUnity開発者のストーリーをチェックしてください。
