26/06/21

Platón >> Sony

TV scifi seriál Star Trek bežiaci od roku 1966. Filmové Star Wars v 1977. Hra Spasim v roku 1974 na platforme PLATO. Kozmický multiplayer pre 32 hráčov. V 3D grafike. Updejt pozície iného hráča jeden krát za sekundu. Z pohľadu prvej osoby bránite vlastný planetárny systém a k tomu nejaký mikromanažment tovaru, paliva, čierny trh a iné ukradnuté veci. Určite ste o tom nikdy nepočuli a o to horšie sa musíte cítiť, keď skoro o 50 rokov /!!/ neskôr sa SONY zmôže iba na slabomyseľné hopkanie panáka v bezvýznamnej sólo kampani bez online komponenty. Ešte nedávno sa ta príšerne stará Spasim vec dala hrať v emulátore starých mainfrejmov na stránke Cyber1.org !

PLATO (Programmed Logic for Automatic Teaching Operations) s programovacím jazykom TUTOR je vlastne systém terminálov pre americké školy vo forme toho, čo dnes v ére Covid-19 poznáme ako dištančné vzdelávanie. Spustila to univerzita v Illinois v roku 1960. Okrem pozeranie prednášok a napĺňania primárneho edukačného cieľa sa okamžite začala budovať aj celá "net" infraštruktúra v podobe ako ju poznáte dnes. A teda - pokec fóra, BBSky, e-mail, instant správy, zdieľanie obrazu na diaľku a samozrejme hry a hlavne online hry. Tie v úvode existovali tvrdo ilegálne.

 
Spasim a Airfight

Spacewar! /1962, Rick Bloome/, primitívna multiplayer hra pre dvoch hráčov v 2D monochromatickej grafike. Empire /1974/ online hra pre 30 hráčov, neskoršia funkciami masívna vylepšená "S" verzia až pre 100 hráčov. Vesmírna "strielačka" v 2D grafike. Dobýjate celú galaxiu, štyri rasy inšpirované Star Trekom. Boje sú akčné ale veľmi taktické. Predvídanie pohybu iných hráčov, nadsvetelné warpovanie, "beam "teleportovanie. Už spomínaný Spasim /1974/ v 3D až pre 32 hráčov. Letecké simulácie. Dogfight /1972/. Flight Simulation /1974/od Brand Fortnera. Airfight /3D/, ktorý pravdepodobne inšpiroval vtedy študenta Bruce Artwicka ku založeniu firmy Sublogic, ktorá po akvizícií Microsoftom pre nich dnes robí to čo poznáme ako Microsoft Flight Simulator.

Pedit5 a Avatar

Dungeon Games. Pedit5 alias The Dungeon /1974/. Dnes by patril do kategórie tzv. dungeon crawler. Zvláštne meno pre podobnú hru ale vybrané cielene s úmyslom ukryť projekt pred systémovým adminom, ktorým im to pravidelne mazal ! Školskú sieť predsa nebudeme zaťažovať kravinami a v campuse vtedy dosková D@D klasika strašne letela. m199h /1994/ - bizarný názov podobnej hry z tej istej príčiny ako pedit5. V rovnakom čase konkurečná dnd alias The Game of Dungeons - video /1974–75/, ktorá drží záznam o prvom použítí "final boss" boja, s veľkým zlatým drakom stražiacim magický šuter na konci posledného levela. Ide aj o prvú hru, kde hráči systematicky zneužívali systém levelovania postavy, jej RPG štatistík, každým mysliteľným spôsobom. Autori sa aktívne bránili vylepšovaním kódu a ak došlo ku detekcii podobného správania, tak vás hra presunula šupito presto na miesto s Lv.99 enemákom, kde ste biedne zahynuli. Prúd týchto hier sa nezastavoval. Moria /1975/, Oubliette /1977/ alebo Avatar /1979/. Avatar mal zabudovaný aj pokec box a išlo technicky o prvú MMO /až pre 30 hráčov/ alebo tzv. MUD - Multi-User Dungeon. Primárne kooperatívne raidy ale s dizajnérskou medzierkou aj pre PvP súboje. Tieto hry boli mimoriadne populárne a citeľne dávali zabrať kapacite celej siete.


Golf a Panther

Vojenské simulácie. Panther /3D tanková simulácia/ - v prípade, že celý PLATO mainframe obsluhoval len túto hru, tak sa teoreticky mohlo pripojiť až 1000 /!!/ hráčov. Hra bola skutočne 3D. Hory, skaly, stromy a ďalšie objekty boli náhodne generované v každom kole. Zoom funkcia pomocou ďalekohľadu. Presnosť zásahu podlieha komplexnej balistike, kde sa pri veľkej vzdialenosti rátalo aj so zakrivením zeme alebo silou vetra. Komunikácia medzi tankami a plánovanie úskokov. Samozrejme sa sledoval stav paliva a munície a na určených miestach ako základne mohli hráči s týmto tovarom kšeftovať. Úžasné. A neskôr z toho vznikla aj oficiálna simulácia pre vojakov s názvom Panzer. Katakomby v 3D - Maze War /1974/,  Build-Up /1975, Bruce Wallace/. Survival hry ako Think15 /1977, 2D divočina s bujnou zeleňou, príšerami a pokladmi, Solitaire /1981/. Športy. Golf, Americký futbal, Basketball. Vyše 100ky hier naprogramovaných v rýchlom čase skrze všemožné žánre.

 
 Empire s dual viewportom

PLATO terminály boli interaktívne v skutočne reálnom čase. Nestláčali ste teda butónky, ENTER na konci riadku s nejakou reakciou až o mnoho sekúnd neskôr. PLATO terminál komunikoval s mainfrejmom prakticky okamžite. Nepouživali ste modem, neriešili ste komošovu IP adresu. In-game text chat bol samozrejmosťou. O desaťročia predbehli herné maintrestreamové PC alebo konzoly. Hry ako Empire alebo Avatar nemá SONY dodnes. Vlastne vidíte ako málo progresívne tie dnešné hry sú. Čakali by ste, že kooperácia v príbehovej kampani Horizon alebo Days Gone už bude všedná vec a svorky hráčov na pláňach God of War open world RPG tiež. Kritika smerom SONY na ich primitívne, herným dizajnom zastaralé TPS blbosti /od Uncharted, cez TloU po Spiderman, GoW alebo Returnal, Ratchet/ je plne oprávnená. SONY produkuje herne oldschool AA hry triedy NES-PS1 s veľkým budgetom. Filmová grafika, infantilný herný oblúk. To je jej dnešná pozicia. A nemyslím si, že má kapitál, prostriedky, potenciál posunúť sa na pravý next gen level. Občas mám dokonca pocit, že to Jim Ryan pochopil, rezignoval a "betónuje" firmu tak, aby mala o pár rokov lepšiu pozíciu, až sa bude rokovať o jej predaji.

20/06/21

Inzerát: kúpim geniálneho vývojára, Značka: rýchlo !!

"Throw money at something (or someone)" : idiom. Na riešenie istej záležitosti miniete bez váhania a bez rozmyslu veľké množstvo peňazí, avšak bez toho aby to zmenilo nepriaznivé status quo, alebo dokonca, aby ste daný problém vyriešili. 

SONY týmto obratom komentovalo poslednú činnosť Microsoftu a jej mnoho miliardové akvizície. Naposledy takto MS v Bethesde získali aj IP ako Dishonored /Arkane/, Wolfenstein /MachineGames/, DOOM /id Software/, The Evil Within /Tango Gameworks/. Počet tzv. first party vývojárskych skupín pod MS dosiahol k dnešnému dňu číslo 23, SONY ich má 13. A nebudem to písať o vytí na mesiac SONY hráčov, keď zistili, že po dlhých rokov úplne novú hernú značky Bethesdy hru Starfield na playstation konzole asi nikdy neuvidia.

I created the lighting for the 2021 teaser trailer of Starfield.

Adresátom tohto drzého slovného útoku SONY nie je herná lúza ale investori. Vystrašená SONY sa ich aj týmto spôsobom snaží ukľudniť. Vzbudiť zdanie, že situáciu majú pod kontrolou a vývojársky talent na svojej strane. O akútnej hrozbe kapitálovo bohatších spoločností píšem neustále  - MS, Apple, Amazon, Google, Tencent. SONY tvrdí, že už prvá vlna hier pre PS4 a teraz pre PS5 ukazuje, že sa nemáme čoho báť. Je to samozrejme lož. Aj u nás v medicíne, keď sa "hodí lano", tak zamestnanec bez vahania odíde za lepším, za prachy sa ľahko nakúpi talentu na vagóny. Gamebiz nemá dôvod fungovať ináč. Pionierské, idealistické časy sú davno preč.

SONY tvrdí, že už prvý rok PS4ky bol bezvadný. Ako to vidím ja. Killzone: Shadow Fall - slabá hra, teda SP kampaň a MP režim a koniec natívneho FPS žánru na PS konzole !! Po Resistance definitívny dôkaz  toho, že to SONY nemá pod kontrolou a vývojári nie sú talentovaní. Knack - impotentná AA vec vytvorená bez espritu ako typická filler hra. Obľúbené internetové meme s pečiatkou podpriemernosti a zúfalstva. InFamous Second Son - toto IP jasne neprerazilo na prvý ani druhý pokus. Priemerná hra bez charizmy a vývojári sa pred zánikom zachraňovali neskôr v japonsku so samuraj-ninjom /Ghost of Tsushima/. Driveclub - to isté ako Killzone. Likvidácia "arcade" racingu na PS konzole. Hanebné. Odmietli zasponzorovať PS5 verziu, odmietli predĺžiť licenciu na drahé autíčka. Celý žáner pustili talentovanejším Playground Games s Forza Horizon. Hviezda poslednej E3 2021 MS prezentácie. The Last of Us Remastered - každý si všimol a asi už aj zabudol akú blamáž SONY pri ND zažilo s jej progresívnou WOKE agitkou. ND bolo na mnoho mesiacov stiahnuté z obehu, aby sa hladina vody ukľudnila.

"I feel lethal, on the verge of frenzy." - Americké psycho

SONY chýba vitalita, energia, inštinkt zabijaka, nie je nebezpečná. Na silu sentimentu a nostalgie by som sa na ich mieste už dlho nespoliehal. PS5 a súčasnosť. Demon’s Souls - lacná hra na istotu. Remake starej PS3 veci v PS4 PRo grafike. Nemám nič proti, ale ide o doplnkovú niche gamesu pre malú skupinu hráčov. Spider-Man: Miles Morales - ďalšia hra na istotu. Navyše cross-gen hra. Sackboy: A Big Adventure - samozrejme ďalší cross-gen a otázky či z Astro bota neurobiť oficálneho maskota hernej SONY. Ale to by sme museli stať pred úplne inou firmou. Nie mdlými obchodnikmi a nehráčmi/Jim Ryan/ v defenzíve. Returnal - AA rogue hra, opäť viac niche ako mainstream. Beží na UE4 a riziko prechodu na PS4 stále hrozí. Ratchet & Clank: Rift Apart - ďalšia lacná hra na istotu. Údajne najväčší budget v celej sérií ale herne je to dogmaticky striktne úzkoprsá PS2 hra a bez enginoviek to urobíte za 5 hodín. Horizon Forbidden West - ktorý v žiadnom prípade nie je brzdený HW PS4. Horizon IP je plán B fy Guerrila Games po tom ako padli na hubu s Killzone. Prvý diel je priemerná hra. Tak jednoducho to môžem napísať namiesto celej recenzie. Všetky gamesu sú strojovo rytmicky presne v TPS perspektíve. Priemernosť inak jedným slovom definuje SONY hry a na prechod do prvej ligy treba čo vlastne ?

"Rozmaznávanie tvorivého talentu nie je to isté, ako ho iba zahrnúť peniazmi. Musíte im aj povoliť opraty, akceptovať možné riziko a nechať ich prichádzať s novými myšlienkami. Len sa pozrite na Ghost of Tsushima od Sucker Punch. To nebola hra, ktorú sme si mysleli, že urobia, ale nie sme zkostnatelé, korporátne múmie. Chceme aby našu konzolu používali ako tvorivý nástroj."  - SONY

Ide opäť o sprostú propagandu. SONY mnohokrát veľmi jasne prejavilo svoju nespokojnosť s kvalitou ani nie tak hier ako ľudským potenciálom svojich dev tímov a ich likvidáciu alebo reguláciu realizovali nemilosrdne. The Last Guardian je iba jedna z mnohých kauz. Zipper Interactive /Socom, MAG/ sú tiež už dávno oplakaní a zabudnutí. Čistky v Japan Studio a pokus SONY o centrálne určenie ďalšieho smerovania skončili dobrovoľným odchodom mnohých veteránov. SONY dobre vie, že im ide o prežitie a záchrania sa iba produkovaním skutočne dobrých hier. Tvrdo od stola preto diktuje vývojárom vlastnú predstavu komerčne úspešnej hry. Aj preto tie veľmi silné fámy o remake alebo reštarte značiek MGS a Silent Hill /čo iné ako TPS klasika, predpokladám s PS2 herným oblúkom/.

MS prežíva a robí to isté. Ak jej ta ľudská kvalita chýba, tak identifikuje talenty a skupuje ich. SONY by reagovalo rovnako, ale ten kapitál proste nemá. Preto to podráždené poštekávanie. Túto krízu som predvídal a aj to, že tie svoje budúce super hry bude musieť SONY posúvať aj mimo vlastnú platformu, lebo štandardná 10-15% penetrácie iba do vlastnej základne je 100% ekonomická samovražda. Mimochodom Santa Monica údajne pracovala na hre podobnej Starfield, ale .. proste sa "nezadarilo". Žiarivý talent sa proste nedá žiadnymi peniazmi sveta vyvážiť, ale každý má svoju cenu, za ktorú sa dá kúpiť.

18/06/21

Jak funguje reverse image search... nejspíš

Jak funguje "reverse image search" neboli vyhledávání podle obrázku ve vyhledávačích jako Google nebo TinEye můžeme jen hádat. Pravděpodobně vychází z dostupných veřejných technologií. TinEye byl první známější vyhledávač obrázků s touto funkcí a byl spuštěn v roce 2008. Google vyhledávání ubrázků spustil v roce 2001, avšak funkci vyhledávání podle obrázku přidal až v roce 2011, shodou okolností se v této době stal trendem thread v programovací části redditu, kde diskutující řešili, jak nejspíš TinEye funguje. Toho si autoři TE všimli a jejich odpověď byla "TinEye is Magic!". Abychom se dostali k jádru tohoto kouzla a jak nejspíš podobné vyhledávače, ale i technologie na to napojené fungují, musíme si ujasnit pár základních pojmů. Jako co je to bit, byte, integer a hash. Předpokládám že to víceméně všichni znají, ale pro připomenutí... (experti mohou přeskočit)


Bit Byte

Bit je 1 nebo 0 a takto se vyjadřují čísla v binární(dvojkové) soustavě. Byte (bajt) je 8 bitů, např. 10011101, což je v desítkové soustavě číslo 157 a v hexadecimální(šetnáctkové) je to 9D (9 x 16 + 13 = 157 (13 je protože hex soustava počítá 0-9 a pak ABCDEF místo 10 – 15, takže D je 13). Počítačová paměť umí uložit jako nejmenší fragment jeden byte(8 bitů).

Integer

Integer znamená latinsky celý a je to tedy pouze celé číslo a využívá se při programování. "signed a unsigned" znamená že je možné číslo vyjádřit se znaménkem - a nebo bez něj. Budeme se zabývat jen tím s kladnou hodnotou. Bežně užívaný nezkrácený integer Int32 je 32 bitů dlouhý kus v paměti, tj. 4 bajty a jeho maximální hodnota je tak 32 jedniček v binárním kodu. Nebo FFFFFFFF v hexadec. soustavě a 4 294 967 295 v decimální.

(Jen pro zajímavost uvedu, že YouTube muselo poprvé kvuli korejské písničce Gangnam Style přejít ze signed 32 inteegeru počítání views na 64bit z důvodu že skladba mířila k přesažení max hodnoty signed int32 tj. 2147483647 a při přetečení by to začalo počítat od minimální hodnoty -2147483648)


Hash

Hash je prakticky integer o různých délkách bitů 64, 128, 256... Získává se ze vstupních dat pomocí nějaké funkce a výstupem je číslo. Nejčastejší užití je při šifrování internetové komunikace HTTPS, nebo při komunikaci s modemem přes WiFi. Jsou různé druhy a užití, nemá prakticky žádné hranice. Některé hashe jsou reverzní, tj. že z jeho hodnoty lze dopočítat původní data a z některých nikoliv, takové slouží například k ukládání hesel do databáze aby heslo na přihlášení na web nebylo uloženo jako prostý text. Když se uživatel někam přihlašuje tak je heslo převedeno na hash a na serveru se porovnávají hashe aniž by šlo zjistit co je původní slovo. Teoreticky se může stát, že dvě rozdílá vstupní data mají hash stejný, ale nevím zda tomu může být i u hesel, nejspíš se počítá s pravděpodobností jako u klíčů a zámků, že existují duplikáty ale není pravděpodobné že se potkají se správným zámkem.

Image Search

(Tím jsem se dostal k samotnému hledání. Dále popíšu základ a spekulaci jak to nejspíš může a nemusí u známých vyhledávačů fungovat v principu)

Nahrajete obrázek na Google nebo TinEye a vytvoří se z něj na straně serveru takzvaný "perceptual hash" (narozdíl od výpočtu hashe hesla, výpočet hashe obrázku probíhá u nich na serveru, aby nikdo nevěděl jak hash počítají). Takže v tomto případě zde nemusí být angažována žádná AI, ani machine learning. Perceptual hash je vlastně orientační hash jak daný obrázek vypadá pro lidské oko. Hash lze vytvořit více způsoby. Já popíšu ten, se kterým jsem dělal pokusy, tj. Difference hash.

Jak už vám asi došlo, vyhledávání obrázků probíhá porovnáváním těchto hashů. Perceptual hash musí být odolný na jemné změny v obrázku jako změna barev, ořez, vodoznak a nebo rozdílný poměr stran. Nemůžou se zde využít již existující typy využité při šifrování hesel a připojení, protože my potřebujeme aby podobné obrázky měly velmi podobné hashe. U šifrovacích hashů by tak stačilo zmenit jediný pixel a vyšlo by uplně jiné číslo. 

Zmiňovaný difference hast vypočteme tak, že si to celé zjednodušíme tím, že zdrojový RGB obrázek převedeme do černobílé barvy, tím se docílí odstranění rozdílů v barevné saturaci a zároveň obsáhneme i černobílé verze obrázku a rychleji se počítají následující výpočty, protože místo tří barevných kanálu máme jen jeden. Dále se v mé metodě obrázek zmenší na 8x8 pixelů. Tím nám vznikne mžížka s 64 pixely v odstínech šedé. Jeden pixel má v paměti velikost 1 byte a může mít hodnotu 0 – 255 (0 = černá, 255 = bílá).

V mé metodě toto 2D 8x8 pole převedu na 1D pole o 64 hodnotách. Takže máme 64 bytové(bajtové) pole, to je 512 bitů. Nám to ale stačí převést na 64 bitů aby obrázek vyjadřoval jeden 64 bitový integer. Zárověň nás nezajímá přímá hodnota pixelů v obrázku, protože ta se může lišit pokud například někdo zmenil jas nebo kontrast. Náš zajímají rozdíly mezi sousedy (proto difference hash). Takže si prakticky projdeme to 1D pole s 64 byt hodnotami a vždy porovnáváme dva sousedící byty. Metody se můžou lišit ale při vytváření databáze a následném hledání je potrebné použít vždy stejné postupy a to i v případě zmenšování (a vlastně i tím resamplování) obrázku a konvertování stejně tak, aby v případě zmeny techniky přesamplování (cubic, nearest, bilinear) nedošlo k jiné miniatuře a jiným poměrům mezi pixely a následné nekompatibilitě s již vytvořenou databází.


Příklad

V příkladu na následujícím obrázku máme obrázek A, 4K screenshot z nedávno remasterované verze Terminátor 2.  B je HD Bluray neremasterovaná verze. C je lehce jinak oříznutá verze B ale v 240p s artefakty od komprese a logem televize. D nemusím vysvětlovat. Obrázek se transformuje na poměr stran 1:1, což probehne současně se zmenšením na 8x8 pixelů a následně se obrázek převede do černobílé. 

Hash získáme z černobílé miniatury tak, že porovnáváme hodnoty sousedních bytů(pixelů) 1 – 64 a nakonec 64 s 1. Například pokud je byte[1] > byte[2] zapíše se do výsledku 0 a pokud byte[1] < byte[2] zapíše se 1. Tímto nám vznikne binární číslo o 64 bitech 1 a 0, které se pro zkrácení a čitelnost zobrazuje v hexa decimálním formátu. Hash screenshotu A je tak v binárním kodu 0001 1001 1101 1001 1101 1101 0001 1101 0001 1001 0001 1001 0001 1101 000 11101 a v hexadecimálním 19d9dd1d19191d1d

Tento kód je uložen v nějaké databízi spolu s odkazem na daný obrázek a pak už je jen na vyhledávači zda si pro další účely nechá i originál, ale není to potřeba. Takže informace o podobě jednoho obrázku zabírá pouhých 8 bytů(bajtů). Porovnávání se dělá porovnáním binárních hashů za pomocí Hammingovy vzdálenosti, prakticky pouhý součet rozdílných bitů. 

Na obrázku tak lze vidět že pokud bereme A jako startovní obrázek v databázi (např. v Google), tak B se liší o 4 bity, lehce oříznuté C s kompresí a malým tozlišením se liší o 6 bitů, ale jen o pouhé 2 od obrázku B (modře) a D je rozdílný obrázek a tam se liší 35 ze 64 bitů. Hodnota kde se rozdíl pohybuje kolem 50% je vlastně absolutně nestejný obrázek, protože kdyby se blížila 100% tak by nám vycházelo že se jedná o invertované barvy téhož obrázku. Dle článků které jsem četl se dají obrázky považovat za podobné cca do hodnoty 10 rozdílných bitů ze 64 což je cca 15%.


Další užití a závěr

Terminátor 2 má 137 minut, odečteme titulky 7 min. 130m x 60s je 7800 sekund a při 24 snímcích za sekundu dostaneme 187200 snímků, ze kterých se skládá film. 187200 x 8 bytů = 1462,5 kb hash informací na celý film. Pokud bychom hashovali jen každý druhý frame jsme na 731 kb a optimalizovat by se dalo dál, jako třeba mazat hashe kde není rozdíl vetší než 3 bity. Věřím že bychom se tak dostali až na nějakých 25-50 kb. A teď jsem popsal jak nejspíš funguje Content ID na YouTube. Máte hash tabulku o velikosti pár kb a jste z ní schopni poznat celý dvouhodinový film bez AI.

Závěrem bych chtěl dodat, že když jsem si kolem této problematiky hledal materiály, byl jsem překvapen, jak je to v principu jednoduché. Samozřejmě se v praxi používají i složitější hashovací funkce, ta mnou uvedená je dle testů asi nejblbější. V odkaze naleznete porovnání s dalšími hashovacími funkcemi.

A zde jako zajímavost je článek jak někdo používá AI na reverzní výpočet obličejů z 256 bit (16x16) hashe.


17/06/21

Uni-Engine

V poslednom článku som povedal A a teraz musím aj B. Špecializované bloky na "HW" podporu všetkého možného vznikli nielen na to, aby sa dosiahol vyšší výkon celého systému, ale hlavne pre uľahčenie práce kóderom. Nie všetci sú totiž rovnako dobre kvalifikovaní a zruční. Atari ST nemá blitter, ale je možné /a vlastne aj nutné/ túto funkciu vyriešiť softvérovo, ak to teda dokážete. Nemá ani hardvérové sprajty alebo skrolovanie. Amiga to má a život je tam o toľko jednoduchší. Obrovský problém je v tom, že podobne špecializovaný HW nedrží dlho krok s dobou alebo so špecifickými potrebami tej ktorej konkrétnej hry. Chýba mu totálna flexibilita ručného kódu. Epic takto "ručne" navrhol nové spracovanie svetla a geometrie a "zistil", že časti HW v GPU na to určené sú priliš pomalé. Strašne pomalé.

A situácia eskaluje. Epic investoval more peňazí a času do vývoja tejto novej paradigmy a sú pritom prinajlepšom ešte len v polovici. Plné vybavená UE5 podľa ich predstav bude mať hodnotu väčšiu ako celý budget pre nasledujúce GTA a ten bude gigantický. Sledujete, čo sa vám snažím naznačiť ? Trhová dvojka - Unity engine asi bude chcieť s UE5 držať krok. Majú však vôbec na to ? Dosť váham a zároveň viem, že s bežiacim časom sa nám počet kvalitných multiplatformých enginov /middleware, až mainframe/ rýchlo blíži ku čislu 1 /slovom : jeden/. Zákonitá hegemonizácia trhu vzhľadom na nepríčetne veľkú ekonomickú náročnosť toho také niečo vyvíjať, držať pri živote a ďalej zlepšovať.

Uni-Engine je moja vlastný pracovná hypotéza stará viac ako 15 rokov, že príde čas, keď si skutočne komplexný, robustný engine triedy AAAA /grafika, audio, fyzika, AI, online/ bude môcť dovoliť v prípade multiplat prostredia až jeden jediný vývojár. A bude sa musieť vymyslieť nový biznis model, čo s tým a ako do zlepšovacieho kolotoča zapojiť aj ostatných mimo materskú firmu. A do tohto bodu sa vlastne dostávame práve teraz. Nemôžte čakať, že si stovka malých AA dev tímov sadne pri PS5 /mega PS6/ na zadok a podobný engine si do leta na kolene urobí. Zvládnu maximálne niečo vhodné pre obligátnu "PS2 gameplay" a v konzole sa budú potiť akurát tak ROPs jednotky, aby tu "oldschool" parádu dostali do 4-8K rozlíšenia.

Quake Rally a tiež Quake Battle Chess, Quake DOTA, Aliens alebo TPS pohľad ala Lara Croft

Metodika uni-engine musí byť aplikovaná aj na úrovni veľkých softvérových veľmocí ako SONY, MS, Ubisoft, T2, Activision. Teda jeden modulárny engine pre všetko. Snowdrop engine /Ubisoft/ by mal zvládnuť WRPG sandbox hru. TPS, FPS pohľad na herný svet. V tom istom RPG lesíku vymeníte za behu kone za rally autá alebo bociany za motorizované rogalá. Od úrovne mora až na mesiac. SONY má isté skúsenosti s vlastným enginom Phyre /multiplatformový/ a teraz sa jemne pretláča do popredia Decima engine holanďanov z Guerrilla Games, Nič viac zatiaľ zrejmé nie je. PS5 Returnal použil núdzovo UE4 lebo vlastný engine bol mimo síl malého dev tímu a SONY nič vhodné neponúklo.

Všetci chcete natívne PS5 hry v maximálnom možnom technickom prevedení. Zabudnite, ale potom na to, že si 20 herných SONY štúdií bude robiť každá vlastne middleware na úrovni UE5 alebo dokonca za ním. Vyslovene som zvedavý ako sa Naughty Dog, Santa Monica, SONY Bend, Guerrilla Games, Sucker Punch, Insomniac Games a ďalší budú snažiť túto situáciu efektívne vyriešiť. Inak môže dojsť k tomu, že third party giganti s hrubým kapitalovým vankúšom si budú robiť s trhom /aj mimoherným/, jeho smerovaním, technickou, hernou vyspelosťou, čo len chcú. SONY in-house hry budú tí chudobnejší príbuzní a pomyselné rozdielové nožnice sa budú rýchlo roztvárať ešte viac.

16/06/21

Konzoly - optimalizácia HW jeho úplným ignorovaním

Grafická karta Voodoo 1 od 3Dfx bola jedna z prvých, výborných a cenovo dostupných 3D akcelerátorov na trhu. Čo ma zmiatlo bolo to označenie 3D akcelerátor. Už som vtedy čo to o grafike vedel a čakal som HW podporu pre spracovanie geometrie a nasvietenia, aby sa odľahčilo CPU. Voodoo 1 však nič také neobsahuje. Akceleruje proces rasterizácie, čo je niečo úplne iné a nejde primárne o nejakú 3D grafiku. Proste marketingové hry, lepšie to na krabici vyzerá. Rasterizáciu dovtedy robilo tiež CPU a ide vlastne o projekciu herného 3D sveta na 2D maticu obrazovky. Príšerne komplikovaný proces náročný na pracovné CPU cykly. V HW podobe na GPU nespočetne krát priebežne masívne vylepšovaný. Ide o čiernu skrinku každého GPU. Posvätný blok silikónu, ku ktorému má prístup iba výrobca toho HW a poskytuje ho ako obetu bohom skrze ovládače ku grafickej karte. Manuálne prevzatie kontroly nad rasterizáciou je už roky tabu.

Ešte pred zopár rokmi napríklad Nvidia povedalo toto: "Rýchlosť spracovania vertexov na GPU teraz rastie rýchlejšie ako spracovanie pixelov a v blízkej budúcnosti očakávame nástup tzv. veľmi pokročilých geometrických algoritmov. Vylepšenia procesu rasterizácie ako je nový režim konzervatívnej rasterizácie umožní okrem iného aj rýchlejší nástup raytracingu a globálnej iluminácie." Dnes je však realita dramaticky odlišná. Epic hovorí, že HW rasterizácia je mŕtva a je na otázka dňa, či ju nevypustiť z návrhu dizajnu budúcich GPU úplne a neinvestovať takto uvoľnený silikón na užitočnejšie veci. Softvérový rasterizér Epicu bežiaci na GPU v UE5 je totiž v priemeru o 300% výkonnejší ako jeho HW konkurencia na tom istom GPU v ich konkrétnom engine. Ak teda v týchto podmienkach beží po PS5 GPU "novom" a NV 3090 po "starom", tak Nvidia skonči v poli porazených.

Raytracing. Často čítam herných laikov ako nadávajú na RT HW v next gen konzolách. Neberú ho vážne a podceňujú ho. Je možné ho "oklamať", zrýchliť podobne ako tú HW rasterizáciu ? Samozrejme, že áno. A nielen tak, že RT reflexie dáme vypočítať v 4 krát menšom rozlíšení a rozdiel do vyššej kvality získame napríklad CB /checkerboard/ upscale algoritmom ala Ratchet pre PS5 alebo nám pomôže rasterizácia pre časti obrazu, kde sa dá použiť "screen space" pracovný priestor alebo traceovanim lúčov proti silne zjednodušenej proxy /zástupnej/ geometrii skutočných objektov ako to robí aj UE5 a mnoho ďalších. Ukážem vám jeden luxusne didaktický príklad ako postupovať pri RT HW konzol efektívne, so zdravým sedliackým rozumom.

Tiene. Tie veci, ktoré vznikajú, keď do cesty fotónom vstúpi nejaký objekt a nastane ich oklúzia. Priame tiene, ak medzi zdrojom a tieniacim objektom sa už nič okrem vzduchu nenachádza a nepriame, keď tieň vznikne cestovaním lúča, ktorý sa už minimálne raz niekde odrazil. Je teda výrazne oslabený, farebná hodnota/energia môže byť zmenená a roztyl na hranách tieňa už značný. Výpočetne náročnejšie /tzv. AO, ambientná oklúzia/. Rasterizované >priame< jasne viditeľné tiene boli v hrách vždy jedným z klasických problémov. Tragické rozlíšenie /shadow mapa je textúra a kvalita sa rovná obrovské objemové nároky/, stabilita, vykresľovacia vzdialenosť, uhlové artefakty. RT tiene to všetko elegantne riešia ale sú zároveň minimálne o rád pomalšie. Čo s tým ?

Použijeme Toy Engine /na ilustráciu, bezvýznamný, multiplatformový engine/, Intel HD 4000 laptop, ďalej klasickú scénu na testovanie grafiky - Sponza Atrium. Všetko v rozlíšení 1280×720 pixelov. Najprv tam hodíme tieň získaný bežnou rasterizáciou s tieňovou mapou o bežnom rozlíšení 1024x1024. Sledujte nižšie na obrázku obrysový tieňový aliasing. Zubatosť je značná, aj keby ste dvihli rozlíšenie tieňu na 4K. Objem dát ide strmo nahor. Náš intel laptop tie 1K tiene dáva za 3.7ms. Obratená hodnota lomeno 1000 sa rovná 270 fps. OK. Teraz raytrace podoba v podobnom rozlíšení. Tieň je peknučký a čo nie je na statickom zábere vidieť, tak je aj extrémne stabilný, bez ohľadu na uhol pohľadu, sklon normál povrchu alebo vzdialenosť. Doba renderingu je 92.2ms a teda 10.8 fps. Koniec rozprávky, ten HW na to naozaj nestačí, alebo ?

vľavo "škaredka" 1K tiene ako bežné shadow mapy /rasterizácia/, vpravo krajšia raytrace verzia

Alebo zapojíme mozog a znížime renderovací čas RT tieňov na nejakých 13 ms /77 fps !!/ s prakticky úplným zachovaním kvality RT tieňov, aj keď pôjde o rasterizačne-RT hybrid techniku. Ako sme to urobili ? Ak si ešte raz pozriete vyššie ten raster a RT tieň, tak spoločný prienik majú v tej čiernej mase v strede tieňov a líšia sa kvalitou na ich okrajoch. Myšlienková konštrukcia. Čo tak nechať rasterizáciu vypočítať ten "stred" a RT HW aplikovať iba na "okraje" ? A to je aj správna odpoveď. Zníženia počtu pixelov /trojuholníkov/, ktoré musí RT HW otestovať klesne dramaticky a simultánne s tým stúpne výkon. Asi vás neprekvapí, že keď na to príde jeden šikovný kóder, tak to objavia časom aj ostatní.

 maskovanie okrajov tieňov, to "biele" má na starosti HW RT a finálna hybridná raster-RT kompozícia

A presne to sa aj stalo a AMD to dokonca oficiálne ponúka ako vhodné riešenie pre rýchle a kvalitné tiene. Morálne ponaučenia, ktoré z toho vyplýva je - vždy sa to dá urobiť lepšie. Epic v UE5 je prvý pokus veľkej firmy o zásadné, "softvérové" prepracovanie klasickej HW renderpipeline cesty GPU, ako ju poznáme desaťročia. Ich softvérový rasterizér a raytracer sú mimoriadne výkonné. GPU v PS5 a XSX sú prvé také komerčne dostupné a masovo rozšírené mašiny, ktoré takúto bezprecedentnú flexibilitu umožňujú aj prakticky v hrách. Vo veľkých AAA hrách, nie ako malé cvičenie doma na PC pre projekt na vysokej škole. Práve next gen konzoly odpália renesanciu nového programovania s presahom do ďalšej generácie, kde sa už budú žať úžasné plody tohto základného výzkumu. Naivný "brute force" postup nevedia nikam ako ukázalo HW riešenie úplného RT v Cyberpunk 2077, ktoré zloží Nv 3090 pri 60 fps do rozlíšenia pod 900p. Chce to použiť filipa. Neupgrejdovateľné 200 wattové konzoly to opäť zachránia.

08/06/21

We believe in generations

SONY ústami jej prezidenta Jim Ryana tým chcela povedať, že už keď investovali do nového HW, novej konzoly a nákladovo vždy náročného a rizikového prechodu na novú generáciu konzoly, tak ten pokrok chcú ukázať aj v hrách a to tak skoro ako je to možné. Netrápiť hráčov cross-gen hrami a čakaním za novým next gen zážitkom. Určite by sa vám nepáčila absurdná situácia, ak by ešte dva roky po štarte PS2ky vychádzala väčšina vlajkových lodí SONY primárne na PS1 s kozmetickým updejtom pre PS2. Nebola by žiadne Gran Turismo 3 ako ju poznáme, bola by iba ďalšia PS1 GT hra napríklad na engine Ridge Racer 4.

Digital Foundry sa teraz rehotá z toho, že je SONY nútené všetky svoje veľké herné značky presunúť z PS5 aj na PS4. Vlastne ich obviňujú, že dobre vedeli, že hry ako Spiderman, Horizon, God of War alebo Gran Turismo 7 nikdy nemali byť iba na PS5ke ale od začiatku ich plánovali ako tzv. cross-gen tituly. A špekulujú ako veľmi menej výkonná PS4 s HDD uškodí tým hry, oproti rýchlej PS5 s SSD. SONY = lži, zavádzanie, neférová hospodárska súťaž, zámerne zlá komunikácia a tieto veci. Považujem sa osobne za najhlasnejšiu hlásnu trúbu, ktorá roky dopredu avizovala dnešný stav a to, že predaje konzol /aj rekordman PS2/ sú príliš nízke a náklady na AAA hru budú priliš vysoké. Nová generácia konzol si nebude môcť dovoliť ignorovať tu starú, alebo PC ako hernú platformu a skutočná "nová" generácia začína až v polovici už bežiaceho cyklu. PS5 štartovala v roku 2020. Prvé "niečo" čo sa dá nazvať dobrá, natívna PS5 hra tu nebude skôr ako v roku 2022, možno až 2023. Hrozné. Ale nič z toho pre SONY nie je/nebolo žiadne tajomstvo a vedeli to ešte skôr ako ja.

Jim Ryan, šéf SONY, to do jesene zmákne, ale do jesene ktorého roku ?

Prehrabete staré herné časopisy /napríklad pre ZX Spectrum/ a pravidelne tam narazíte na intervijú ako sa niekedy robili aj veľké hry "po partizánsky". Zopár chlapov dostalo na ruku 25 000 libier, niekoľko mesiacov času, nie roky,  a hra bola hotová. Konzoly ako PS1 už značne vývoj profesionalizovali. V ére PS2, Dreamcast, Gamecube, Xbox nikoho neprekvapil budget aj vysoko cez 50 miliónov, pričom náklady na marketing stúpali ešte strmejšie. Pri PS3 a PS4 už hovoríme naozaj o nákladovosti ako u holywoodskych blockbusteroch. Poliakov stál Cyberpunk 2077 mnoho rokov práce, pričom ja osobne už všetko nad 2-3 roky považujem za ekonomickú samovraždu, ak nejde o hru, o ktorej viem, že bude naozaj 110 percentná. V peniazoch ich to vyšlo na circa 320 miliónov euro a to predpokladám, že poľská mzda je nižšia ako americká a hra mohla kľudne stáť aj 500 mega, ak by v tom bola vyššia hodinová mzda na západe.

Rentabilnosť investície podľa zdravého rozumu hovorí o dobrej návratnosti, ak zarobíte aspoň 2-3 násobok vkladu.  Ak teda vložím do budúcej AAA hry 500 mega a čakám aspoň 1.2 miliardy euro nazad, tak musím predať aspoň 24 miliónov kópií po 50 euro a to tak rýchlo ako je to možné. Žiadna hra toľko na PS5ke nepredá v deň jej štartu, ani v tomto roku, ani v budúcom a asi ani "nikdy". Nie je mi známa žiadna PS4 only hra, ktorá by aj pri veľkej uživateľskej základni dosiahla tieto predaje. Zdá sa, že je to fyzicky nemožné, musel by ísť o niečo univerzálne. Šťastná trefa, čo sa podarí raz za dekádu alebo za dve ako je povedzme Minecraft.

PS5 teda narazila na niekoľko limitov. Ten technologicky zas hovorí, že je mimoriadne náročné z konzoly dostať väčšinu jej potenciálu, aj keď je narozdiel od PS2-PS3 ľahučko programovateľná. Už len na výrobu grafických asetov zajtra potrebujete stovky, tisíce muklov. Na zvládnutie vlastnej softvérovej renderpipelajny zas titul profesora. Výkonu je tam proste príliš veľa, možnosti príliš obsiahle. Skutočne tvrdá exploatácia PS5 je mimo ekonomických možností 85% vývojárov. Je to to isté, ako keď so mzdou 2100 euro v hrubom nemáte na zabezpečenie chodu auta Bugatti Veyron. Nemáte na poistky, na servis, na opravy. V tejto pasci sa teraz SONY s PS5 nachádza.

PS5 má výborné CPU, GPU, RAM a unikátne SSD IOP riešenie, ktoré chce každý vidieť čo najskôr v akcii. Ako už však vieme en masse sa status hier ako Spiderman, Horizon, God of War, Gran Turismo z očakávanej PS5 polohy zmenil na cross gen PS4-PS5 hry. Ide teda primárne o PS4 hru s kozmetickým vylepšením na PS5ke. Výkonnostný rozdiel medzi PS4 a PS5 je veľmi podobný rozdielu medzi PS2 a PS3. A aj keď sa to teraz nezdá, je dokonca ešte väčší. PS5 konečne umožňuje skutočne novú "next gen" hrateľnosť. Opustenie PS2 štandardu - statické prostredie, takmer žiadna interakcia a fyzika, takmer úplne blbá AI. Prakticky stále tie isté 30 rokov staré, overené herné postupy.

Pri otázke financovania veľkých AAA hier nevidím iné riešenie ako je smrť exkluzivít. Nech každá generácia Playstation konzoly predá obligátnych 100 mega kusov. Nech každá generácia zároveň dvihne náklady na vývoj a marketing o 50-500%. V istom okamihu sa tá dvojica týchto kriviek na grafe pretne nesprávnym spôsobom a starým časom je koniec. Považujem, za veľmi nebezpečné ako multiplatformové "holdingy" - T2, EA, Ubisoft komfortne v hlavných ukazovateľoch /kvalita hry, kvantita zisku, šírka investícií, rozvoj, softvérové technológie/ predbiehajú čisté exkluzivity. Peniaze sú moc, vplyv, schopnosť ovládať situáciu. SONY a MS to vedia a každé svoje IP teraz musia automaticky vidieť na svojej konzole, na PC, v istej forme na mobilitách, na ladničke s displayom. Ekonóm im tu kalkuláciu urobí doobeda. A áno, samozrejme, situácia pri prechode na PS6 bude identická s tou dnešnou a PS5 pôjde hlboko do jej teritória. Svätý grál skutočne "next gen" hrateľnosti, jasná červená čiara, dosiahneme po prvýkrát cca o 10 rokov.

07/06/21

Horizont: limit ohraničujúci mieru vašich vedomostí

Hranice sa majú prekonávať, nie stavať na nich múry a krčiť sa za nimi posraný strachom. Na neogaf.com som nazval Horizon Forbidden West herne štandardnou PS2 hrou, kde "Lara Croft" pobehuje medzi dinosaurami ako blcha v psom kožuchu. Reakcia bola pobúrená, lebo predsa v HZD môže Aloy počas boja takticky meniť zbrane a "udelátka" a to predsa Lara nemôže. Nechajme stranou, že nebudem strácať čas s blbečkami, čo hrajú hry druhý deň aj cestou. V novšej Lara Croft hre bežne používate luk, útočné pušky rôzneho typu, brokovnicu, dokonca sekeru. Ale to z nej nerobí hru s modernou non-PS2 hrateľnosťou. Problémom prvého aj druhej hry Horizon IP je, že ide stále iba o pobehujúceho panáka, čo pomaly ohrýzava blbú NPC o jej health points.

epické z zábery z HZD a HFW - avšak ani v jednom sa zatiaľ nelieta

Na jednom z prvých obrázkov z Horizon Zero Dawn je lietajúci dino nad peknučkou postapokalyptickou krajinou. Ani vo sne by ma nenapadlo, že hra nakoniec neumožní osedlanie niečoho čo lieta. Zvládne to aj prastarý Word of Warcraft. BF 2142 /alebo iné BF hry tej doby/ na singel core CPU na 1.8Ghz umožňuje ovládanie strojov na vode, na zemi, vo vzduchu. Ak už v niečom letím, tak som schopný aj útočiť, aj keby som mal ručne zhadzovať bombičky ako v prvej svetovej. A do úvahy príchadza aj obľúbený taran, vysokorýchlostné kamikadze. Samozrejme so schopnosťou vyskočenia pred nárazom. Padák, kĺzanie a tieto srandy. Viac možnosti, viac srandy.

 
 glitch - engine HZD nepriamo umožňuje stroje sedlať a "lietať" na nich

Nič z toho Horizon Zero Dawn nepodporuje. Je to nedostatok ambícií na strane vývojára. Nepochybne aj nedostatok talentu. Nie je jednoduché to urobiť herne správe. A nepochybne bude ich verziou komentára tejto smutnej reality nedostatok času alebo vtedy ešte menej výkonný engine Decima. Takže sa s nádejou pozeráme na herné video druhého dielu, kde to už snáď herne "dajú lepšie". Ide stále o cross gen pre PS4 a PS5 ale ako som už ukázal - na bohatšiu gameplay vo všetkých živloch mi stačí aj HW PS2 alebo PS3. 

Na začiatku videu zívame nudou a sledujeme umierajúceho negroidného deda, čo chlemtá vodu a trvá to presne o minútu a pol dlhšie ako som schopný tolerovať. Aloy konečne beží a selektívne niektorá zeleň na dotyk reaguje a niektorá nie. Takže zatiaľ nuda a technologická laxnosť. Nasleduje herná klasika - Lara Croft a dinosaury. Nedostaneme akciu vo vzduchu ale vo vode a pod vodou. Vodné levely su historicky v hrách najhoršie hodnotené a najmenej obľúbené. Water Temple z Ocariny pre N64 srdečne pozdravuje. Asi preto sa v BF hrách toľko lieta a padákuje a tak málo plave a ponorkuje. Ku Guerilla Games sa ale tento odkaz nedorazil.

Obrovský elefant. V každej nehernej ukážke láme stromy a cez les vytvára diaľnicu. Vyzerá to takmer ako cielená provokácia. V hernej ukážke sa však po jeho nohami ani steblo trávy neohne, iba sa občas rozsype nejake schátralá stena /predpočítaná animácia/ ako v prvom diely. Čakáte hru so slonom medzi stromami, trochu fyziky. Zabudnite. A je tam ešte to paraglajdové krídlo ala plachtenie pod štítom v poslednej Zelde. V HFW je to taký malý myší prd, let v úvodzovkách. Dev tím sa inak striktne odmieta vyjadriť k tomu, či sa v hre lietať /a bojovať zo vzduchu/ bude alebo nie.

Ako by to gameplay video vyzeralo podľa mňa. Pribudla schopnosť "voľného" lezenia, po vertikále dostanete asi takmer kdekoľvek. Takže to hneď využijeme od prvej sekundy nového videa a po chvíľke lezenia necháme panáka visieť 300 metrov nad zemi, na tých rozpadlých mrakodrapoch, alebo na špičke piliera Golden Gate. Po chvíľke spadne a vo voľnom páde otvárame to paraglajdové krídlo. Ešte počas riadeného pádu pristávame na chrbáte lietajúceho dina a útočíme v reálnom čase na slona čo zrovnáva les zo semou. Po kamikadze útoku ťaháme luk a šíp, ktorého špičku si len tak nedbalo zapálime vo vedľa horiacich troskách /to som inak videl v jednom reálnom hernom UE4 koncepte/. Využijeme deravenie palivovej nádrže ala GTA a zapálenie benzínovej stopy. V troch minútach videa teda ukážeme nové lezenie, plachtenie, osedlávanie lietajúcich strojov, novú fyziku a interakciu. Prístup k riešeniu problému z mnohých uhloch. Čokoľvek iné je nedostatok ambicií a talentu. A Guerilla Games sa zjavne nedostáva obojeho. Už teraz môžem povedať, že nová Zelda na novej revizií konzolky Switch opäť ukáže bludným holanďanom ako sa to má robiť správne.

01/06/21

Unreal Engine 5: Prvá krv

V roku 2021 sa vraciame metodikou renderovania grafiky naspäť do roku 1991. Nejde o frajerskú pózu, ide o vynútený krok a súčasť večného cyklu vývoja grafiky. Univerzálnosť-špecializácia-ultra špecializácia-univerzálnosť. Pred 30 rokmi neexistovalo GPU tak, ako ho poznáme dnes. Nepoznali teda ani tieňovanie pixelov v programe bežiacom na grafickej karte /pixel, vertex shader/. Žiadna akcelerácia rasterizácie. CPU muselo všetko zvládnuť samo, čomu bola prispôsobená geometrická komplexnosť hry, množstvo animácie, fyziky, kvalita AI. Postupne sa so štandardizáciou GPU, grafického API na nich presúvalo viac a viac práce. Transformácia 3D grafiky, jej nasvietenie, veľmi komplikovaný shader kód za každým krajšim efektom, akcelerácia rasterizácie a alfa operácií. Dospeli sme do bodu, keď na 2000+ eurovej a 400 watovej GPU Nv 3090 si v hre Cyberpunk 2077 môžte dovoliť luxusné, natívne rozlíšenie 900p na celkom stabilných 60 fps pri plnom a najkvalitnejšom nastavení raytracing režimu. Faktum bez zavádzania a zároveň sarkazmus. Niečo proste nefunguje správne.

Raytracing /RT/ postupne nahrádza rasterizáciu preto, lebo spotreba energie a komplikovanosť kódu pri druhom menovanom stúpa exponenciálne so stále zlepšujúcou sa úrovňou rafiky, pri raytracingu skôr lineárne a navyše RT výrazne urychľuje tvorbu, ladenie hry. Svetlo pri RT generuje všetky potrebné propriety /svetlo, tma, tieň, polotieň, lom, odraz/ automaticky bez nutnosti použiť na každý z nich špeciálne vyladený grafický, rasterizačný "hack". Komplikáciou je, že sa raytracing ako presná metóda snaží strieľať lúče voči každému polygónu, ktorý nájde a už pri biednej PS4/XO úrovni geometrie ala Cyberpunk 2077 je tých polygónov príliš veľa a Nv 3090 je na kolenách.

Počet polygónov na scéne tu nezdôrazňujem nadarmo. Medzi PS4 a PS5 generáciou totiž zaznamenáme aj 1000 až 100 000 násobne zvýšenie ich počtu /pomôžu nám aj nové GPU extenzie ako Mesh shader, meshlets, to je ale iná téma/. UE5 používa vlastnú variantu spracovania geometriu meno Nanite s novým formátom definície objektov a rozkladom až na subpixelové primitíva /sú tam bláznivé veci ako auto generované draw calls priamo mesh objektom namiesto CPU, ale tým sa nebudeme teraz zaťažovať/. Virtualizované, pakované dáta geometrie cucané z SSD v strašnom množstve. Klasický raytracing by sa pri takej hustote polygónov potom dal použiť iba limitovane na niektoré efekty a iba na niektorých povrchoch. Globálna iluminácia, teda svetelná kompletka "na všetkom" by nepripadala do úvahy, ako už dokázal aj ten Cyberpunk 2077. Potrebujeme novú paradigmu, ktorá doručí extrémne vysokú hustotu geometrie, svetlo v RT kvalite a použiteľný framerate 30-60 fps. Ťažká práca.

No a jedným z prvých oficiálnych pokusov je Unreal Engine 5. Nejde tu iba o hru s vyššim poradovým čislom. Skutočne sa vraciame do roku 1991 a engine používa GPU ako CPU. Prenáša shader compute /doteraz skôr iba výpočet farby pixela/ do hlavnej renderpipelajny. Tabu aréna. Doteraz bola z veľkej časti riadená mimo kontroly programátorov priamo ovládačmi grafickej karty. UE5 umožňuje ignorovať štandardnú HW renderpipelajnu vášho GPU. Vypne HW rasterizáciu, HW raytracing, ďalšie bloky v HW a prejde na maximálne efektívny softvérový rendering bežiaci v shader kóde GPU. Je to ako ďalší OMG ZERO OVERDRAW moment !! Technicky tam nájdete dvojicu softvérových raytracerov pre dlhé a stredné vzdialenosti a sopľavú socku SS /screen space/ renderer pre krátke vzdialenosti a drobné detaily. To slovo drobné je kľúčové. Epic totiž používa staré finty /viď obrázok nižšie/ a engine má ešte mnoho problémov, ktoré je potrebné doriešiť.

Niekedy veľmi dávno, keď všetko v grafike odmakalo CPU, ste museli dobre premyslieť existenciu každého polygónov, každého pixelu. Flat shading znamená, že ste tak pomalý, že jednému polygónu môžte priradiť iba jednu farbu, viac nestihnete vypočítať. Gouraud alias vertex shading je obrovský krok vpred. Každý polygón /typicky trojuholník/ môže niesť až tri rôzne farby, s interpoláciou na celú plochu. A konečne Phong alias per pixel tieňovanie môže priradiť individuálnu farbu každému jednému pixelu na polygóne. Ak používame bežné 25-50 pixelové trojuholníky, tak je spotreba výkonu pri per-pixel maľovaní oproti Flat shadingu strašná. Raytracing je rovnako zavraždený množstvom jednotlivých trojuholníkov, oproti ktorým testuje intersekcie svetla a hmoty !! RT je dnes ešte na HW úrovni priliš pomalé a polygónov je priliš veľa a bude ešte viac. Zdanlivo patová situácia.

Riešením je teda niečo ako "optimalizačný" návrat od Phonga ku Gouraud až na Flat úroveň, ale v kvalite Phonga. Paradox. UE5 pod menom Lumen používá jeden ručný super optimalizovaný softvérový raytracer pre veľké vzdialenosti, ktorý voxelizuje vzdialený priestor. Nerátame teda s jednotlivými trojuholníky ale hernú geometriu dáme do väčších blokov /ako ten Flat shading/, teda nižšia presnosť RT. Nevadí to, lebo ide o vzdialenú geometriu napríklad nad 1 kilometer. Stredná vzdialenosť to rieši ako proxy mesh prezentáciu cez SDF funkciu /ako Gouraud/. Strašná to definícia, ale nie je to nič ťažké. SDF je signed distance field technika ala Dreams engine na PS4 /objekt nemá súradnice v priestore v karteziáne ale je definovaný skôr vzdialenosťou svojho povrchu od iných referenčných bodov, získate zároveň "zadarmo" primárny tracing/. Namiesto bežného poly meshu sa urobí jeho hrubšia SDF proxy podoba a oproti nej beží ten druhý softvérový raytracer. A nakoniec najmenšie detaily, najbližšie k hráčovi rieši screen space postup. Ak teda Epic na dev stránke upozorňuje, že Lumen nasvetľovací engine môže mať problém s malými, tenkými objektami, je tomu tak preto, lebo hlavný raytracer číslo 1 a 2 pracujú so silne zjednodušenou, hrubšou verziou geometrie a ňou vypočítané svetlo môže míňať v priestore tu skutočnú "tenšiu" geometriu. Získavame rýchlosť na úkor presnosti RT. Problém s drobnými detailami, ktorý som už spomenul vyššie ešte čaká na lepší shader kód.

UE5 je teda evolučne revolučný v tom, že integruje do svojej grafickej paradigmy nové spracovanie geometrie s explozívným nárastom komplexnosti scény. Je navyše primárne ladený pre streaming dát z adekvátne rýchleho SSD a snaží sa šetriť dostupnú RAM. UE5 berie ohľad na konzoly. A za druhé prináša nové hybridné riešenie nasvietenia použitím softvérového raytracingu a softvérovej rasterizácie /je možné použiť aj HW cestu, ak je táto v danej situácii rýchlejšia/. Skutočne ojedinelý, špičkový, výkonný grafický engine pre PS5 bude stáť a padať na veľmi talentovaných kóderoch. Oveľa viac ako na PS4ke, ktorá išla viac na autopilota. Rovnako ako na PS2ke, kde to takto nešlo. Naprogramovanie kompletne vlastnej renderpipelajny dnes zvládne menej ľudí ako v 1991. Je to ideovo to isté, ako v časoch Wolfensteina a Quake ale objemom dát nezrovnateľne väčšie. Wolfstein nerieši nejaké tiene, fyzikálne korektné svetlo na materiáloch, skinované objekty alebo fresnel transparencie. Pointou vlastnej renderpipelajny je dostať GPU o niekoľko tried nad jej papierový výkon. Epic je veľká a skúsená firma. Machri z DICE pripravia niečo podobné a obidvaja sa pozerajú smerom ku oveľa menším ukrajincom z 4A Games /Metro IP/, ktorí už bodujú hláškami, že rasterizácia v ich hrách viac nemá čo hladať. Očakávam veľký súboj kóderov na poli HW, hybridných alebo čiste softvérových nových renderovacích postupov. Ide o prestíž. PS4 mala dvojicu podobných pokusov - The Tomorrow Children /voxelizovaný softvérový raytracing/ a Dreams /SDF renderer/. UE5 nie náhodou obe postupy teraz kombinuje na jednom mieste. Na PS5ke toho bude ešte oveľa viac a v oveľa väčších hrách.

 

V rovnakom čase ako to odpálil UE5 zároveň spúšťam aj desaťročný plán ku prvej pravej next gen hre. Pravá next gen hra je v úplnom antagonizme k tomu, čo hrajeme už pomaly 50 rokov od prvej Pong videohry. Bež, skoč, zober, zabi. Statické prostredie, žiadna fyzika, tupá AI. Herný oblúk vyčerpá veterán ako ja do piatich minút. UE5 je začiatok. Celé middleware má pred sebou ešte roky práce. Nanite aj Lumen sú v štádiu polotovaru. UE5 však získa schopnosť absorbovať asety vo filmovej kvalite v terabajtových objemoch, novú fyziku, novú AI. Prechod z hybridnej "hack" RT/rasterizácie na plný, čistý raytracing. Príde dostatočný výkon na strane HW /CPU, GPU, RAM, SSD/ už v ďalšej generácií konzol. Príde aj kapitál a talenty. Presne o cca 10 rokov tu bude prvá hra s next gen gameplay. Ešte len potom vylezie gamebiz z plienok. V podobnej "pravej next gen" hre bude aj hádzanie kamienkom zábava na celé dni, lebo tak vďačne a dnes nepredstaviteľne interaktívne ten herný svet bude na vás a dokonca na vlastné prejavy spätnej väzby reagovať.