プログラミング
Godot VRのリリースとPSVR2への移植:部分的なポストモーテム
Shipping Godot VR and Porting to PSVR2: A Partial Post Mortem (claire-blackshaw.com)
要約
この記事は、Godotエンジンを使用してVRゲームをリリースし、PSVR2に移植した経験についてのポストモーテムです。開発者は、商用VRゲームをGodotでリリースするために、エンジンのコア部分の再構築や、コミュニティによるPSVR2への移植作業に多大な労力を費やしたことを語っています。また、VR開発におけるGodotの利点と課題、そしてプラットフォームホルダーやレンダリングプログラマーへの提言も含まれています。
全文翻訳
TLDR: 2026年のDevelop Brightonカンファレンスで行った講演の文章版です。はい、Godotは商用VRをリリースできます。そのために約8万ポンドの早期導入者税を支払いました。Godotのコア再構築、George Marques氏とAndré Ewald氏とのコミュニティによるPS5/PSVR2移植の苦労話、なぜ私が4.7のために全く新しいレンダサーバーを書くことになったのか、そしてプラットフォームホルダーとレンダリングプログラマーへの呼びかけについてです。ここにある内容はPlayStationのNDA(秘密保持契約)に抵触するものではありません、残念ながら。この記事の元になった講演の延長版です。今週Develop Brightonでこの講演を行い、より公開版を共有したいと思いました。少し遅く、カンファレンスの時計もなく、読むことを好む人々のためにこの文章版を添えます。この講演の内容はPlayStationに関するNDAには抵触しません、残念ながら。もっと面白い舞台裏の話もありますが、それらは共有が許可されているパートナー空間にあります。これは元々ポストモーテムになるはずでした。しかし、多くの出来事が起こり、結果として部分的なポストモーテムとなりました。その理由は後述します。
私は誰か
私はClaireです。PS2時代からこの業界にいます。Godotに貢献しており、主にOpenXRサイドで、そして時々レンダリング関連のことも手がけています。様々なゲームをリリースしており、2013年からVRに携わっています。ソニーに入社してPSVRネットワーキングを担当し、私のチームはメタバース関連の重要な作業を行いました:ソーシャルVRチャット、ハンドジェスチャーなど、そういったものが私たちのチームから生まれました。最近ではDreamsとSubstance 3D Modelerをリリースし、現在はAugmental Puzzlesに取り組んでいます。
まず最初に:Godotは機能する
この講演の一部はネガティブに聞こえるかもしれませんが、そうではないことを最初に言っておきます。Godotは多くのチームにとって機能します。2Dゲームを作っているなら、それは簡単な選択肢であり、ほとんどのシンプルな3Dゲームでも非常に信頼性があります。しかし、正直な注意点もあります。オープンワールドやストリーミング重視のゲーム、多くのキャラクターアニメーションに依存するゲーム、あるいは非常にリアルなアートスタイルを目指すなら、Unrealの方が適しているでしょう。もしあなたがVR開発の初心者で、特にスタンドアロンなら、Unityの方が適しているかもしれません。なぜなら、Unityのレンダラーはもう少し高機能だからです。Godotにはアセットライブラリがありますが、現時点では無料のみです。これは将来変更されますが、エコシステムが他のエンジンほど充実していないことを意味します。そしてコンソール移植に関しては、サービスを提供しているスタジオはたくさんありますが、コミュニティによる移植の側面はまだ成熟していません。
Godotは商用VRをリリースできるか?
はい。しかし、私たちは約8万ポンドの早期導入者税を支払いました。これは、Unityでリリースした場合なら必要なかった、エンジンに対して行った純粋な作業です。これは、GodotでVRゲームを始めるすべてのスタジオがそれほど多く支払う必要があるという意味ではありません。もし今始めるとしたら、それほど高額にはならないと思いますが、それでも税金はかかると思います。そしてその金額には、PlayStationとPSVR2の作業は含まれていません。それは全く別の金額です。私たちは早期アクセス中なので、うまくいっています。GodotConの書き込みで、その8万ポンドの内訳を詳細に説明しました。もし項目別のバージョンが必要なら、そちらをご覧ください。
私たちをここまで導いたゲーム
Augmentalは私たちの最初のGodot VRゲームではありませんでした。最終的にたどり着いたゲームです。Digging VR。考古学的なモデラー風の掘削ゲームです。レンダリング機能の不足でブロックされました。以前にも書いたことがあります。エンジンを作りたかったのではなく、ゲームを作りたかったので、棚上げしました。面白いことに、その機能は今では存在します。ただ待てませんでした。Rune Magic。ゲームプレイ上の理由で中止しました。サンクコスト(埋没費用)の罠が閉じる前にクリーンにキャンセルしました。Godotのせいではなく、それは単なるゲーム開発です。Magic Shop。妻の最初の三部作に基づいた物理演算タイトルです。初期のJoltで物理演算の問題に遭遇し、カスタム物理応答で解決しましたが、資金がカットされたためキャンセルしました。これが私がAdobeを辞めてゲーム業界に戻ってきた理由であり、そして、VR業界の誰もが2024年9月がどのようなものだったか語れるでしょう。ビジネス面についてはVR Biz:The Funding Cliffでカバーしました。
ピボット:Augmental Puzzles
Adobeにいる間、Logitech、Appleなど多くの企業と仕事をしました。LogitechとはMX Inkペンで仕事をしました。Godotにそのサポートを比較的簡単に組み込み、小さな描画デモを作成しました。それが終わったとき、次に何をしようかと考え、こう思いました:VRで数独をプレイできる場所が本当に欲しい。それは存在しない。なんてことだ、これはかなり速く作れる。出荷しよう。
Godotのスピード
これが、Godotについて尋ねられたときにいつも言うことです:物事を立ち上げて実行するスピードは本当に強みです。作業していて楽しいです。数独のコアゲームは、約2日でプレイ可能になり、ゲームのほぼすべてのコンポーネントを含む完全なメニューフローは1週間で完成しました。すべてまだスクラッチグラフィックスでしたが、それはそこにありました。初期のNiceな点の1つはコンポジションレイヤーで、これは非常に高品質な2Dレイヤーを比較的安価に得ることができます。当初はそれらが私たちにとって非常にうまく機能し、正直なところ、それらを使って出荷できたかもしれません。アートスタイルを変更したため、現在は使用していませんが、素晴らしい足場となりました。しかし、後述する理由でゲームのスコープは拡大しました。最近、私たちはついにその野心の一部を示すことができるようになりました。Nonogramsがリリースされ、Augmental PuzzlesがPSVR2に来ることを発表しました。
以前どこでカバーしたか
これらすべてについて、他の講演も行いました。Develop Northでは、プロフェッショナルな視点からGodotについて話しました。最近のGodotConでは、この素材のほとんどについてより長い講演を行い、YouTubeとこのブログで文章化されています。そして、PlayStationのパートナーであれば、許可されている空間でより詳細な情報を共有しています。
以前カバーしたので詳しく触れませんが、モンキーパウ効果があります。多くの個人的な問題がゲームを遅延させました。短いバージョン:私の人生の多くの人々が病気になり、癌になった人もおり、最近私の猫が亡くなりました。今では冗談にしていますが、友人が会社に入社したとき、彼の妻は1ヶ月以内に病院に入院しました。不運が深く染み込んでいました。長いバージョンはA Personal Journeyにあります。
なぜこの講演が存在するのか
この部分は私にとって本当に重要です。私が業界に入ったとき、プログラマーが社内エンジンを修正したり、ライセンスされたエンジンをゲームに適応させたりしてスキルアップするのは普通でした。新しいコンソールサイクルが来ると、必然的にエンジンを新しいハードウェアに移植したり、特定のベンダーのものをサポートするように依頼されました。開発者はそれを実行することで学びました。コンソールは新しいことを試み、新しいことは通常コンソールで最初に現れ、新しいことを行うには、それらをサポートし、それらと協力する人々が必要です。
この10年間で本当にひどかったのは、VRに関する標準とソフトウェアを開発するにつれて、エンジンの二大寡占のピークにあったことです。ほとんどすべての人がUnityまたはUnrealを使用していたため、非常に少数の人々しかVR標準に直接関与せず、標準は良くならなかったのです。誰かが実際に何かを使用しているかどうかを知る方法は、それについて不平を言うことだと私はいつも言います。プログラマーが言語、エンジン、またはコンソールを使用する場合、彼らはそれについて悪態をつきます。そして、その情報に基づいた不平こそが、物事が改善される方法です。VRの成長は、その欠如によって大きく妨げられました。
また、過去のコンソールサイクルで多くのイノベーションがあったと主張しますが、人々はそれに気づいていません。なぜなら、UnityとUnrealは、いくつかの派手なグラフィックスを超えて、コンソールの利点をあまり活用しなかったからです。VRヘッドセットができることには、ゲームでは決して見られないことがたくさんあります。なぜなら、UnityまたはUnrealのプラグインがそれをサポートしていないからです。イノベーションには、物事をいじくり回すことが必要です。それが、私がGodotを支持する主な理由の1つであり、この講演が存在する理由です。
第二幕:商用VRのためのGodotコアの再構築
Godotを1枚のスライドで
これはおそらく最も批判を受けるスライドでしょう。結論を出すためのものではなく、コンソールでリリースした経験があり、おそらくGodotにそれほど詳しくないゲーム開発者の視点から話しています。Godotの核心は90年代スタイルのオブジェクト指向エンジンです。場所によっては更新されていますが、それが骨格です。スクリプトレイヤーと拡張機能は、主に一般的なデータ構造をラップするVariantユニオン型を通じて実現されています。これらすべてを管理するコアには、ミューテックス(mutex)が多く含まれるオブジェクトIDデータベースがあります。