

Pri pohľade na stav PC vydaní v roku 2023 je ľahké začať ukazovať prstom. Hra nie je optimalizovaná (nech to znamená čokoľvek), alebo ju vydavateľ uponáhľal príliš rýchlo, prípadne prišli grafické karty, ktoré nám Nvidia predáva s príliš malou VRAM. Ale tieto obvinenia sú vo väčšine prípadov polovičaté a trúfalé, a hoci naznačujú realitu, nerozprávajú celý príbeh.
Obsah
- Aký je problém?
- Čo môžete urobiť správne
- Cesta vpred pre PC porty
Odporúčané videá
Chcel som vedieť, čo sa vlastne deje, a tak som si sadol s niekoľkými vývojármi, aby som pochopil stav počítačových hier a prečo prišlo toľko vydaní s takými veľkými problémami. A čo je dôležitejšie, chcel som vedieť, čo môžu vývojári a vydavatelia urobiť na vyriešenie týchto problémov, a hoci cesta vpred nie je jasná, začína byť zrejmé, že vývojári vedia, že existuje problém.
Aký je problém?

Po prvé, musíme identifikovať hlavný problém s PC, najmä keď sa hry dodávajú na konzolách v hrateľných (ak nie dokonalých) stavoch, ale na PC sa dostávajú strašne rozbité. Na vysokej úrovni je problém s počítačom ako platformou presne to, čo ho robí tak lákavým: flexibilita.
Súvisiace
- S exkluzívnymi PC partnerstvami prehráva každý
- Konzoly majú stále jednu veľkú výhodu a poškodzuje PC hranie
- Ako vírusová hra s kamerou oklamala internet, aby si myslel, že ide o skutočné zábery
Marc Whitten, senior viceprezident a generálny manažér Unity Create, hovorí, že „úplná rozmanitosť a variabilita konfigurácií PC, na ktorých sa hry budú hrať... odhaliť neočakávané problémy." Whitten tiež poukazuje na „rôzne operačné systémy a nové aktualizácie ovládačov, teplo a latenciu a prispôsobenie používateľa“ ako faktory, ktoré môžu hrať problém.
To je odpoveď, som si istý, že väčšina ľudí predpokladá, že je to vysvetlenie.
Problémom však podľa Whittena nie je nedostatok samotného testovania. Tvrdí, že hry sú „vo všeobecnosti extenzívne testované počas vývoja“. Problém prichádza nadol rozsah rôznych konfigurácií, ktoré vývojári potrebujú otestovať, ako aj premenné, ktoré nemôžu zohľadniť pre.
Ako myšlienkový experiment povedzme, že vývojár označil 100 rôznych konfigurácií PC na testovanie, pričom menil CPU, GPU, RAMa pevný disk medzi nimi. Pre záznam, toto je číslo, ktoré práve vyťahujem, nie niečo, čo vývojár skutočne označil za realistický cieľ. Teraz zoberte všetky tieto konfigurácie a vynásobte ich desiatkami ďalších faktorov: Aký operačný systém používate? Aká verzia toho OS? Ako je to s verziou ovládača? Aké nastavenia systému BIOS sú povolené? Máte na pozadí spustený nejaký softvér ako Razer Synapse alebo Corsair iCue?

Rozsah možných konfigurácií ďaleko presahuje len to, aký CPU a GPU máte vo svojom systéme, a tieto faktory sa môžu ľahko znásobiť do desiatok tisíc scenárov, ktoré vývojári jednoducho nedokážu zohľadniť pre. V ideálnom svete môžu vývojári vyriešiť najväčšie problémy najpopulárnejších konfigurácií počítačov pomocou najnovších ovládačov a aktualizácií operačného systému, pričom po spustení ponechajú len malé špecifické problémy.
Ani Whitten nie je v tomto pocite sám. John Johanas, herný riaditeľ Hi-Fi Rusha Zlo do 2, hovorí, že „je dosť nereálne myslieť si, že dokážete vyrobiť produkt, ktorý bude bezchybne fungovať na čom sa cíti ako neobmedzená konfigurácia CPU, GPU, pamäte a pravdepodobnejšie toho, čo beží v pozadie."
Hideyuki Miyashita, systémový programátor Hi-Fi Rush, súhlasil, ale konkrétne poukázal na náklady na optimalizáciu hry pre každú možnú konfiguráciu: „In z hľadiska výkonu počítača by bolo možné škálovať každú grafickú funkciu pre rôzne konfigurácie ideálne; náklady na vývoj však stanovujú horný strop realistickej podpory škálovateľnosti.“
Toto nie je nový príbeh. Veľké množstvo konfigurácií PC je spoločným vinníkom vo všetkom, od toho, aké ťažké je optimalizovať hry na PC, až po to, prečo sme nevideli Rýchle obnovenie Xboxu sa zobrazí v systéme Windows. Otázkou je, čo dokážu vývojári napriek obmedzenému času a peniazom, ktoré majú. Pretože počítače nie sú stále jednoduchšie a hry stále prichádzajú na nefunkčnú platformu.
Čo môžete urobiť správne

Máme veľa príkladov hier, ktoré tento rok zle podporujú PC. Jedno prvočíslo príkladom je Star Wars Jedi: Survivor, ktoré v súčasnosti je v stave kontroly „Zmiešané“. na Steame napriek tomu, že ide o jednu z najuznávanejších hier roka. Najvyššia recenzia znie: „Jedna chyba poškodila môj 140-hodinový uložený súbor 99,8 % NG+.“ Fuj.
Oslovil som vývojový tím, aby som získal predstavu o tom, čo sa pokazilo, a hoci boli spočiatku vnímaví, EA zakročila a prestala mi e-maily vracať. Takže namiesto toho, aby sme sa pozerali na to, čo hry robia na PC nesprávne, musíme sa pozrieť na to, čo robia vývojári správne.
Hi-Fi Rush je hlavnou prípadovou štúdiou. Je to nová hra od štúdia AAA a používa neslávne známy Unreal Engine 4. Možno si myslíte, že ide o porovnanie jablka s pomarančom Hi-Fi Rush a hra podobná Star Wars Jedi: Survivor, ale majú viac spoločného, než by ste si mysleli. Ako zdôrazňuje Johanas, „... skutočnosť, že hra má kreslenú estetiku, dá niektorým používateľom pocit, že by hru nemal byť problém spustiť na počítači kohokoľvek. V skutočnosti hra robí veľa vecí, aby dosiahla vzhľad, ktorý sme hľadali, a neustále pohybujúci sa svet, ktorý je veľmi náročný... Vedel som, že idem dovnútra a uistil som sa, že sa ich pokúsime zasiahnuť očakávania.”

Stanovenie tohto cieľa sa zdalo dôležité od začiatku Hi-Fi Rushstabilitu. Vývojári poznamenávajú, že od začiatku bolo cieľom návrhu zachovať aspoň 60 snímok za sekundu (fps), pretože ide o rytmickú hru a akčná hra, kde nedosiahnutie tejto známky by podľa Johanas.
Ako sa to tímu v Tango Gameworks podarilo? Vo všeobecnosti sa to scvrkáva na tri hlavné body: starostlivé monitorovanie VRAM, asynchrónne operácie a ukladanie PSO do vyrovnávacej pamäte.
Podľa Kosuke Tanaka, hlavný grafický programátor pre Hi-Fi Rush, tím monitoroval využitie VRAM počas každého kroku vývoja. To samozrejme zahŕňa monitorovanie každej úrovne, ale aj využitie VRAM každej umeleckej sekcie, pričom žiadame umelcov, aby znížili využitie textúry alebo sieťovej pamäte, aby sa zmestili do rozpočtu hry. To nie je nezvyčajné ani pri vývoji hier.
Čo funguje v Hi-Fi Rushpriazeň je jeho silné umelecké smerovanie. Ako zdôrazňuje Tanaka: „Náš umelecký štýl nám trochu pomohol, pretože nevyžadujeme tradičné textúry PBR, ako sú normálne mapy, drsnosť mapy alebo metalické mapy“. Je to dôkaz práce s kreatívnymi obmedzeniami a toho, ako to môže ovplyvniť stabilitu finále produktu. Johanas hovorí, že to nebola záležitosť menšieho rozsahu – išlo o to, že „netreba ísť bez dôvodu do veľkých rozmerov“.
Spýtal som sa tímu, z čoho sa naučil Hi-Fi Rush že by sa to dalo preniesť do väčších, širších projektov, ale nie je to presne to, ako si Tango berie lekcie z hry. V skutočnosti mi vývojársky tím povedal, že sa od neho dozvedel oveľa viac o optimalizácii Ghostwire: Tokio, ktorý zapadá viac do tradičnej formy AAA a preniesol tieto myšlienky do Hi-Fi Rush, nie naopak.

„Naučili sme sa veľa vedomostí o tom, ako sa vysporiadať s koktaním v hre Hi-Fi Rush z našich skúseností s optimalizáciou Ghostwire: Tokio“ povedal mi Miyashita. Veľká časť toho bola Ukladanie do vyrovnávacej pamäte Pipeline State Object (PSO).. Toto je funkcia dostupná v Unreal Engine 4, ktorá pomáha znižovať zasekávanie predkompilovaním shaderov pred spustením hry.
Hlavným problémom je, že Unreal Engine 4 to nerobí automaticky, čo vedie k situáciám, keď sa shadery musia skompilovať počas hrania hry, čo spôsobuje koktanie. Miyashita hovorí, že „to viedlo k niektorým postprocesom a VFX, ktoré spôsobili koktanie“. Programátor tiež hovorí, že ukladanie PSO do vyrovnávacej pamäte je voliteľné, takže musí byť pre vývojára špecifické.
Ukladanie do vyrovnávacej pamäte však nevyrieši každý problém, a to je miesto, kde prichádzajú na rad asynchrónne operácie. The Hi-Fi Rush tím použil asynchrónnu kompiláciu – kde sa shadery kompilujú oddelene od vlákna hry – ale bola to tiež veľká pozornosť vzhľadom na to, že hra bežala na Unreal Engine 4.
Ako sme videli pri iných hrách Unreal Engine 4, napr Star Wars Jedi: Survivor a Redfall, engine nie je veľmi dobrý v škálovaní na množstvo vlákien dostupných na moderných procesoroch. Ako Miyashita vysvetľuje: „Ako náročná môže byť podpora multi-threadingu, veľmi závisí od použitého motora architektúra. Bohužiaľ, UE4 v tomto smere trochu zaostáva.“
Konkrétne, Unreal Engine 4 podľa vývojára umiestňuje tvorbu hercov (objektov/postáv) a widgetov (UI a prekrytie) na rovnaké vlákno CPU ako hra. To znamená, že kedykoľvek chce hra napríklad nahrať novú postavu, má prioritu vlákna. Miyashita hovorí, že „to môže viesť k tomu, že vytváranie zložitých hercov a widgetov bude blokovať vlákno hry na dlhú dobu.“ To je koktanie.
Riešením sú asynchrónne operácie. Miyashita hovorí, že tím používa analytické nástroje na určenie toho, čo CPU robí, keď sa prinášajú objekty a že sa snažia presunúť tieto úlohy do rôznych vlákien, aby sa hra nespomalila dole. Toto špecifické zacielenie môže pomôcť aj pri načítavaní zdrojov. Presunutím týchto operácií do paralelnej štruktúry sa môžete vyhnúť nástrahám streamovania, ktoré sa vyskytuje v hrách ako Mŕtvy priestor.
Cesta vpred pre PC porty

Hry, ktoré dnes vychádzajú v katastrofálnych stavoch, sa začali vyvíjať pred rokmi, takže aj keď dúfam že PC vydania sa budú v priebehu roka zlepšovať, môže trvať niekoľko rokov, kým uvidíme tieto kľúčové problémy adresované.
Whitten hovorí, že „vývojári sa zaujímajú o výkon rovnako ako hráči“, a to je pocit, ktorý som počul niekoľkokrát. Existujú spôsoby, ako optimalizovať vydania PC, od predbežného ukladania do vyrovnávacej pamäte shaderov cez asynchrónne operácie až po overenie na širokej škále hardvéru. Realita je však taká, že vývojári nemôžu zodpovedať za všetko, kvôli času alebo peniazom a zvyčajne oboje.
Cesta vpred je tu jednoduchá. Najprv dajte vydavateľom týchto hier vedieť, že by ste radšej videli oneskorenie ako nefunkčnú hru. Kričanie na vývojárov veľa nezmôže – oni už problém poznajú a pravdepodobne by boli radi, keby sa vyriešil rovnako ako vy. Po druhé, buďte opatrní pri vyberaní novej PC hry v deň vydania. Je ťažké byť trpezlivý, keď sa na niečo tešíte (verte mi, ja viem), ale čakáte na nákup hry, kým Problémy boli opravené, vysiela silný signál vydavateľom, aby investovali viac času a zdrojov do zabezpečenia vylepšovania hier na PC.
Je ľahké zabudnúť, že toto je stále neprebádané územie. Teraz viac ako kedykoľvek predtým prichádzajú hry na PC v ten istý deň, keď dorazia na konzoly, na rozdiel od niekoľkých rokov dozadu, keď porty pre PC prišli o mesiace (alebo dokonca roky) neskôr. Pred dvoma generáciami konzol sa väčšina hier dodávala len v ten istý deň na jednu platformu; v predchádzajúcej generácii to boli dve. Teraz sa očakáva, že vývojári dodajú na minimálne tri platformy v ten istý deň a niekedy aj viac ako päť, ak majú verziu poslednej generácie.
Nie je ťažké pochopiť, prečo sú na PC problémy vzhľadom na tento kontext, ale dúfajme, že na ceste sú prepracovanejšie vydania.
Tento článok je súčasťou ReSpec – priebežný dvojtýždenný stĺpec, ktorý obsahuje diskusie, rady a podrobné správy o technológiách, ktoré stoja za hraním počítačových hier.
Odporúčania redaktorov
- Pokúsil som sa znovu prežiť zabudnuté dedičstvo Halo ako franšízy Mac - a bola to katastrofa
- Najhoršie PC porty všetkých čias – a prečo boli také zlé
- Star Wars Jedi: Survivor je recenzovaný a bombardovaný na Steame ako „totálny svinstvo“ PC port
- Ako Unreal Engine 5 rieši najväčší problém počítačových hier
- Umelá inteligencia prichádza pre vaše počítačové hry, ale mali by ste byť nadšení, nie sa báť