Ambient, двигател за мултиплейър игра с отворен код

Околен

Ambient е среда за изпълнение за създаване на високопроизводителни мултиплейър игри и 3D приложения, захранвани от WebAssembly, Rust и WebGPU.

След година на развитие, se представи първото издание на новия двигател за игри с отворен код Амбиент. Двигателят осигурява време за изпълнение за създаване на игри за много играчи и 3D приложения които са компилирани в представяне на WebAssembly и използват API на WebGPU за изобразяване.

Ключова цел при разработването на Ambient е да се осигурят инструменти, които опростяват разработването на мултиплейър игри и правят създаването им не по-трудно от проектите за един играч.

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

Относно Ambient

От характеристиките, които се открояват от Ambient, се споменава това има прозрачна поддръжка за работа в мрежа. Механизмът съчетава функциите на клиент и сървър, осигурява всички необходими компоненти за създаване на клиентска и сървърна логика и автоматично синхронизира състоянието на сървъра на клиентите.

Също така се споменава, че общ модел на данни се използва от страна на клиента и сървъра, което улеснява прехвърлянето на код между бекенда и предния край. Той изпълнява всеки модул в собствена изолирана среда, за да ограничи въздействието на ненадежден код, а сривът на един модул не води до срив на цялото приложение.

Амбиент, cИма ориентирана към данни архитектура, като по този начин предоставя модел на данни, базиран на система от компоненти, които всеки WASM може да манипулира. Използване на шаблона за проектиране ECS (Entity Component System).

В допълнение към това също съхранява данните на всички компоненти в централизирана база данни на сървъраr, чието състояние се репликира автоматично на клиента, който от своя страна може да разшири данните, като вземе предвид локалното състояние.

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

От друга страна се подчертава също, чеима способността да дефинира свои собствени компоненти и „концепции“ (колекции от компоненти). Проекти, които използват едни и същи компоненти и концепции, гарантират, че данните са преносими и споделени, дори ако данните не са специално проектирани за използване в конкретни проекти.

От другите функции, които се отличават от Ambient:

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

И накрая, за тези, които се интересуват да научат повече за него, те трябва да знаят, че кодът е написан на Rust и е разпространявани под лиценза на MIT.


Оставете вашия коментар

Вашият имейл адрес няма да бъде публикуван. Задължителните полета са отбелязани с *

*

*

  1. Отговорник за данните: AB Internet Networks 2008 SL
  2. Предназначение на данните: Контрол на СПАМ, управление на коментари.
  3. Легитимация: Вашето съгласие
  4. Съобщаване на данните: Данните няма да бъдат съобщени на трети страни, освен по законово задължение.
  5. Съхранение на данни: База данни, хоствана от Occentus Networks (ЕС)
  6. Права: По всяко време можете да ограничите, възстановите и изтриете информацията си.