Ambient, silnik gry wieloosobowej o otwartym kodzie źródłowym

Rozproszone

Ambient to środowisko uruchomieniowe do tworzenia wysokowydajnych gier wieloosobowych i aplikacji 3D, obsługiwane przez WebAssembly, Rust i WebGPU.

Po roku rozwoju se zaprezentował pierwszą wersję nowego silnika gier typu open source Otoczenia. Silnik zapewnia środowisko uruchomieniowe do tworzenia gier wieloosobowych i aplikacji 3D które są kompilowane w reprezentację WebAssembly i używają interfejsu API WebGPU do renderowania.

Kluczowym celem w tworzeniu Ambient jest zapewnienie narzędzi, które upraszczają tworzenie gier wieloosobowych i sprawiają, że ich tworzenie nie jest trudniejsze niż projekty dla jednego gracza.

Silnik początkowo ma na celu stworzenie uniwersalnego środowiska uruchomieniowego, które wspiera tworzenie gier i aplikacji w dowolnym języku programowania, dla którego możliwa jest kompilacja do pośredniego kodu WebAssembly. Jednak pierwsza wersja obsługuje jak dotąd tylko rozwój Rusta.

O Ambiencie

O cechach, które wyróżniają się od Ambient, wspomina się o tym ma przejrzyste wsparcie dla sieci. Silnik łączy w sobie funkcje klienta i serwera, zapewnia wszystkie niezbędne komponenty do tworzenia logiki klienta i serwera oraz automatycznie synchronizuje stan serwera na klientach.

Wspomina się również o tym po stronie klienta i serwera używany jest wspólny model danych, co ułatwia przenoszenie kodu między backendem a frontendem. Uruchamia każdy moduł we własnym odizolowanym środowisku, aby ograniczyć wpływ niezaufanego kodu, a awaria jednego modułu nie powoduje awarii całej aplikacji.

otoczenia, okMa architekturę zorientowaną na dane, zapewniając w ten sposób model danych oparty na systemie komponentów, którymi każdy WASM może manipulować. Wykorzystanie wzorca projektowego ECS (Entity Component System).

Oprócz tego również przechowuje dane wszystkich komponentów w scentralizowanej bazie danych na serwerzer, którego stan jest automatycznie replikowany do klienta, co z kolei może rozszerzyć dane uwzględniając stan lokalny.

Możliwość tworzenia modułów Ambient w dowolnym języku programowania, który kompiluje się do WebAssembly (do tej pory obsługiwany jest tylko Rust), przy jednoczesnym generowaniu uniwersalnych wykonywalnych plików wyjściowych, może działać w systemach Windows, macOS i Linux oraz działać jako klient i serwer.

Z drugiej strony jest to również podkreślanema możliwość definiowania własnych składowych i „pojęć” (kolekcje komponentów). Projekty wykorzystujące te same komponenty i koncepcje zapewniają przenośność i współużytkowanie danych, nawet jeśli dane nie są specjalnie zaprojektowane do użytku w konkretnych projektach.

Z innych funkcji wyróżniających się od Ambient:

  • Obsługa kompilowania zasobów w różnych formatach, w tym „.glb” i „.fbx”. Możliwość strumieniowego przesyłania zasobów przez sieć: klient może uzyskać wszystkie niezbędne zasoby podczas łączenia się z serwerem (możesz rozpocząć grę bez czekania na załadowanie wszystkich zasobów).
  • Obsługiwane są formaty modeli FBX i glTF, różne formaty dźwięku i obrazu.
  • Zaawansowany system renderowania, który wykorzystuje GPU do przyspieszania renderowania i obsługuje poziom szczegółowości i przycinanie po stronie GPU.
  • Domyślne użycie renderowania opartego na fizyce (PBR), obsługa animacji i kaskadowych map cieni.
  • Wsparcie symulacji procesów fizycznych w oparciu o silnik PhysX.
  • Reagujący system budowania interfejsu użytkownika.
  • Ujednolicony system wejścia niezależny od aktualnej platformy.
  • Nagłośnienie przestrzenne z filtrami wtykowymi.
  • Rozwój jest wciąż w fazie alfa. Z funkcji, które nie zostały jeszcze zaimplementowane, możemy zwrócić uwagę na możliwość uruchamiania w sieci, klienckie API, API do zarządzania wielowątkowością, bibliotekę do tworzenia interfejsu użytkownika, API do korzystania z własnych shaderów, obsługę dźwięku, ładowanie i zapisz
  • Komponenty ECS (Entity Component System), przeładowywanie zasobów w locie, automatyczne skalowanie serwera, edytor do współtworzenia map i scen gry.

Wreszcie, ci, którzy chcą dowiedzieć się więcej na ten temat, powinni wiedzieć, że kod jest napisany w Rust i jest rozpowszechniane na licencji MIT.


Zostaw swój komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

*

*

  1. Odpowiedzialny za dane: AB Internet Networks 2008 SL
  2. Cel danych: kontrola spamu, zarządzanie komentarzami.
  3. Legitymacja: Twoja zgoda
  4. Przekazywanie danych: Dane nie będą przekazywane stronom trzecim, z wyjątkiem obowiązku prawnego.
  5. Przechowywanie danych: baza danych hostowana przez Occentus Networks (UE)
  6. Prawa: w dowolnym momencie możesz ograniczyć, odzyskać i usunąć swoje dane.