Прво издање отвореног кода за игру за више играча Амбиент

Након годину дана развоја, представљено је прво издање новог опен соурце гаме енгине-а Амбиент. Мотор обезбеђује време извођења за креирање игара за више играча и 3Д апликација које се компајлирају у ВебАссембли репрезентацију и користе ВебГПУ АПИ за рендеровање. Код је написан на Руст-у и дистрибуира се под МИТ лиценцом.

Кључни циљ у развоју Амбиент-а је да обезбеди алате који поједностављују развој игара за више играча и чине њихово креирање не тежим од пројеката за једног играча. Мотор је иницијално усмерен на стварање универзалног рунтиме-а који подржава развој игара и апликација на свим програмским језицима за које је могућа компилација у ВебАссембли међукод. Међутим, прво издање за сада подржава само развој Руста.

Кључне карактеристике новог мотора:

  • Транспарентна подршка за умрежавање. Машина комбинује функције клијента и сервера, обезбеђује све неопходне компоненте за креирање клијентске и серверске логике и аутоматски синхронизује стање сервера међу клијентима. Уобичајени модел података се користи на страни клијента и сервера, што поједностављује пренос кода између бацкенд-а и фронтенд-а.
  • Покретање сваког модула у сопственом изолованом окружењу, омогућавајући вам да ограничите утицај непоузданог кода. Рушење модула не руши целу апликацију.
  • Архитектура оријентисана на податке. Обезбеђивање модела података заснованог на систему компоненти којима се може манипулисати сваки ВАСМ модул. Коришћење ЕЦС (Ентити Цомпонент Систем) шаблона дизајна. Чување података свих компоненти у централизованој бази података на серверу, чије се стање аутоматски реплицира на клијента, који са своје стране може проширити податке узимајући у обзир локално стање.
  • Могућност креирања амбијенталних модула у било ком програмском језику који се компајлира у ВебАссембли (за сада је подржан само Руст).
  • Генерисање универзалних извршних датотека као излаза који могу да раде на Виндовс-у, мацОС-у и Линук-у, а функционишу и као клијент и као сервер.
  • Способност да дефинишете сопствене компоненте и „концепте“ (збирке компоненти). Пројекти који користе исте компоненте и концепте омогућавају преносивост и дељење података, чак и ако подаци нису посебно дизајнирани за употребу у одређеним пројектима.
  • Подршка за компајлирање ресурса у различитим форматима, укључујући .глб и .фбк. Могућност стримовања преузимања ресурса преко мреже - клијент може добити све потребне ресурсе приликом повезивања са сервером (можете почети да играте без чекања да се сви ресурси учитају). Подржава ФБКС и глТФ формате модела, различите аудио и сликовне формате.
  • Напредни систем рендеровања који користи ГПУ да убрза рендеровање и подржава исецање на страни ГПУ-а и промене нивоа детаља. Подразумевано користи физички засновано приказивање (ПБР), подржава анимацију и каскадне мапе сенки.
  • Подршка за симулацију физичких процеса заснованих на ПхисКс енгине-у.
  • Систем за изградњу корисничких интерфејса сличан Реацт-у.
  • Јединствени систем уноса који је независан од тренутне платформе.
  • Просторно озвучење са утичним филтерима.

Развој је још увек у фази алфа верзије. Међу још не имплементираним функционалностима можемо истаћи могућност рада на вебу, клијентски АПИ, АПИ за управљање вишенитношћу, библиотеку за креирање корисничког интерфејса, АПИ за коришћење сопствених сејдера, звучну подршку, учитавање и чување ЕЦС (Ентити Цомпонент Систем) компоненте, поновно учитавање ресурса у ходу, аутоматско скалирање сервера, уредник за колаборативно креирање мапа игара и сцена игре.



Извор: опеннет.ру

Додај коментар