Ambient açıq multiplayer oyun mühərrikinin ilk buraxılışı

Bir illik inkişafdan sonra yeni açıq mənbəli oyun mühərriki Ambient-in ilk buraxılışı təqdim olunur. Mühərrik çox oyunçu oyunları və WebAssembly təqdimatını tərtib edən və göstərmə üçün WebGPU API istifadə edən 3D proqramlar yaratmaq üçün işləmə müddətini təmin edir. Kod Rustda yazılmışdır və MIT lisenziyası altında paylanır.

Ambient-in inkişafında əsas məqsəd multiplayer oyunlarının inkişafını sadələşdirən və onların yaradılmasını tək oyunçu layihələrindən çətinləşdirən alətlər təqdim etməkdir. Mühərrik əvvəlcə WebAssembly aralıq koduna kompilyasiya edilə bilən istənilən proqramlaşdırma dillərində oyunların və proqramların işlənib hazırlanmasını dəstəkləyən universal iş vaxtı yaratmağa yönəlib. Bununla belə, ilk buraxılış hələlik yalnız Rust inkişafını dəstəkləyir.

Yeni mühərrikin əsas xüsusiyyətləri:

  • Şəffaf şəbəkə dəstəyi. Mühərrik müştəri və server funksiyalarını birləşdirir, müştəri və server məntiqini yaratmaq üçün bütün zəruri komponentləri təmin edir və server vəziyyətini müştərilər arasında avtomatik sinxronlaşdırır. Müştəri və server tərəflərində ümumi məlumat modeli istifadə olunur ki, bu da arxa və ön hissə arasında kodun ötürülməsini asanlaşdırır.
  • Etibarsız kodun təsirini məhdudlaşdırmağa imkan verən hər modulu öz təcrid olunmuş mühitində işlətmək. Modulun qəzaya uğraması bütün proqramın çökməsinə səbəb olmur.
  • Məlumat yönümlü arxitektura. Hər bir WASM modulu tərəfindən idarə oluna bilən komponentlər sisteminə əsaslanan məlumat modelinin təmin edilməsi. ECS (Entity Component System) dizayn nümunəsindən istifadə. Bütün komponentlərin məlumatlarının serverdə mərkəzləşdirilmiş verilənlər bazasında saxlanması, vəziyyəti avtomatik olaraq müştəriyə təkrarlanır, bu da yerli vəziyyəti nəzərə alaraq məlumatları genişləndirə bilər.
  • WebAssembly-ə tərtib edən istənilən proqramlaşdırma dilində Ambient modulları yaratmaq imkanı (hazırda yalnız Rust dəstəklənir).
  • Windows, macOS və Linux-da işləyə bilən və həm müştəri, həm də server kimi fəaliyyət göstərən çıxış kimi universal icra edilə bilən faylların yaradılması.
  • Öz komponentlərinizi və “konsepsiyalarınızı” (komponentlər toplusu) müəyyən etmək bacarığı. Eyni komponentləri və konsepsiyaları istifadə edən layihələr, verilənlər xüsusi layihələrdə istifadə üçün nəzərdə tutulmasa belə, daşınma və məlumat mübadiləsini təmin edir.
  • .glb və .fbx daxil olmaqla müxtəlif formatlarda resursların tərtib edilməsinə dəstək. Şəbəkə üzərindən resursların axınla endirilməsi imkanı - müştəri serverə qoşulduqda bütün lazımi resursları ala bilər (bütün resursların yüklənməsini gözləmədən oynamağa başlaya bilərsiniz). FBX və glTF model formatlarını, müxtəlif audio və şəkil formatlarını dəstəkləyir.
  • Göstərilməni sürətləndirmək üçün GPU-dan istifadə edən və GPU tərəfdən kəsməni və detal səviyyəsinin dəyişməsini dəstəkləyən təkmil göstərmə sistemi. Defolt olaraq fiziki əsaslı göstərmə (PBR) istifadə edir, animasiya və şəlaləli kölgə xəritələrini dəstəkləyir.
  • PhysX mühərriki əsasında fiziki proseslərin simulyasiyasına dəstək.
  • React-ə bənzər istifadəçi interfeysləri qurmaq üçün sistem.
  • Mövcud platformadan asılı olmayan vahid daxiletmə sistemi.
  • Plug-in filtrləri ilə məkan səs sistemi.

İnkişaf hələ alfa versiyası mərhələsindədir. Hələ tətbiq edilməmiş funksionallıqlar arasında İnternetdə işləmək qabiliyyətini, müştəri API-sini, çox iş parçacığını idarə etmək üçün API-ni, istifadəçi interfeysi yaratmaq üçün kitabxananı, öz şaderlərinizdən istifadə etmək üçün API-ni, səs dəstəyini, yükləmə və qənaəti qeyd edə bilərik. ECS (Entity Component System) komponentləri, resursların tez yüklənməsi, avtomatik server miqyası, oyun xəritələrinin və oyun səhnələrinin birgə yaradılması üçün redaktor.



Mənbə: opennet.ru

Добавить комментарий