Позволяет опытным создателям Unity создавать более амбициозные игры
Unity используется в большинстве игр на рынке, многие из которых не нуждаются в ECS для создания. ECS для Unity - это то, что нужно опытным создателям Unity, которым нужен дополнительный контроль и детерминизм для создания более амбициозных игр.
ECS для Unity предлагает оптимизированные рабочие процессы и привычный опыт создания в редакторе Unity, совместимый с экосистемами GameObjects. Создатели могут использовать имеющийся опыт и активы Unity, чтобы сосредоточиться на создании амбициозных игр.
Игровой код на базе ECS помогает командам разработчиков быстро адаптировать важные изменения в геймплее, избавляя их от большинства рефакторингов, которые были бы необходимы при использовании объектно-ориентированных архитектур.
ECS для Unity обеспечивает контроль памяти и детерминизм, создавая возможности оптимизации в масштабе и новые возможности игрового кода, основанные на детерминизме. ECS for Unity - это пакет на C#, распространяемый с исходным кодом, позволяющий пользователям изучать, отлаживать и расширять его.
Игровой код, основанный на архитектурном паттерне ECS, может избежать недостатков объектно-ориентированного программирования с помощью GameObjects. А благодаря использованию игрового кода на базе ECS, компилятора Burst и системы заданий C# команды разработчиков могут максимально эффективно использовать аппаратные ресурсы целевой платформы на уровне памяти и процессора.
ECS для Unity - это эффективный конвейер данных, который обеспечивает потоковую передачу и рендеринг сложных, масштабных игровых процессов с учетом ограничений по памяти и вычислительным ресурсам устройств от низкого до высокого класса.
Код моделирования, основанный на архитектурном шаблоне ECS, может масштабироваться до беспрецедентного количества объектов и обеспечивать детерминизм. Для сложных проектов, нуждающихся в проверенном на производстве физическом движке класса AAA, ECS for Unity поддерживает Havok Physics for Unity, обеспечивая детерминизм и контроль для масштабирования сложных симуляций.
Используя ECS, пользователи могут синхронизировать больше данных по сети, поддерживать больше игроков, создавать игры, сильно зависящие от отката и детерминизма, снижать риск разработки и сокращать время итераций. ECS для Unity поставляется с библиотекой Netcode, авторизованной на сервере.
Чтобы узнать больше о том, как создавать амбициозные многопользовательские игры с помощью ECS для Unity и Unity Gaming Services (UGS), ознакомьтесь с примером многопользовательского экшена от третьего лица, который поддерживает схватки 64 и более игроков.
Образец гонок Multiplayer, демонстрирующий реализацию клиент-серверной архитектуры с предсказанием, интерполяцией и компенсацией задержки на стороне клиента.
Ознакомьтесь с самоучителями, видеороликами и примерами для изучения и использования ECS для Unity, включая Entities, Collections, Burst, Mathematics и C# Job System.
Узнайте, как ECS для Unity помогла Ramen VR масштабировать игровой процесс для Zenith: The Last City, VR MMO; а также о том, как Electric Square использовала ECS для достижения детерминированного геймплея для QA, контуров проектирования и потоковой передачи данных в Detonation Racing, стремительной гоночной игре для Apple Arcade.
Узнайте, как Stunlock Studios использовала ECS при разработке V Rising, многопользовательской игры на выживание с открытым миром, включая создание мира в редакторе с помощью пользовательских визуальных сценариев и масштабируемую потоковую передачу данных по открытому миру.
Узнайте, как компания Kasedo Games использовала ECS для Unity, чтобы обеспечить мощную симуляцию NPC в IXION, игре, посвященной строительству городов, выживанию и исследованию космоса.
Ознакомьтесь с некоторыми ресурсами, которые помогут вам начать работу с DOTS и узнать о фундаментальных концепциях дизайна, ориентированного на данные.