見出し画像

DOTS開発の現状と次のマイルストーン - 2022年3月

以下のページを翻訳しました。

みなさん、こんにちは。

お待たせしました!今年最初のDOTSのアップデートです。前回2021年12月9日の投稿では、再びパブリックパッチの配信に注力し、徐々にEntities 1.0バージョンに達していく意向をお伝えしました。

(👇前回の投稿はこちらを参照)

今日は素晴らしいニュースがあります 実験的な Entities 0.50 とその互換パッケージが一般に公開されたことをお知らせします! このリリースに関する詳細は、DOTS 製品管理チームのシニアプロダクトマネージャである Matt Fuad のフォーラムへの投稿をご覧ください。

👇翻訳はこちら!

また、Entities 1.0 のスコープに関する詳細を示すロードマップの公開ページを立ち上げ、製品チームへのフィードバックを直接提供できるようにしました。

DOTS Roadmap

次のステップの詳細に入る前に、製品としてサポートされる最初のリリースに向けて進むにつれ、より多くのUnityユーザーがそれらのアップデートを目にすることになると思いますので、この機会に私たちの野心といくつかの用語を明確にしておきたいと思います。

Unityのデータ指向技術スタック(DOTS)の目標は、Unityでより野心的なゲームを作ることを可能にし、複雑なマルチプレイヤー、クロスプレイ、オープンワールドゲームのような使用方法のニーズに応えることです。

DOTS には、Entity-Component-System (ECS) アーキテクチャに基づくすべてのパッケージが含まれています。DOTS の概念は、しばしば Burst Compiler と C# Job System という、ECS の開発をサポートするために作られた、ECS とは独立した 2 つの技術を含むように拡張されます。Burst CompilerとC# Job Systemはすでに製品化が推奨されており、ECSの使用有無にかかわらず、Unityのプロジェクトで使用することができます。UnityプロジェクトでECSソフトウェアアーキテクチャパターンを実装するためのAPIは、Entitiesというパッケージで提供されます。データ指向アーキテクチャの利点を得るには、ゲームコードとパッケージはEntitiesをベースにする必要があります。

私たちのロードマップは、Entities パッケージをバージョン 1.0 にすることに重点を置いています。これは、私たちのパッケージ ライフサイクルの定義に従って、そのステータスを実験的からリリース済みへと変更することを意味します。このステップは、Entities 1.0 とその互換パッケージが、Unity の他の機能と同様に製品としてサポートされ、その API が Unity LTS サイクルの間、安定したままであることを意味するため、非常に重要です。

以前のフォーラム投稿では、1.0 に到達するために 3 つのステップを踏む必要があることを説明しました。

  1. 2020 LTS との互換性を実現する:これは、実験的な Entities 0.50 とその互換パッケージのリリースによって、今日実現したことです。Entities 0.50 は Entities 0.17 からの破壊的変更です。

  2. 2021 LTS との互換性を実現する:Entities のマイナーアップデートである experimental Entities 0.51 を準備中で、Entities とその互換パッケージが Unity 2020 LTS と Unity 2021 LTS の両方のプロジェクトで使用できるようになる予定です。このアップデートは現在、2022年第2四半期に予定されています。詳細については、リリースが近づくにつれてお伝えしていきます。

  3. 2022 Tech Stream との互換性を実現する:バージョン Entities 1.0 とその互換パッケージは、2022 年リリースサイクルの全期間において、プロダクションでサポートされる ECS 基盤を表します。Entities 1.0 は、Entities 0.51 からの破壊的変更となる予定です。

Entities 1.0:何を期待するか

まず、Entities 1.0は、ECSを製品化した状態でサポートできることを表しています。Entities の実験フェーズでは、急速に進歩するために、テスト インフラストラクチャにリソースを集中させることはありませんでした。多くの場合、問題を追跡し、再現し、修正する能力がなかったのです。Entities とその互換パッケージがバージョン 1.0 に達したことで、私たちはリリース済みパッケージの仲間入りをし、それらに適用する品質基準と、Unity がサポートするすべてのプラットフォームに対する品質要件が備わりました。

次に、Entities 1.0は、Unityエンジンの制限を克服し、クリエイターがより意欲的なゲームを作るための最初のステップに過ぎません。Entities 1.0 は旅の終わりではなく始まりであり、その恩恵をすべての Unity ユーザーが透明な形で完全に享受できるようにするには、いくつかのメジャーリリースが必要になるでしょう。そのため、強力なサンプル、ドキュメント、テンプレート、その他のベストプラクティスガイドを提供するための献身的な努力をしていますが、Entities 1.0 は特に、以前に Unity タイトルを出荷した経験のあるベテランゲームクリエイターにお勧めする予定です。

最後に、Entities 1.0 は、既存の機能をすべて置き換えるのではなく、これまで Unity で構築することが困難だった特定のシナリオやタイプのゲームを可能にすることに重点を置いています。このため、Entities 1.0 は Gameobjects と互換性があり、Unity の Gameobject システムと ECS ベースのものを効率的にブリッジするための専用 API とオーサリングワークフローを含んでいます。これにより、特定の状況下ではECSに依存しつつも、Unityの他の側面での既存の経験を活用することができ、ゲーム作りに大きな柔軟性をもたらします。

ここでは、Entities 1.0とその互換パッケージであるECSが、現場で違いをもたらすと思われるシナリオを見ていきましょう。

  • アダプティブ・ゲーム・アーキテクチャ:絶えず変化するゲームプレイの要件によく適応するECSゲーム・コード・アーキテクチャの記述と使用を容易にします。

  • 統合されたワークフロー:エディターとベイクのワークフローを統合し、Gameobjectsとの互換性を確保することで、既存のUnityシステムとチームのUnityの専門知識を活用することができます。

  • 観戦者の拡大:必要なメモリを最適化し、エネルギー消費を抑えることで、要求の厳しいゲームを幅広いデバイスにパブリッシュできます。

  • ネイティブコードのパフォーマンス:マネージドコードのオーサリングのシンプルさを維持しながら、並列化と決定論によりネイティブコードのパフォーマンスを実現します。

  • 大規模データストリーミングに対応: UnityのレンダーパイプラインとECSの効率性を組み合わせることで、スパイクレスストリーミングとメモリ効率の高い大規模レンダリングを実現します。

  • 前例のないシミュレーション規模:機能豊富な物理ライブラリ、スケーラブルなデバッグツール、アクセス可能なAPIをターゲットとしており、効率的なランタイムとシミュレーションの規模を実現します。

  • スケーラブルなマルチプレイヤー サポート: サーバー・オーソリテーティブ・モデル(専用サーバーモデル)を使用した中規模から大規模のアクションゲームの制作をサポートするハイレベルなネットワーク基盤が含まれています。

このビジョンを現実のものとするために、今年、DOTSとECSをいち早く採用した企業による複数の制作ストーリーをご紹介します。これらのストーリーは、なぜこれらの技術が選ばれたのか、どのような問題があるのか、そしてその選択に伴う課題を明らかにするものです。

そのうちの最初の2つの話は、GDCのDev Summitで、Ramen VRのLauren FrazierがVR MMO「Zenith」でDOTSとECSを活用した話をし、Electric SquareのJonas De Maeseneerが「Detonation Racing」の制作で使った体験談を紹介する予定です。最後に、本日お伝えするロードマップを振り返って、このセッションを締めくくる予定です。また、3月23日(水)にUnity公式Twitchチャンネルで行われるDOTS Q&Aライブ配信でも、Lauren、Jonas、私の3人でディスカッションを行う予定です。

また、UnityのDamian Campeanu氏によるDOTSのオーサリングとデバッグのワークフローに焦点を当てたセッションもおすすめです。

DOTSチームはGDCに数名のメンバーが参加しますので、もし参加される方がいらっしゃれば、直接お会いするチャンスです。フォーラムやTwitterで連絡を取って、何か予定を立ててください。GDCでのUnityのプレゼンスは、こちらでご覧いただけます。

お客様のご意見は重要です

また、冒頭で述べたように、本日より「DOTSロードマップ」ページを開設し、次のマイルストーンの範囲をより詳細にご覧いただけるようになりました。

このインタラクティブボードでは、各カードをクリックすることで、各トピックの詳細を確認することができ、また、ご意見をお寄せいただくこともできます。機能性クッキーの使用を許可し、Unity IDでログインすれば、カードをクリックし、そのトピックの重要度を選択し、あなたの意見を追加して送信するだけです。このフィードバックは、適切な製品チームに直接送られます。

Entities 0.50 のリリース、Entities 0.51 の発表、Entities 1.0 の範囲を示すロードマップの公開、GDC でのチャットと学習の機会など、長年の努力が具体的な成果として現れることを私たちと同様に楽しみにしていてください。DOTS を支えるチームは、皆様の野心的なプロジェクトに必要なソリューションを提供するために、懸命に取り組んでいます。

いつものように、このスレッドでご意見をお聞かせください。特に、Gameobjectsとの互換性を維持しながら、ECSを段階的に提供することについてのご意見をお聞かせください。

皆様のご意見をお待ちしています。

ローラン

この記事が気に入ったらサポートをしてみませんか?