Amikor megnézi a PC-s kiadások állapota 2023-ban könnyű elkezdeni ujjal mutogatni. A játék nincs optimalizálva (bármit is jelentsen ez), vagy a kiadó túl gyorsan siettette ki, vagy megérkeztek az Nvidia által eladott grafikus kártyák túl kevés VRAM-mal. De ezek a vádak a legtöbb esetben félreérthetetlenek és elbizakodottak, és bár a valóságot sejtetik, nem mondják el a teljes történetet.
Tartalom
- Mi a baj?
- Amit jól tudsz csinálni
- Út a PC-portokhoz
Ajánlott videók
Tudni akartam, hogy valójában mi történik, ezért leültem néhány fejlesztővel, hogy megértsem a PC-s játékok állapotát, és hogy miért érkezett meg annyi kiadás ilyen nagy problémákkal. Ennél is fontosabb, hogy tudni akartam, mit tehetnek a fejlesztők és a kiadók a problémák megoldása érdekében, és bár a továbblépési út nem világos, nyilvánvalóvá válik, hogy a fejlesztők tudják, hogy létezik a probléma.
Mi a baj?
Először is meg kell határoznunk a PC-vel kapcsolatos alapvető problémát, különösen akkor, ha a játékokat játszható (ha nem tökéletes) állapotban szállítják konzolokra, de PC-re borzalmasan törve érkeznek. Magas szinten a PC-vel mint platformmal kapcsolatos probléma pontosan az, ami először is olyan csábítóvá teszi: a rugalmasság.
Összefüggő
- Az exkluzív PC-partnerségekkel mindenki veszít
- A konzoloknak még mindig van egy nagy előnyük, és ez árt a PC-s játékoknak
- Hogyan csalta rá egy vírusos bodycam játék az internetet, és azt gondolta, hogy valódi felvételről van szó
Marc Whitten, a Unity Create vezető alelnöke és vezérigazgatója azt mondja, hogy „a PC-konfigurációk puszta sokfélesége és változatossága, amelyeken a játékokat játszani fognak… váratlan problémákat fed fel.” Whitten rámutat a „különböző operációs rendszerekre és az új illesztőprogram-frissítésekre, a hőfokra és a várakozási időre, valamint a felhasználói testreszabásra” is, amelyek szerepet játszhatnak a problémában.
Biztos vagyok benne, hogy ez a válasz, amelyről a legtöbb ember azt hiszi, hogy ez a magyarázat.
De Whitten szerint a probléma nem maga a tesztelés hiánya. Azt állítja, hogy a játékokat „általában alaposan tesztelik a fejlesztés során”. A probléma abból adódik a különböző konfigurációk skáláját, amelyeket a fejlesztőknek tesztelniük kell, valamint azokat a változókat, amelyeket nem tudnak figyelembe venni számára.
Gondolatkísérletként tegyük fel, hogy egy fejlesztő 100 különböző PC-konfigurációt rögzített tesztelésre, változtatva a CPU-t, a GPU-t, RAM, és a merevlemez között. A rekord kedvéért, ez egy olyan szám, amit csak kihúzok, nem pedig olyasmi, amit a fejlesztő ténylegesen reális célként hivatkozott. Most vegye ezeket a konfigurációkat, és szorozza meg több tucat további tényezővel: Milyen operációs rendszert használ? Melyik verziója ennek az OS-nek? Mit szólsz a driver verzióhoz? Milyen BIOS beállítások vannak engedélyezve? Fut valamilyen szoftver a háttérben, például a Razer Synapse vagy a Corsair iCue?
A lehetséges konfigurációk köre messze túlmutat azon, hogy milyen CPU és GPU van a rendszerben, és ezek a tényezők könnyen több tízezer forgatókönyvre szaporodhatnak, amelyeket a fejlesztők egyszerűen nem tudnak figyelembe venni számára. Egy ideális világban a fejlesztők a legnépszerűbb PC-konfigurációk legnagyobb problémáit kijavíthatják a legújabb illesztőprogram- és operációs rendszer-frissítésekkel, így csak apró, konkrét problémákat kell megoldani az indítás után.
Whitten sincs egyedül ezzel az érzéssel. John Johanas, a játék igazgatója Hi-Fi Rushés A gonosz belül 2, azt mondja, hogy „meglehetősen irreális azt gondolni, hogy olyan terméket készíthetsz, amelyen hibátlanul működik korlátlan konfigurációnak tűnik a CPU-k, GPU-k, memória és még valószínűbb, hogy mi fut a háttér."
Hideyuki Miyashita, rendszerprogramozó Hi-Fi Rush, egyetértett, de kifejezetten rámutatott a játék minden lehetséges konfigurációra való optimalizálásának költségeire: „In PC-teljesítmény szempontjából, így minden grafikus funkció méretezhető a különböző konfigurációkhoz ideál; a fejlesztési költségek azonban felső határt szabnak a reális méretezhetőség támogatásának.”
Ez nem egy új történet. A számítógépes konfigurációk nagy tömege a bűnös mindenben, kezdve attól, hogy milyen nehéz optimalizálni a játékokat PC-n, egészen addig, hogy miért nem láttuk Az Xbox gyors önéletrajza megjelenik a Windows rendszerben. A kérdés az, hogy a korlátozott idő és pénz ellenére mit tehetnek a fejlesztők. Mert a PC-k nem lesznek egyszerűbbek, a játékok pedig továbbra is töretlenül érkeznek a platformra.
Amit jól tudsz csinálni
Sok példánk van arra, hogy ebben az évben a játék hibásan működik a PC-s támogatással. Egy elsőszámú példa az Star Wars Jedi: Túlélő, amely jelenleg „Vegyes” felülvizsgálati státuszban van a Steamen annak ellenére, hogy az év egyik legelismertebb játéka. A legfelső értékelés így szól: „Egyetlen összeomlás megrongálta a 140 órás, 99,8%-os NG+ mentési fájlomat.” Igen.
Felvettem a kapcsolatot a fejlesztőcsapattal, hogy képet kapjak arról, mi a hiba, és bár kezdetben fogékonyak voltak, az EA közbelépett, és leállította az e-mailjeim visszaküldését. Tehát ahelyett, hogy azt néznénk, hogy a játékok milyen rosszat tesznek a PC-n, azt kell megvizsgálnunk, hogy a fejlesztők mit csinálnak jól.
Hi-Fi Rush kiváló esettanulmány. Ez egy új játék egy AAA stúdiótól, és a hírhedt Unreal Engine 4-et használja. Azt gondolhatja, hogy az almát a narancshoz hasonlítja Hi-Fi Rush és egy játékhoz hasonló Star Wars Jedi: Túlélő, de több a közös bennük, mint gondolnád. Amint Johanas rámutat: „… a tény, hogy a játék rajzfilmes esztétikával rendelkezik, egyes felhasználóknak azt a felfogását adják, hogy a játék nem jelenthet problémát annak futtatása senki számítógépén. Valójában a játék sok mindent megtesz annak érdekében, hogy elérjük azt a megjelenést, amelyre vágytunk, és folyamatosan mozgó világ, ami nagyon megterhelő… Tudtam, hogy belépek, és megbizonyosodtam arról, hogy megpróbáljuk eltalálni ezeket elvárások."
A cél kezdettől fogva fontosnak tűnt Hi-Fi Rushstabilitása. A fejlesztők megjegyzik, hogy a tervezési cél kezdettől fogva legalább 60 képkocka/másodperc (fps) fenntartása volt, mivel egyszerre ritmusjáték és akciójáték, ahol az ettől a ponttól való elmaradás „csuklást okozna, [amely] a zene szinkronizálását és rossz játékélményt eredményezhet” Johanas.
Hogyan sikerült a Tango Gameworks csapata? Ez széles körben három fő pontra bontakozik ki: gondos VRAM-figyelés, aszinkron műveletek és PSO gyorsítótár.
Kosuke Tanaka, a vezető grafikus programozója szerint Hi-Fi Rush, a csapat a fejlesztés minden lépésében figyelemmel kísérte a VRAM-használatot. Ez természetesen magában foglalja az egyes szintek, de az egyes művészeti szekciók VRAM-használatának monitorozását is, megkérve a művészeket, hogy csökkentsék a textúra vagy a háló memóriahasználatát, hogy beleférjen a játék költségvetésébe. Ez a játékfejlesztésben sem ritka.
Mi működik benne Hi-Fi RushKegye erős művészi iránya. Ahogy Tanaka rámutat: „A művészeti stílusunk segített nekünk egy kicsit, mert nincs szükségünk hagyományos PBR-textúrákra, például normál térképekre, érdességre térképek vagy fémes térképek.” Ez annak bizonyítéka, hogy kreatív korlátokkal dolgozunk, és hogy ez hogyan befolyásolhatja a döntő stabilitását termék. Johanas azt mondja, hogy nem kisebb hatókörről van szó, hanem arról, hogy „nem kell ok nélkül nagyot menni”.
Megkérdeztem a csapatot, hogy mit tanultak Hi-Fi Rush hogy nagyobb, tágabb projektekben is megvalósítható, de a Tango nem pontosan így veszi le a tanulságokat a játékból. Valójában a fejlesztőcsapat azt mondta, hogy sokkal többet tanult az optimalizálásról Ghostwire: Tokió, amely jobban beleillik a hagyományos AAA formába, és átvitte ezeket az ötleteket Hi-Fi Rush, nem fordítva.
„Sokat tanultunk arról, hogyan kezeljük a játékon belüli dadogást Hi-Fi Rush optimalizálási tapasztalataink alapján Ghostwire: Tokió– mondta nekem Miyashita. Ennek nagy része volt Pipeline State Object (PSO) gyorsítótárazás. Ez az Unreal Engine 4-ben elérhető funkció, amely segít csökkenteni a dadogást azáltal, hogy a játék futtatása előtt előrefordítja a shadereket.
A fő probléma az, hogy az Unreal Engine 4 ezt nem teszi meg automatikusan, ami olyan helyzetekhez vezet, amikor a shadereknek le kell fordítaniuk játék közben, ami akadozást okoz. Miyashita azt mondja, hogy „ez egyes utófolyamatok és a VFX dadogást eredményezett.” A programozó azt is elmondja, hogy a PSO gyorsítótárazás nem kötelező, ezért a fejlesztőnek erre külön figyelmet kell fordítania.
A gyorsítótárazás azonban nem old meg minden problémát, és itt jönnek be az aszinkron műveletek. A Hi-Fi Rush a csapat aszinkron fordítást használt – ahol a shadereket a játékszáltól külön fordítják –, de ez is nagy hangsúlyt kapott, mivel a játék Unreal Engine 4-en futott.
Ahogy azt más Unreal Engine 4 játékoknál is láthattuk, mint pl Star Wars Jedi: Túlélő és Redfall, a motor nem túl jó a modern CPU-kon elérhető sok szálra skálázásban. Mint Miyashita kifejti: „Az, hogy mennyire nehéz lehet a többszálas támogatás támogatása, nagyban függ a használt motortól építészet. Sajnos az UE4 ebből a szempontból egy kicsit alulmarad.”
A fejlesztő szerint az Unreal Engine 4 a színészek (objektumok/karakterek) és widgetek (UI és overlay) létrehozását ugyanabba a CPU-szálba helyezi, mint a játék. Ez azt jelenti, hogy amikor a játék például egy új karaktert akar betölteni, az elsőbbséget élvez a szálon. Miyashita szerint „ez összetett színész- és widget-alkotást eredményezhet, amely hosszú időre blokkolja a játékszálat.” Ez egy dadogás.
A megoldás az aszinkron műveletek. Miyashita szerint a csapat elemző eszközöket használ annak meghatározására, hogy mit csinál a CPU, amikor az objektumokat hozzák és igyekeznek ezeket a feladatokat különböző szálakba helyezni, hogy a játék ne lassuljon le. Ez a konkrét célzás segíthet az erőforrások betöltésében is. Ha ezeket a műveleteket párhuzamos struktúrába helyezi át, elkerülhető a streaming dadogás buktatói, amelyek az olyan játékokban jelen vannak, mint például Holttér.
Út a PC-portokhoz
A ma katasztrofális állapotú játékok fejlesztése évekkel ezelőtt kezdődött, bár bizakodó vagyok hogy a PC-s kiadások az év előrehaladtával javulni fognak, több évbe telhet, mire látjuk ezeket az alapvető problémákat címzett.
Whitten azt mondja, hogy „a fejlesztők ugyanúgy aggódnak a teljesítmény miatt, mint a játékosok”, és ezt az érzést többször is hallottam. Vannak módok a PC-kiadások optimalizálására, az előre gyorsítótárazott shaderektől az aszinkron műveleteken át a hardverek széles skáláján történő érvényesítésig. De a valóság az, hogy a fejlesztők nem tudnak mindent elszámolni, idő vagy pénz, és általában mindkettő miatt.
A továbbjutás itt egyszerű. Először is tudassa a játékok kiadóival, hogy szívesebben látna késést, mint egy tönkrement játékot. Ha kiabálsz a fejlesztőkkel, az nem sokat segít – ők már ismerik a problémát, és valószínűleg azt szeretnék, ha Ön is megoldaná. Másodszor, legyen óvatos, amikor a megjelenés napján új PC-s játékot vesz fel. Nehéz türelmesnek lenni, ha vársz valamit (hidd el, tudom), de vársz egy játék megvásárlására, amíg A problémák kijavítása erős jelzést küld a kiadóknak, hogy fordítsanak több időt és erőforrást a játékok csiszolásának biztosítására PC-n.
Könnyű elfelejteni, hogy ez még mindig feltérképezetlen terület. Most minden eddiginél jobban megérkeznek a játékok PC-re ugyanazon a napon, mint a konzolokra, ellentétben néhány évvel ezelőtt, amikor a PC-portok hónapokkal (vagy akár évekkel) később érkeztek meg. Két konzolgenerációval ezelőtt a legtöbb játékot csak ugyanazon a napon szállították egy platformra; az előző generációban kettő volt. Mostantól a fejlesztők várhatóan legalább három platformra szállítják ugyanazon a napon, és néha akár öt platformra is, ha van egy utolsó generációs verziójuk.
Nem nehéz belátni, hogy ebben a kontextusban miért vannak problémák a PC-n, de remélhetőleg készülnek még finomabb kiadások.
Ez a cikk része ReSpec – folyamatos, kéthetente megjelenő rovat, amely vitákat, tanácsokat és részletes beszámolókat tartalmaz a PC-s játékok mögötti technológiáról.
Szerkesztői ajánlások
- Megpróbáltam újra átélni a Halo elfeledett örökségét Mac-franchiseként – és ez katasztrófa volt
- Minden idők legrosszabb PC-portjai – és miért voltak olyan rosszak
- A Star Wars Jedi: Survivort a Steamen átbombázzák, mint „teljes szar” PC-portot.
- Hogyan kezeli az Unreal Engine 5 a PC-játékok legnagyobb problémáját
- Jön a mesterséges intelligencia a PC-s játékaihoz, de izgatottnak kell lennie, nem kell aggódnia