Ambient, ігровий движок для кількох гравців з відкритим кодом

Ambient

Ambient — це середовище виконання для створення високопродуктивних багатокористувацьких ігор і 3D-додатків на базі WebAssembly, Rust і WebGPU.

Після року розробки сe оприлюднив перший випуск нового ігрового движка з відкритим кодом Навколишнє. Двигун забезпечує середовище виконання для створення багатокористувацьких ігор і 3D-додатків які скомпільовані в представлення WebAssembly і використовують API WebGPU для відтворення.

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

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

Про Ambient

З характеристик, які виділяються з Ambient, згадується таке має прозору підтримку мереж. Механізм поєднує в собі функції клієнта та сервера, надає всі необхідні компоненти для створення логіки клієнта та сервера та автоматично синхронізує стан сервера на клієнтах.

Також згадується, що загальна модель даних використовується на стороні клієнта та сервера, що полегшує передачу коду між серверною частиною та зовнішньою частиною. Він запускає кожен модуль у власному ізольованому середовищі, щоб обмежити вплив ненадійного коду, а збій одного модуля не призводить до збою всієї програми.

Ембієнт, сВін має орієнтовану на дані архітектуру, тим самим надаючи модель даних на основі системи компонентів, якими може маніпулювати кожен WASM. Використання шаблону проектування ECS (Entity Component System).

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

Можливість створювати модулі середовища на будь-якій мові програмування, яка компілюється до WebAssembly (поки що підтримується лише Rust), одночасно генеруючи універсальні виконувані вихідні файли, може працювати в Windows, macOS і Linux і працювати як клієнт і як сервер.

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

Серед інших функцій, які відрізняються від Ambient:

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

Нарешті, для тих, хто хоче дізнатися більше про це, вони повинні знати, що код написаний на Rust і є таким поширюється за ліцензією MIT.


Залиште свій коментар

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

*

*

  1. Відповідальний за дані: AB Internet Networks 2008 SL
  2. Призначення даних: Контроль спаму, управління коментарями.
  3. Легітимація: Ваша згода
  4. Передача даних: Дані не передаватимуться третім особам, за винятком юридичних зобов’язань.
  5. Зберігання даних: База даних, розміщена в мережі Occentus Networks (ЄС)
  6. Права: Ви можете будь-коли обмежити, відновити та видалити свою інформацію.