Ambient — многопользовательский игровой движок с открытым исходным кодом.

окружающий

Ambient — это среда выполнения для создания высокопроизводительных многопользовательских игр и 3D-приложений на базе WebAssembly, Rust и WebGPU.

После года разработки, сe представила первый релиз нового игрового движка с открытым исходным кодом Эмбиент. Двигатель предоставляет среду выполнения для создания многопользовательских игр и 3D-приложений которые скомпилированы в представление WebAssembly и используют API WebGPU для рендеринга.

Ключевая цель при разработке Ambient — предоставить инструменты, упрощающие разработку многопользовательских игр и делающие их создание не более сложным, чем однопользовательские проекты.

Движок изначально нацелен на создание универсальной среды выполнения, поддерживающей разработку игр и приложений на любом языке программирования, для которого возможна компиляция в промежуточный код WebAssembly. Однако первая версия пока поддерживает только разработку на Rust.

Об окружающей среде

Из характеристик, которые выделяются у Ambient, упоминается, что имеет прозрачную поддержку сети. Движок сочетает в себе функции клиента и сервера, предоставляет все необходимые компоненты для создания клиентской и серверной логики и автоматически синхронизирует состояние сервера на клиентах.

Также упоминается, что на стороне клиента и сервера используется общая модель данных, что упрощает перенос кода между серверной частью и интерфейсом. Он запускает каждый модуль в своей собственной изолированной среде, чтобы ограничить влияние ненадежного кода, а сбой одного модуля не приводит к сбою всего приложения.

Окружающая среда, сОн имеет ориентированную на данные архитектуру, тем самым обеспечивая модель данных, основанную на системе компонентов, которыми может манипулировать каждый WASM. Использование шаблона проектирования ECS (система компонентов объектов).

Кроме того, также хранит данные всех компонентов в централизованной базе данных на сервереr, состояние которого автоматически реплицируется на клиент, который, в свою очередь, может расширять данные с учетом локального состояния.

Возможность создавать модули Ambient на любом языке программирования, который компилируется в WebAssembly (пока поддерживается только Rust), при этом генерировать универсальные исполняемые выходные файлы, может работать в Windows, macOS и Linux, работать как клиент и как сервер.

С другой стороны, также подчеркивается, чтоимеет возможность определять свои собственные компоненты и «концепции» (наборы компонентов). Проекты, в которых используются одни и те же компоненты и концепции, обеспечивают переносимость и совместное использование данных, даже если данные не предназначены специально для использования в конкретных проектах.

Из других особенностей, которые выделяются из Ambient:

  • Поддержка компиляции ресурсов в разных форматах, включая ".glb" и ".fbx". Возможность потоковой передачи ресурсов по сети: клиент может получить все необходимые ресурсы при подключении к серверу (можно начать играть, не дожидаясь загрузки всех ресурсов).
  • Поддерживаются форматы моделей FBX и glTF, различные форматы звука и изображения.
  • Усовершенствованная система рендеринга, использующая GPU для ускорения рендеринга и поддерживающая LOD и отсечение на стороне GPU.
  • Использование физического рендеринга (PBR) по умолчанию, поддержка анимации и каскадных карт теней.
  • Поддержка моделирования физических процессов на основе движка PhysX.
  • React-подобная система построения пользовательского интерфейса.
  • Единая система входа, независимая от текущей платформы.
  • Пространственная звуковая система с подключаемыми фильтрами.
  • Разработка все еще находится в стадии альфа-тестирования. Из еще не реализованного функционала можно отметить возможность запуска в Web, клиентский API, API для управления многопоточностью, библиотеку для создания пользовательского интерфейса, API для использования собственных шейдеров, поддержку звука, загрузку и сохранить
  • Компоненты ECS (Entity Component System), перезагрузка ресурсов на лету, автоматическое масштабирование сервера, редактор для совместного создания игровых карт и игровых сцен.

Наконец, для тех, кто хочет узнать об этом больше, они должны знать, что код написан на Rust и распространяется по лицензии MIT.


Оставьте свой комментарий

Ваш электронный адрес не будет опубликован. Обязательные для заполнения поля помечены *

*

*

  1. Ответственный за данные: AB Internet Networks 2008 SL
  2. Назначение данных: контроль спама, управление комментариями.
  3. Легитимация: ваше согласие
  4. Передача данных: данные не будут переданы третьим лицам, кроме как по закону.
  5. Хранение данных: база данных, размещенная в Occentus Networks (ЕС)
  6. Права: в любое время вы можете ограничить, восстановить и удалить свою информацию.