Unity を検索

触手に真剣に取り組む。カオスな怪獣を作り上げる Firepunchd 社の粘り強い試み

2022年6月30日 カテゴリ: ゲーム | 18 分 で読めます
The word "Tentacular" in a sea, on sticks
The word "Tentacular" in a sea, on sticks
取り上げているトピック
シェア

Is this article helpful for you?

Thank you for your feedback!

インディー開発者の Simon Cubasch 氏と Luca Scaramuzzino 氏は、GDC で Unity のセッションに参加し、つるつるした感覚を楽しむ VR サンドボックスゲームの背後にある反復的な設計プロセスについて議論しました。

ゴジラキングコングなど、怪獣(「奇妙な獣」)と呼ばれるものは、大混乱と破壊を引き起こす凶暴なモンスターです。Firepunchd 社は、新作 VR ゲーム『Tentacular 』で、混乱を引き起こすが黄金のような素晴らしい心を持つクラーケンのようなヒーローを登場させ、その思い込みに挑戦しています。プレイヤーは触手のような肢を操作して島のコミュニティのために集合住宅を建てるのですが、操作の結果が予測不可能で、それが愉快に感じられます。

Firepunchd の Simon Cubasch 氏と Luca Scaramuzzino 氏は、GDC 2022 で Unity の Hasan Al Salman、Kal O'Brien、そして Unity Insider の Justin P Barnett 氏とのセッションに参加し、反復的な設計から最適化に至るまで、『Tentacular』の開発の舞台裏にある知見を共有してくれました。この記事の続きの部分にある配信のハイライトをお読みいただき、ゲーム発売後の彼らの活動を知ってください。また、この記事の終わりに、Creator Spotlight 全編の動画へのリンクがあります。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

VR ゲームジャムから始まった

Tentacular』はゲームの中で実験を行いますが、このゲーム自体もちょっとした実験なのです。このユニークなプロジェクトは、数回のゲームジャムを経て、反復的に進化してきました。Cubasch 氏と Scaramuzzino 氏は、Tinytouchtales や Studio Fizbin など、ベルリンの緊密なつながりのあるゲーム開発コミュニティを通じて友人となり、ベルリン初のインディーズ集団である Saftladen のアクティブメンバーであり続けているのです。

2015 年、Firepunchd 社は、後に『Tentacular』の基礎となるプロトタイプを共同開発しました。『Hatchlings』と呼ばれたそのゲームは、昆虫型の生物が物をつかむ肢を使って卵をどのくらい上手く扱えるかを競う、ローカルで遊ぶ 8 人用の協力型ゲームです。ローカルの協力型ゲームがあまり売れないことはわかっていましたが、彼らはその可能性を信じ、初期の HTC VIVE Dev Kit に関するものも含め、コミュニティから貴重な意見やリソースを受け取りながら、そのアイデアを発展させ続けました。

「開発当初、Safladen に連絡を取り、パブリッシャーとのコンタクト、予算やビジネスプランの相談に乗ってもらえないかと頼みました」と Cubasch 氏は言います。「みんなめちゃくちゃ親切でした」。

「ここベルリンには、本当に良いゲーム開発コミュニティがあります」と Scaramuzzino 氏は付け加えます。「さまざまな規模のチームの開発者と連絡を取り合い、助けやアドバイスを得ることができます」。

ストーリーテリングとゲームプレイ

Firepunchd 社のチームは触手を使った VR ゲームを作りたいと考えていましたが、適切な視点を見つけることが、物語の視点という意味でも、また文字通り物を見る位置を探すという意味でも、なかなか面白い挑戦であることが判明しました。最初のアイデアは、モンスターが屋台を経営し、お腹を空かせた島民のために小さなホットドッグを作るというものでしたが、浮動小数点数の誤差が大きな問題になりました。もうひとつの可能性(彼らはこれで Medienboard Berlin Brandenburg にピッチを行い成功した)は、怪獣の主人公のデートシミュレーション『Life, Love, and Tentacles』でしたが、彼らはスコープの関係でこれを追求しないことにしました。

ゲームプレイをさらに洗練させていくうちに、『Tentacular』の物語が浮かび上がってきたのです。当初はトップダウン視点のゲームでしたが、Firepunchd 社のチームは視点をアイレベルにした方が世界がより魅力的に見えることに気づきました。彼らはモンスターを海の中に居させることにしましたが、なぜモンスターがいつも腰まで水に浸かっているのか、物語上の正当性を考えなければなりませんでした。あるバージョン(『My Pants, WTF?』などというタイトルだった)ではモンスターのパンツが盗まれ、慎ましくも水の中に隠れていたという設定でした。

A tentacular creature takes a bath in toxic waste and reads an email on a computer about a date

Firepunchd 社のチームは、『Tentacular』の初期プロトタイプのプレイテストを見ているうちに、破壊的なゲームプレイと建設的なゲームプレイを組み合わせた完璧なストーリーラインに着地しました。彼らはゲーム環境内で物を壊すゲームもプレイヤーにとって楽しいだろうが、モンスターの変わった形の肢を使って物を作る方がより魅力的であることに気づいたのです。そして、どこか場違いな感じを覚えることがこの体験の大きな構成要素であることにも。不器用なモンスターが小さな人間の世界に溶け込もうとする物語の可能性に気づいた彼らは、そこに焦点を合わせ、勝利の方程式を導き出したのです。『Tentacular』は GDC で Firepunchd 社が Unity のセッションに参加した翌日にローンチしましたが、その反応は非常にポジティブなものでした。現在、MetaCritic のスコアは 80 をつけています。

「実はこのゲームにどんな反応が来るかはちょっと心配だったのです。というのも、このゲームを遊ぶには特殊なマインドセットが要求されるからです」と Scaramuzzino 氏は認めます。「でも、こういう反応がもらえて嬉しいですね!」

「プレイヤーがどうすればいいのか、どこに行けばいいのかわからなくなるのが心配だったんです」と Cubasch 氏は付け加えます。「しかし、プレイヤーの皆さんに『Tentacular』の内容を理解し、フラストレーションと楽しさが混在した作品を楽しんでいただいているようでよかったです」。

A POV from an octopus seeing in an old man on a road asking if they eat humans

VR への没入

触手

Tentacular』のゲームプレイの鍵は触手であり、プレイヤーを世界観に引き込むためには、触手らしい感触を実現することが必要不可欠でした。どちらの触手もデフォルトの重さと硬さが設定されています。重いものを持ち上げると重力に負けて触手が曲がり、ダメージを与えるものに触れるとモンスターが傷つき、触手がペラペラになります。初期のイテレーションでは、ビルトインのジョイントリジッドボディの組み合わせでアニメーションをつけていました。肢を正しく動作させるには、試行錯誤とプロファイリングを微妙なバランスで行うことが要求され、開発において何よりも時間を要した作業でした。

「最初のころは、触手はめちゃくちゃ重かったです。最初のプロトタイプからゲームを出荷するまでに、完全な作り直しを 3 回行いました」と Cubasch 氏は言います。「触手が全体としてどう振る舞うかだけでなく、100 ユニットから 5 万ユニットまで、それぞれ質量がめちゃくちゃ違う物体との物理的な相互作用も重要だったんです。これらの物体に対して、動く触手が貫通してしまい、物理演算が爆発的に増える可能性もありました」。

Pixelated tentacles flail around, destroying cars in a city

「ジョイントをいい感じに動くようにするために、かなり苦労しました」と Scaramuzzino 氏は明かします。「最初の試みは大失敗でした」。触手がバラバラになったり、揺れ動いたり、爆発したりしたのです。調整可能なジョイントの設定を使いこなすのに時間がかかり、初めて安定させた設定でも問題がありました。背中まで届く触手は長すぎたのです。Scaramuzzino 氏は、「プレイヤーが動きまわるだけで、プレイエリア全体が破壊されてしまったんです」と笑います。 

次に Firepunchd 社のチームは、より効率的な浮かぶ触手を使ってみましたが、スタンドアロン VR をサポートする際に問題があることが判明しました。「性能的に超重かったんです」と Scaramuzzino 氏は説明します。「リグの各ボーンには、カプセルジョイントを使用していました。すべての吸盤がそれぞれジョイントを持っていて、そのために計算コストが超大きくなり、やっぱり物理演算のコストが爆発していたのです!」

Some tentacles grab a police car and throw it around

触手を修正するために、彼らは衝突設定をつかんだオブジェクトに合わせて調整しました。「ジョイントは実際にオブジェクトを運んでいるので、これらの衝突は必要ありません」と Cubasch 氏は断言します。「最適化は性能を改善するためだけでなく、使い勝手を改善したり、不具合の発生を防いだりするためにも行われるのです」。

少しずつジョイントやリジッドボディの数を減らしていき、望んでいた触手の挙動と性能を両立させることができました。各ジョイントの慣性テンソルを操作することで、硬さやだらりとした感じを微調整したのです。各触手のリジッドボディには対応する 2 つの ScriptableObject があり、つかんでいるオブジェクトにリアルに反応します。

A pair of tentacles grab blocks and throw them in the air

「巨大な岩を掴んでいても、小さな人間を掴んでいても、VR ではすべてが非常に軽く感じられます」と Scaramuzzino 氏は言います。「現実世界の皆さんの手と触手とを分けるレイヤーを入れることで、重さを感じることができるのです。とても重いものを持ち上げると触手が伸びて、本当に重いものを持っている感じが伝わります」。

「力に反応するリジッドボディのチェーンを使うことで、物を持つ動作がとても面白いものになりました。重たいものを運ぶときは、本当に腕を上げる必要があるのです」。と Cubasch 氏は付け加えます。「ゲームプレイの大部分が、プレイヤーにゲームの中で起きていることを体験してもらうようにできています。とても特別な感じがします」。

A little man is standing on containers, ordering an octopus to stack them

メニューデザイン

Firepunchd 社のチームはメニューにゲームプレイを邪魔させたくなかったので、すべてのメニューがインタラクティブなオブジェクトの形で存在するダイアジェティック UI を構築しました。オプション画面(ゲームの軽いチュートリアルとしても機能する)では、触手でスライダーやスイッチを操作し、オーディオ、グラフィックス、設定、アクセシビリティをコントロールすることができます。アクセシビリティの設定のひとつである「触手サイズ」は、小柄な方でも手が届きやすいように設けられた設定です。Scaramuzzino 氏は、「私たちは最初から、このゲームを包摂的なものにしたいと思っていました」と強調します。「必ずしもプレイヤーご自身のために作られているわけではない世界に溶け込もうとするゲームなので、できるだけ多くの人に遊んでもらうことが本当に重要でした」。

VR の最適化

VR は最適化が重要です。90fps と 4K 以上の解像度を常に維持することが必須で、そうしないとプレイヤーが乗り物酔いのようになってしまうからです。Scaramuzzino 氏はドローコールを少なくするために、オブジェクトにアトラスを使い、再利用できるところではテクスチャを再利用するようにしました。また、実績解除状況、タイトル画面、ステージ、進行状況、クエスト、キャラクターデザイン、ローカライゼーションなど、膨大なゲームデータを整理するために ScriptableObject を使用しました。

シェーダー

Tentacular』の全アセットは、2 つの巨大なアトラスで管理されています。Firepunchd 社のチームは自分たちが好きなスタイルであるピクセルアートを選び、1K のテクスチャ 2 枚でゲームのほとんどの部分をレンダリングしました。「色違いのテクスチャを用意するのは嫌だったんです」と Scaramuzzino 氏は言います。「赤い車のアトラス、青い車のアトラスなどと分けたくなかったし、同じアトラスの中にすべての色のテクスチャを入れるのも嫌でした。車が 4 色あるので、それではアトラスの 4 分の 3 が車で埋まってしまったのです」。

これを回避するために、Scaramuzzino 氏は独自のシェーダーを作成しました。テクスチャのアルファチャンネルを色付き部分のマスクとして使用します。色自体はメッシュの頂点色に保存されています。プレハブの Awake か、または Blender での編集時に直接、頂点に色を付けるようにします。その後、シェーダーはテクスチャのサンプルされたピクセルにアルファがあるかどうかをチェックし、アルファがある場合は RGB カラーをメッシュの頂点色とブレンドします。これにより、同じマテリアルを使って、さまざまなオブジェクトを違った色で描画することができます。

ScriptableObject

クエストシステムの最適化

Tentacular』は、メインクエストとサイドクエストの組み合わせで進んでいきます。それぞれにストーリーがあり、ステージは ScriptableObject として整理されています。クエストシステムにはゲームのすべての要素と、Firepunchd 社のチームが各ビルド時に読み込む必要があったシーンが含まれています。これにより、進行状況を 1 か所で集中管理することが可能になったのです。「このデータを長いリストで管理するゲームもありますが、私はモジュールの方が好きです」と Cubasch 氏は語ります。「モジュールをクリックしたり、複製したりするだけでいいので、このワークフローがとても気に入っています」。

クエストデータを ScriptableObject で構造化することでゲームデータを操作し、リファレンス例外エラーを最小限に抑えることができました。「追加や削除が必要な場合でも、簡単に調整することができます」と Scaramuzzino 氏は説明します。「この仕組みのおかげで、ステージ作成のイテレーションがよりスムーズになりました」。

キャラクターデザインのスピードアップ

ScriptableObject は、キャラクター制作にも影響を与えました。目の色、髪の色、服装、頭飾りなど、個別のキャラクターのアセットを大量に作成し、パラメーターを使ってランダムに各部品の組み合わせを生成しました。これにより、プレハブの作成がかなりスピードアップしました。ほとんどの背景キャラクターは完全にランダム化されていますが、メインキャラクターは Unity エディターでカスタマイズされます。この ScriptableObject をエクスポートしてゲームにドロップすると、実行時にプレハブが生成されます。

ローカライゼーションの管理

言語の切り替えを簡単にするために、Firepunchd 社のチームは『Tentacular』のローカライゼーション文字列を含むデータベースに ScriptableObject をリンクしています。ScriptableObject は、フォントあるいはタイプフェイスや特定の文字の有無をチェックする機能を備えています。「この作業を違う技術を使って行うこともできたかもしれません。しかし、ScriptableObject は非常に使い勝手が良いので、私たちにとってはこれがいつも良いやり方となっています」と Cubasch 氏は認めています。

「ローカライゼーション文字列は、すべて Google スプレッドシートのドキュメントにあります。Google API を使って Google ドキュメントからデータを取り出し、ScriptableObject に入力することができます」とScaramuzzino 氏は説明します。「こうすることで、ビルドするたびに最新版のローカライゼーションファイルを取り込むことができます」。

POV of an octopus looking at a TV asking if they can do manual labor, with the only two options being "Sure" and "Yes"

インディー界のイノベーターを目指す人へのアドバイス

Firepunchd 社はゲームジャムを愛するメンバーで構成されており、粗削りなプロトタイプを作りながら、できるだけ早く面白さを発見することを楽しんでいます。

「私たちの経験では、イノベーションは素晴らしいアイデアから生まれるわけではありません。アイデアはプロセスの始まりに過ぎないのです。私たちの仕事の大部分は、その最初のアイデアの可能性を探ることになります」と Scaramuzzino 氏は言います。「イテレーションのスピードが速ければ速いほど、その過程は楽になります。失敗を恐れないでください。すべてを捨ててやり直すことを恐れないでください。洗練された 1 つのプロジェクトから学ぶよりも、100 の失敗した実験からのほうがより多くのことを学べるでしょう」。

「そして、楽しむことを忘れないでください」と、Cubasch 氏は付け加えます。「無理強いしない、物事を必要以上に複雑にしない。説明しなきゃならないジョーブは面白くないでしょう。テスト中に自分でも驚くようなことがあれば、それは正しい方向に進んでいる証拠と言えるでしょう。『笑い駆動』開発プロセスは、私たちにはとても上手く機能しました」。

Firepunchd 社は『Tentacular』を完成させただけでは終わりません。彼らは、このゲームの一連のアップデートに懸命に取り組んでおり、より多くの VR プラットフォームでのローンチや、まったく新しいチャレンジの追加、まったく新しい街づくりモード「à la Townscaper」を計画しています。このゲームは、SteamVRMeta Quest で発売中です。Simon(@firepunchd)とLuca(@MrLucaGames)を Twitter でフォローして最新情報をチェックしましょう。また、下に動画をリンクした Creator Spotlight の全編もぜひご覧ください。

このコンテンツはサードパーティのプロバイダーによってホストされており、Targeting Cookiesを使用することに同意しない限り動画の視聴が許可されません。これらのプロバイダーの動画の視聴を希望する場合は、Targeting Cookiesのクッキーの設定をオンにしてください。

2022年6月30日 カテゴリ: ゲーム | 18 分 で読めます

Is this article helpful for you?

Thank you for your feedback!

取り上げているトピック