1.9K Views
September 06, 24
スライド概要
【U/Day Tokyo 2024】
U/Day Tokyo 2024では 日本のゲームクリエイター、エンジニア、アーティストのために、Unity 6 に関する最新情報や開発ロードマップの紹介、グラフィックスやUI、DOTS、最適化などの各種技術の解説、Unity Muse や Unity Cloud といった Unity の最新製品・サービスのライブデモ、ゲームアプリのユーザー獲得やマネタイズの最新トレンドなどを、Unity Japan や Unity 本社のスタッフが講演します。
【講演内容】
・タイトル:DOTSでゲームの可能性を最大限に引き出す方法
・講演者:Ashley Alicea(シニアテクニカルプロダクトマネージャー)
・講演内容:このセッションでは、DOTS (Data-Oriented Tech Stack)およびECS (Entity Component System)を使用して、よりスケーラブルでパフォーマンスと柔軟性に優れたゲームを開発するための基礎を解説します。プロジェクトでDOTSの強みを活かすための基本的な考え方とともに、今後のDOTSの機能ロードマップについても共有します。
セッションの最後では、最新のDOTSマルチプレイヤーサンプルプロジェクトである”Megacity Metro”を取り上げ、クロスプラットフォームのマルチプレイヤーゲームを開発する際の参考例として紹介します。
リアルタイム3Dコンテンツを制作・運用するための世界的にリードするプラットフォームである「Unity」の日本国内における販売、サポート、コミュニティ活動、研究開発、教育支援を行っています。ゲーム開発者からアーティスト、建築家、自動車デザイナー、映画製作者など、さまざまなクリエイターがUnityを使い想像力を発揮しています。
DOTS enables creators to build more ambitious games
Data-Oriented Technology Stack (DOTS) Gameplay Physics Rendering … Entities Graphics, Netcode for Entities, Unity Physics, Havok Physics for Unity Entity Component System (ECS) Architectural Pattern Entities Package Scheduling C# Job System Compilation Burst Compiler
What is an Entity Component System?
Data-Oriented Tech Stack MonoBehaviour Transform Speed Health Entity Transform Speed Health Move( ) Move System TakeDamage( ) Execution Damage System Execution GameObjects ECS
Data-Oriented Tech Stack Move System Enemy Damage System Execution Transform Execution Speed Health Bullet Transform Speed Damage
DOTS ECS enables you to build more ambitious games ECS for Unity 2022 editor tools GameObject-compatible authoring workflows Sunblink Entertainment - HEROish Fully supported ECS foundation Streamlined ECS workflows Flexible game architecture ECS for Unity enables seasoned Unity creators to build more ambitious games Streamlined workflows and a familiar authoring experience in the Unity Editor, compatible with GameObject ecosystems. Empowering development teams by eliminating most of the refactoring that would have been necessary with object-oriented architectures.
DOTS ECS enables you to build more ambitious games Electric Square - Detonation Racing Lienzo - Aztech: Forgotten Gods Stunlock Studios - V Rising Control and determinism Fully utilize your target device Made for massive data streaming Providing memory control and determinism by design, creating optimization opportunities at scale, and new game code possibilities based on determinism. Helping development teams maximize the performance of target platform hardware resources at the memory and CPU level. Offering an efficient data pipeline that enables streaming and rendering of complex, large-scale game experiences.
DOTS ECS enables you to build more ambitious games Big Rook Games - Hostile Mars StickyLock Studios - Histera Ramen VR - Zenith: The Last City Unprecedented simulation scale Large multiplayer games Rich and lively open worlds Scale to an unprecedented number of entities and ensure determinism. Process large physics simulations with Unity Physics or Havok Physics for Unity. Synchronize more data over the network, build games highly reliant on rollback and determinism, support more players, reduce development risk, and decrease iteration time. Push the boundaries and size of rich, persistent, open world experiences.
Unity Gaming Services Playing games together is more engaging.
Unity Multiplayer solutions Flexible and extensible tools streamline every aspect of the multiplayer game development journey, from concepting and prototyping to launch and live operations.
Histera – StickyLock Studios *Built on Netcode for Entities
Universal Render Pipeline Complete Asset Redesign 128+ Players Unity Gaming Services Crossplay on Windows, Mac, and Mobile
Netcode for Entities ● Large number of players ○ Built on DOTS ECS ○ Large world with Physics
Netcode for Entities ● ● Large number of players ○ Built on DOTS ECS ○ Large world with Physics Competitive Action ○ Client prediction ○ Lag compensation
Netcode for Entities ● ● ● Large number of players ○ Built on DOTS ECS ○ Large world with Physics Competitive Action ○ Client prediction ○ Lag compensation Bandwidth friendly ○ Snapshots ○ Delta compression
Connect Matchmaker challenge
Connect Matchmaker challenge
Connect Matchmaker basics → → → → → → Latency Balance Efficiency Flexibility Security Experimentation
Connect Matchmaker quality of service latency (ms) jitter (ms) packet loss (%)
Connect After 10 seconds, The All players Players must must The Skill skill Difference difference of all be less than 50 be less than 100. Matchmaker balance Player A 221 Player B 238 Player D 262 Player C 310
Connect Multiplay Hosting
Connect Multiplay Hosting basics → Reliable connectivity → Hybrid scaling → Worldwide coverage → Battle-tested orchestration
Unity Gaming Services Today Unity Gaming Services ecosystem Multiplay Vivox Text KEEP ENGAGED PLAYERS Analytics & Player Engagement Accounts Player Management Game Overrides Leaderboards Moderation Understand your players, optimize gameplay, and boost engagement. Understand your players, optimize gameplay, and boost engagement. Push Notifications Content Management Analytics Authentication Vivox Voice SafeText SafeVoice Friends Cloud Code Remote Config Cloud Save Cloud Content Delivery Cloud Diagnostics Cloud Diagnostics Advanced IAP Game Economy Lobby Distributed Authority Safety Matchmaker Deliver a community streamlinedexperience. and safer community experience. Crash Reporting Relay CREATE SAFE COMMUNITIES Deliver a more streamlined and safer Social Multiplayer Bring your multiplayer vision to life. Communications BUILD MULTIPLAYER WORLDS
Future Plans
DOTS Roadmap → Entities and GameObjects Unification Consolidation of ECS workflows We're bringing GameObjects and Entities closer together to deliver data-oriented performance to all Unity projects. → Enabling open-world game creation ECS-based reworks of the Animation and Worldbuilding systems will enable more dynamic/scalable workflows, with unprecedented complexity at runtime. → Character and Vehicle Controllers The production-ready version of the ECS Character Controller is being prepared. We're also working on a robust controller for vehicles, enabling creators to easily build low-to-medium realism vehicles with ECS.
DOTS Roadmap → Unified Physics Backend Workflow Consolidation of physics workflows We're developing a unified authoring workflow that will allow you to switch your physics backend without needing to redo your project. → Enabling open-world game creation In the future, you'll be able to change the broadphase to operate incrementally using the PhysicsStepAuthoring and PhysicsStep Entities components. → Character and Vehicle Controllers We're also working on a new Collider.BakeTransform function that provides the ability to arbitrarily scale or otherwise transform any collider at runtime efficiently.
DOTS Roadmap Improving parallel scheduling and configuration → Out-of-the-box parallelism We’re investigating out-of-the-box parallelism of DOTS by enabling systems to run in parallel, whether or not they schedule jobs internally. → Optimizing dependencies between jobs We’re also investigating removing unnecessary dependencies between jobs coming from ECS systems which previously required manual intervention. → Improved job configuration controls We’re working on expanding the priority and control of how jobs run to prevent common issues, like unintentionally waiting on long-running jobs on the main thread.
DOTS Roadmap Unity Profiler improvements → New Profiler view We're developing a new Profiler view that will help you understand where your game is waiting, how job dependencies interact in the Job System, and the flow of your game’s data between ECS systems and jobs when using Entities.
DOTS Roadmap Improving Entities Graphics performance → DOTS deformation We are looking at is the support of DOTS deformation in order to provide a mesh deformation pipeline that is performant and scalable → Improved support and performance We’re working on improving the GPU performance (and current workflow) for a better, more seamless integration into the engine/SRPs. There will also be broader material support and URP support for Motion vectors.
DOTS Roadmap New education content → New e-book, samples, and more Extensives resources that explain the benefits and features of DOTS are in development. Upcoming samples will highlight additional Unity Physics use cases and a large-scale space battle simulation.
DOTS Roadmap Enabling cross-play multiplayer games → Multiplayer center → Multiplayer Play Mode → Dedicated Server optimizations → Improved deployment workflows → Multiplayer Services SDK → Netcode for GameObjects: Distributed → authority → Netcode Unification Our netcode tech stack is being simplified into a single solution that will deliver all the features you need regardless of gameplay style and requirements.
DOTS Get started with DOTS! Join the conversation forum.unity.com -> ECS for Unity discord.gg/unity Share your feedback on our roadmap DOTS: bit.ly/UnityDOTSRM Multiplayer: bit.ly/UnityMPRM Get the latest tutorials and learning samples bit.ly/DOTSJP-LRN bit.ly/MegacityMetro
Thank you → unity.com/dots