見出し画像

DOTSの開発状況および次のマイルストーン - 2022年6月

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

みなさん、こんにちは。

実験的な Entities 0.51 とその互換パッケージが公開されたことをお知らせします! これにより、2020 LTS の既存のサポートに加え、2021 LTS への互換性を提供し、Entities 1.0 バージョンに向けた 2 つ目のマイルストーンが完了しました。このリリースに関する詳細は、Matt Fuad のフォーラム投稿を参照してください。

👇翻訳はこちら!

ロードマップの公開ページを更新しました。ここでは、Entities 1.0 の範囲の詳細を確認し、製品チームと直接フィードバックを共有できます。すでに皆様から数百件のフィードバックをいただいております。私たちはこれらを詳しく読み、次のステップに活かしていきます。

また、GDC Dev Summitで紹介したDOTSのアーリーアダプターによる2つの制作ストーリーを紹介します。Ramen VRのLauren Frazier氏は、VR MMO「Zenith」でDOTSとECSをどのように活用したかについて、Electric SquareのJonas De Maeseneer氏は、「Detonation Racing」の制作における自身の経験について話しています。

最後に、GDCで行われたDamian CampeanuによるDOTSのオーサリングとデバッグのワークフローにフォーカスしたセッションと、5月25日に行われたDevGameGuildカンファレンスでのJason WeimannとのDOTS Q&Aセッションをお勧めします。

このフォーラムの投稿は、3月15日に行った投稿と非常によく似ていますが、Entities 1.0に向けた進捗を反映させるために若干のアップデートを加えています。

DOTS Roadmap

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

DOTS には、Entity-Component-System (ECS) アーキテクチャに基づくすべてのパッケージが含まれています。DOTS の概念は、しばしば Burst コンパイラと C# Job System という、ECS の開発をサポートするために作られた、ECS とは独立した 2 つの技術を含むように拡張されます。BurstコンパイラとC# Job Systemはすでに製品化が推奨されており、ECSの使用有無にかかわらず、Unityのプロジェクトで使用することができます。

UnityプロジェクトでECSソフトウェアアーキテクチャパターンを実装するためのAPIは、Entitiesというパッケージで提供されます。データ指向アーキテクチャの利点を得るには、ゲームコードとパッケージはEntitiesをベースにする必要があります。

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

前回のフォーラム投稿では、1.0に到達するためにUnity LTSのリリースに追いつく必要があることを説明しました。現在、実験的な Entities 0.51 が利用可能になり、2020 LTS と 2021 LTS との互換性に到達しました。次の目標は、2022 Tech Stream の Entities 1.0 とその互換パッケージで、今後プロダクションでサポートされる 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 は、アーリーアダプターが ECS から得た価値を制作に反映させることに重点を置いており、データ指向技術で解決できるすべての問題を解決するものではありません。このため、Entities 1.0 は GameObjects と互換性があり、Unity の既存の GameObject システムと ECS ベースのシステムを効率的に連携させるための専用 API とオーサリングワークフローを含んでいます。これにより、既存のUnityのパイプラインと専門知識を活用しながら、解決することがよく知られている問題に対してECSの価値を活用することで、ゲームを構築する際の大きな柔軟性を得ることができます。

Entities 1.0で制作用に提供し始めた価値を紹介します。

  • アダプティブ・ゲーム・アーキテクチャ:常に変化するゲームプレイの要件に適応するECSゲームコードアーキテクチャの作成と使用を容易にする。

  • 統合されたワークフロー:EditorとBakingワークフローの統合により、GameObjectsとの互換性を確保し、既存のUnityシステムとチームのUnityの専門知識を活用することができます。

  • コントロールと予測可能性:各プラットフォームの機能と制約に合わせてクライアントまたはサーバーのランタイムを最適化することにより、要求の厳しいゲームを最も幅広いデバイスにパブリッシュできます。

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

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

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

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

このビジョンを現実のものとするため、今年もDOTSアーリーアダプターの制作ストーリーをご紹介する準備を進めています。これらのストーリーは、なぜこれらの技術が選ばれたのか、どのような問題解決を目指したのか、そしてその選択に伴う課題を明らかにするものです。

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

冒頭で述べたように、DOTSのロードマップのページでは、次のマイルストーンの範囲について、より完全で詳細な見解を得ることができます。

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

実験的な Entities 0.51 のリリース、Entities 1.0 に向けて定期的に更新されるロードマップ、フォーラムでの頻繁なコミュニケーション、そして DOTS のアーリーアダプタからの製品ストーリーと、これらの長年の努力が具体的な成果として現れることに興奮を覚えていることでしょう。DOTS の開発チームは、お客様の野心的なプロジェクトに必要なソリューションを提供するため、日々努力を重ねています。

いつものように、このスレッドでご意見をお聞かせください。

ローラン

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