Kilka dni temu ogłoszono uruchomienie „Ambient”, który to uniwersalne środowisko wykonawcze 3D, kompatybilne z dowolnym językiem, który kompiluje/uruchamia w WebAssembly. Ambient został zaprojektowany, aby ułatwić tworzenie i wdrażanie bogatych światów i doświadczeń dla wielu graczy.
Silnik na począteke ma na celu stworzenie uniwersalnego środowiska uruchomieniowego obsługujący 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.
Po ponad roku prac rozwojowych z przyjemnością ogłaszamy wersję 0.1 Ambient, naszego środowiska uruchomieniowego gier wieloosobowych typu open source zbudowanego przy użyciu Rust 🦀!
O Ambiencie »
Twórcy wspominają o tym obecnie istnieje wiele silników gier, które optymalizują tworzenie gier dla jednego gracza, ale niewiele z nich twierdzi, że ułatwia grę wieloosobową.
Byliśmy ciekawi: co można by zbudować, gdyby tryb wieloosobowy był równie łatwy w użyciu, jak tryb dla pojedynczego gracza? Jakiego rodzaju niezwykłe doświadczenia, z nowymi i interesującymi interakcjami, ludzie mogliby sobie wyobrazić po uwolnieniu się od subtelnych szczegółów networkingu?
Ambient to początek naszej odpowiedzi na te pytania: środowisko uruchomieniowe zaprojektowane, aby umożliwić programistom wszelkiego rodzaju tworzenie i udostępnianie doświadczeń, które chcą tworzyć. Jednak problem nie polega tylko na prawidłowej komunikacji klient-serwer.
Ambient to darmowy silnik gier typu open source (na licencji MIT), a jego twórcy wspominają, że jednym z ich celów jest ustanowienie standardu tworzenia gier wieloosobowych.
Jako firma planujemy dostarczać usługi o wartości dodanej dla środowiska uruchomieniowego, na którym planujemy zarabiać (w tym hosting serwerów i zasobów), ale samo środowisko wykonawcze będzie bezpłatne i otwarte na zawsze. Jako użytkownik runtime zawsze będziesz mógł wybrać, z których naszych usług skorzystasz, a które zdecydujesz się wdrożyć samodzielnie.
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.
Ambient został zaprojektowany od podstawaby umożliwić doświadczenia sieciowe, ponieważ 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.
Ambient jest oparty na WebAssembly, co pozwoli ci pisać kod w dowolnym języku, który kompiluje się do WASM. Obecnie obsługiwany jest tylko Rust, ale wspomniano, że w przyszłości planowane jest wsparcie większej liczby języków.
Kolejną cechą Ambient jest to jest zbudowany w oparciu o projekt oparty na danych w którym wszystkie dane są przechowywane i wchodzą w interakcje za pośrednictwem systemu komponentów encji wspieranych przez scentralizowaną bazę danych encji na serwerze.
Ta baza danych jest automatycznie replikowana dla każdego klienta, a każdy klient ma możliwość rozwijania i rozszerzania lokalnych jednostek stanowych. Korzystanie z ECS ułatwia sprawdzanie stanu aplikacji i zapewnia doskonałą wydajność i skalowalność.
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.
Pobierz i uzyskaj Ambient
Warto zaznaczyć, że Ambient ma jeden plik wykonywalny które można pobrać dla Windows x64, Linux x64 lub macOS ARM i które można również skompilować, jeśli użytkownik woli to zrobić samodzielnie.
Ten plik wykonywalny może działać jako serwer lub dołączyć do serwera jako klient graficzny. Możesz go dostać z następujący link.