Несколько дней назад было объявлено о запуске «Ambient», который — это универсальная 3D-среда выполнения, совместимая с любым языком, который компилируется/запускается на WebAssembly. Ambient разработан, чтобы упростить создание и развертывание многопользовательских миров и событий.
Изначально двигательe стремится создать универсальную среду выполнения который поддерживает разработку игр и приложений на любом языке программирования, для которого возможна компиляция в промежуточный код WebAssembly. Однако первая версия пока поддерживает только разработку на Rust.
После года разработки мы рады представить версию 0.1 Ambient, нашей среды выполнения многопользовательских игр с открытым исходным кодом, созданной на Rust 🦀!
Об эмбиенте»
Разработчики отмечают, что в настоящее время существует множество игровых движков, которые оптимизируют создание однопользовательских игр, но лишь немногие претендуют на то, чтобы упростить многопользовательские игры..
Нам было любопытно: что можно было бы построить, если бы мультиплеер был таким же простым в использовании, как и одиночный? Какие экстраординарные впечатления, с новыми и интересными взаимодействиями, могли бы люди вообразить, освободившись от более тонких деталей нетворкинга?
Ambient — это начало нашего ответа на эти вопросы: среда выполнения, позволяющая разработчикам всех мастей создавать и делиться опытом, который они хотят создать. Однако проблема заключается не только в правильной организации связи клиент-сервер.
Ambient — это бесплатный игровой движок с открытым исходным кодом (под лицензией MIT), и его разработчики упоминают, что одной из их целей является установление стандарта для создания многопользовательских игр.
Как компания, наш план состоит в том, чтобы предоставлять дополнительные услуги для среды выполнения, которую мы планируем монетизировать (включая размещение серверов и ресурсов), но сама среда выполнения всегда будет бесплатной и с открытым исходным кодом. Как пользователь среды выполнения вы всегда сможете выбрать, какими из наших услуг воспользоваться, а какие реализовать самостоятельно.
Из характеристик, которые выделяются у Ambient, упоминается, что имеет прозрачную поддержку сети. Движок сочетает в себе функции клиента и сервера, предоставляет все необходимые компоненты для создания клиентской и серверной логики и автоматически синхронизирует состояние сервера на клиентах.
Эмбиент был разработан с нулячтобы разрешить работу в сети, поскольку на стороне клиента и сервера используется общая модель данных, что упрощает перенос кода между серверной частью и интерфейсом. Он запускает каждый модуль в своей собственной изолированной среде, чтобы ограничить влияние ненадежного кода, а сбой одного модуля не приводит к сбою всего приложения.
Ambient основан на WebAssembly, что позволит вам писать код на любом языке, который компилируется в WASM. В настоящее время поддерживается только Rust, но упоминается, что в будущем планируется поддержка большего количества языков.
Еще одна особенность Ambient заключается в том, что построен на основе данных в котором все данные хранятся и взаимодействуют через систему компонентов сущностей, поддерживаемую централизованной базой данных сущностей на сервере.
Эта база данных автоматически реплицируется для каждого клиента, и каждый клиент может увеличивать и расширять локальные объекты с отслеживанием состояния. Использование ECS упрощает просмотр состояния вашего приложения и обеспечивает превосходную производительность и масштабируемость.
Наконец, для тех, кто хочет узнать об этом больше, они должны знать, что код написан на Rust и распространяется по лицензии MIT.
Скачайте и получите Ambient
Стоит отметить, что Ambient имеет один исполняемый файл который можно загрузить для Windows x64, Linux x64 или macOS ARM, а также его можно скомпилировать, если пользователь предпочитает делать это самостоятельно.
Этот исполняемый файл может действовать как сервер или может присоединяться к серверу в качестве графического клиента. Вы можете получить его из по следующей ссылке.