Zavřít reklamu

Retro hardware v posledních letech zažívá nečekanou renesanci, ale podobné projekty se objevují jen výjimečně. Vývojář Yifeng Wang, známý pod přezdívkou doodlestrike, totiž vytvořil zcela nový herní engine, díky kterému dokáže legendární Counter-Strike běžet na více než dvě desetiletí starém handheldu Sony PSP při stabilních 60 snímcích za sekundu.

Nejde přitom o klasický port původní hry Counter-Strike. Wang nezačal upravovat existující technologii od Valve, ale kompletně ji přepsal od nuly. Výsledkem je projekt OpenStrike dostupný na GitHubu, který slouží jako technologická demonstrace toho, kam lze posunout starý hardware pomocí moderních programátorských postupů a důsledné optimalizace.

Nový engine místo starých kompromisů

Základem projektu je vlastní 3D engine Pocket3D napsaný v jazyce Rust a doplněný o PocketJS, JavaScript engine starající se o herní logiku a uživatelské rozhraní. Díky tomu se podařilo udržet paměťové nároky přibližně na 12 MB, což je na PSP mimořádně nízká hodnota.

Ve hře už nyní fungují eliminační zápasy proti botům a otestováno bylo všech osm původních map z Counter-Strike. Chybí sice některé ikonické prvky, například nákupní fáze na začátku kola, samotná hratelnost je ale překvapivě plynulá.

Autor navíc myslel i na komunitu. Projekt je navržen tak, aby bylo možné poměrně snadno vytvářet vlastní mapy nebo další modifikace.

Stabilních 60 FPS na hardwaru z roku 2004

Největší pozornost budí samotný výkon. Hra běží v nativním rozlišení PSP 480 × 272 pixelů při stabilních 60 FPS, což je výsledek, který by ještě před několika lety působil téměř nereálně.

Za úspěchem stojí několik chytrých optimalizací. Osvětlení scén je přepočítáno a uloženo přímo do vertexových barev, takže konzole nemusí složitě dopočítávat světla během hraní. Wang zároveň zachoval osvědčený systém BSP (Binary Space Partitioning), který efektivně skrývá části mapy, jež hráč aktuálně nevidí. Namísto modernějších, ale náročnějších metod tak vsadil na technologii, která se pro podobný typ her stále výborně hodí.

Nejen pro PSP

OpenStrike není omezený pouze na původní PlayStation Portable. Stejný engine funguje také na PlayStation Vita, kde hra běží v nativním rozlišení 960 × 544 pixelů bez umělého upscalingu. Podporovány jsou rovněž běžné počítače i populární emulátor PPSSPP.

Projekt je navržen jako multiplatformní technologie, takže OpenStrike představuje pouze první ukázku možností nového enginu. Celá architektura odděluje vykreslování grafiky od herních událostí, jako je střelba nebo pohyb hráčů. Díky tomu nedochází k propadům výkonu ani při složitějších situacích a hra zůstává stabilní.

OpenStrike je tak důkazem, že ani více než dvacet let starý hardware nemusí být technologicky odepsaný. Při správném návrhu, důsledné optimalizaci a využití moderních programovacích jazyků lze dosáhnout výsledků, které byly v době vydání PSP prakticky nepředstavitelné.

Dnes nejčtenější

.