A böngésző, amin már PC-s játékot is futtatsz: Íme a web jövője
Amikor a webböngészők játékkonzollá váltak
Gondolj bele: tíz évvel ezelőtt ez sci-finek hangzott volna. Most éppen ezt a bejegyzést olvasod. Elméletileg egy másik fülön megnyithatnád a böngésződ, és harminc másodpercen belül multiplayer Half-Life 2 deathmatch-et játszhatnál a barátaiddal. Nincs Steam. Nincs letöltés. Nincs telepítés. Csak tiszta, böngésző-alapú játék a valódi Source engine-rel.
Lucas Igell fejlesztője valami tényleg figyelemre méltót alkotott ezzel a böngésző-alapú Half-Life 2 Deathmatch megvalósítással. A projekt az Emscriptent használja – egy zseniális eszközlánc, amely C++ kódot fordít le WebAssembly-re, így komplex, teljesítmény-kritikus szoftverek közvetlenül futhatnak modern böngészőkben.
A technikai varázslat a motorháztető alatt
Fejlesztőknek és tech-rajongóknak a valódi sztori nem is annyira a "klassz játék a böngészőben" – inkább az, ami a háttérben történik. Az Emscripten LLVM-alapú C és C++ kódot transzpilál JavaScriptre vagy WebAssembly-re. A Source engine, amely a Half-Life 2-t és számtalan más Valve játékot működtet, egy hatalmas C++ kódbázis, amely milliónyi sorból áll.
Ez nem emuláció. Ez nem egy kompromisszumokkal teli port. Ez a tényleges engine, amely közel natív sebességgel fut a WebAssembly hatékony bájt-kód formátumának köszönhetően. A böngésző virtualizációs réteggé válik, és meglepő módon kezeli a hangchatet, a teljes képernyős módot és a multiplayer matchmakinget.
Mit jelent ez a webalkalmazások jövője szempontjából?
Évek óta halljuk, hogy "a böngésző mint alkalmazásplatform", de ez tényleg óriási ugrást jelent az előre. Ha egy teljes PC játék engine futni tud a böngészőben, mi akadályozza meg a többi számításigényes alkalmazást, hogy ugyanezt megtegye?
Gondolj bele a következményekbe:
Játékélmény korlátok nélkül: A felhő-alapú játék létezik, de általában dedikált infrastruktúrát és streaming késleltetést igényel. Ez a megközelítés kiküszöböli a közvetítőt – nincs szerverszerver, amit a szolgáltatónak karban kell tartania, csak egy weboldal.
Szoftverdisztribúció újragondolva: Képzeld el, hogy megnyitsz egy linket, és szakmai szintű szoftvert futtatsz IT részlegek vagy telepítési protokollok nélkül. Az URL lesz a deployment csatorna.
Platformfüggetlenség kompromisszumok nélkül: Windows, macOS, Linux, Chrome OS, még mobil böngészők is – mind ugyanazt a binárist futtatják. A szegmentációs probléma elpárolog, amikor a böngésző kezeli a platform absztrakciót.
A domain kapcsolat
Itt válik igazán érdekessé a téma a közönségünk számára. Ez a demó egy URL-en él. Bárki megoszthat egy szoba linket, és közvetlenül a barátja szerverén spawnolhat. A domain vagy aldomain megosztásának egyszerűsége teszi lehetővé az ilyen élményeket.
A NameOcean-nál úgy látjuk, hogy az ilyen projektek betekintést nyújtanak abba, merre tart a webtechnológia. Ahogy a böngészők egyre erősebbek lesznek és a WebAssembly érettebbé válik, a "web app" és az "asztali alkalmazás" közötti határ egyre inkább elmosódik. Az ezeket az élményeket támogató infrastruktúra – megbízható domainek, gyors DNS feloldás és olyan hosting, amely valós idejű kapcsolatokat kezel – egyre kritikusabbá válik.
Az út előre
A böngésző-alapú játék nem fogja egyik napról a másikra helyettesíteni a dedikált gamer PC-ket vagy konzolokat. A teljesítmény továbbra is elmarad a natív kódtól, és nem minden játék alkalmas erre a megközelítésre. De a Half-Life 2 közel húsz éves, és ez a megvalósítás még mindig úgy érződik, mint egy pillantás a jövőbe.
A web platform rendkívül képessé vált. A WebAssembly-vel most már olyan munkaterheléseket futtathatunk, amelyek korábban lehetetlenek voltak a böngésző kontextusában. Ez a demó nem csupán érdekesség – ez egy proof of concept, amelynek inspirálnia kellene a fejlesztőket, hogy nagyobbban gondolkodjanak arról, mi lehetséges a böngészőben.
Szóval legközelebb, amikor valaki azt mondja neked, hogy a web "csak weboldalakra való", mutasd meg neki ezt. Mutasd meg neki egy böngészőt, amely teljes multiplayer játék engine-t futtat hangchattel. A szoftverek jövője egyre inkább web-alakú, és gyorsabban történik, mint ahogy a legtöbben gondolnák.
Mit fogsz építeni a böngészőnek?
Van véleményed a böngésző-alapú alkalmazásokról, vagy szeretnéd megosztani saját web projektjeidet? Írj kommentet – szívesen látnánk, mit épít a NameOcean közösség.