Ambient ачык булактуу көп оюнчу оюн кыймылдаткычынын биринчи чыгарылышы

Бир жылдык иштеп чыгуудан кийин, Ambient жаңы ачык булактуу оюн кыймылдаткычынын биринчи релизи көрсөтүлдү. Кыймылдаткыч көп оюнчу оюндарын жана 3D тиркемелерин түзүү үчүн иштөө убактысын камсыз кылат, алар WebAssembly өкүлчүлүгүнө компиляцияланат жана көрсөтүү үчүн WebGPU API колдонушат. Код Rust тилинде жазылган жана MIT лицензиясы боюнча таратылат.

Ambientти өнүктүрүүдөгү негизги максат – көп оюнчу оюндарын өнүктүрүүнү жөнөкөйлөтүүчү жана аларды түзүүнү бир оюнчунун долбоорлоруна караганда кыйын кылбаган куралдар менен камсыз кылуу. Мотор башында WebAssembly аралык кодуна компиляциялоо мүмкүн болгон каалаган программалоо тилдеринде оюндарды жана тиркемелерди иштеп чыгууну колдогон универсалдуу иштөө убактысын түзүүгө багытталган. Бирок, биринчи релиз азырынча Rust өнүктүрүүнү гана колдойт.

Жаңы кыймылдаткычтын негизги өзгөчөлүктөрү:

  • Ачык тармактык колдоо. Кыймылдаткыч кардар жана сервер функцияларын айкалыштырат, кардар жана сервер логикасын түзүү үчүн бардык керектүү компоненттерди камсыз кылат жана сервердин абалын кардарлардын ортосунда автоматтык түрдө синхронизациялайт. Кардар жана сервер тарабында жалпы маалымат модели колдонулат, бул коддун сервер менен фронттун ортосунда өткөрүлүшүн жеңилдетет.
  • Ар бир модулду өзүнчө обочолонгон чөйрөдө иштетүү, ишенимсиз коддун таасирин чектөөгө мүмкүндүк берет. Модулдун бузулушу бүтүндөй тиркеменин бузулушуна алып келбейт.
  • Берилиштерге багытталган архитектура. Ар бир WASM модулу тарабынан башкарылуучу компоненттердин системасына негизделген маалымат моделин берүү. ECS (Entity Component System) дизайн үлгүсүн колдонуу. Бардык компоненттердин маалыматтарын серверде борборлоштурулган маалымат базасында сактоо, анын абалы кардарга автоматтык түрдө кайталанат, ал өз тарабында жергиликтүү абалды эске алуу менен маалыматтарды кеңейте алат.
  • WebAssembly'ге компиляцияланган каалаган программалоо тилинде Ambient модулдарын түзүү мүмкүнчүлүгү (азыр Rust гана колдоого алынат).
  • Windows, macOS жана Linux системаларында иштей турган жана кардар да, сервер катары да иштей турган универсалдуу аткарылуучу файлдарды чыгаруу.
  • Өзүңүздүн компоненттериңизди жана "түшүнүктөрүңүздү" (компоненттердин жыйнактары) аныктоо мүмкүнчүлүгү. Бир эле компоненттерди жана концепцияларды колдонгон долбоорлор, ал маалыматтар атайын долбоорлордо колдонуу үчүн иштелип чыкпаса дагы, маалыматтардын көчүрүлүшүнө жана бөлүштүрүлүшүнө мүмкүндүк берет.
  • Ар кандай форматтарда, анын ичинде .glb жана .fbx менен ресурстарды түзүү үчүн колдоо. Тармак аркылуу ресурстарды агымдык жүктөө мүмкүнчүлүгү - кардар серверге туташуу учурунда бардык керектүү ресурстарды ала алат (сиз бардык ресурстардын жүктөлүшүн күтпөй эле ойной баштасаңыз болот). FBX жана glTF үлгү форматтарын, ар кандай аудио жана сүрөт форматтарын колдойт.
  • Көрсөтүүнү тездетүү үчүн GPU колдонгон жана GPU тарабындагы кесүүнү жана детал деңгээлиндеги өзгөрүүлөрдү колдогон өнүккөн рендеринг системасы. Демейки боюнча физикалык жактан негизделген көрсөтүүнү (PBR) колдонот, анимацияны жана каскаддык көлөкө карталарды колдойт.
  • PhysX кыймылдаткычынын негизинде физикалык процесстердин симуляциясын колдоо.
  • React сыяктуу колдонуучу интерфейстерин куруу системасы.
  • Учурдагы платформадан көз карандысыз бирдиктүү киргизүү системасы.
  • Плагин чыпкалары менен мейкиндик үн системасы.

Иштеп чыгуу дагы эле альфа версия баскычында. Азырынча ишке ашырыла элек функциялардын ичинен биз Интернетте иштөө мүмкүнчүлүгүн, кардар API'син, көп агымдарды башкаруу үчүн API'ни, колдонуучу интерфейсин түзүү үчүн китепкананы, өзүңүздүн шейдериңизди колдонуу үчүн API'ни, үн колдоону, жүктөө жана сактоону белгилей алабыз. ECS (Entity Component System) компоненттери, ресурстарды тез жүктөө, серверди автоматтык түрдө масштабдоо, оюн карталарын жана оюн көрүнүштөрүн биргелешип түзүү үчүн редактор.



Source: opennet.ru

Комментарий кошуу