Az NVIDIA partnerprogramja
A PC-s piac egyik nagy szereplője az NVIDIA, amely vállalat majdnem másfél évtizede kínál grafikus vezérlőket a játékosok számára. Természetesen az említett cég is rendelkezik játékfejlesztőknek szánt partnerprogrammal, ami a The Way It's Meant to be Played névre hallgat. Ennek elemzése nem olyan egyszerű, mivel több éves fennállása alatt rengeteget változott, így ma már az NVIDIA nem úgy dolgozik, ahogy 6-8 évvel korábban, de ne rohanjunk ennyire előre.
A The Way It's Meant to be Played a fénykorát még Roy Taylor vezetésével élte nagyjából 2005 és 2008 között. Az említett szakember gyakorlatilag teljesen maga mellé állította a PC-s fejlesztőket, de a legtöbb felhasználó csak a 2008-ban elejtett és mára elhíresült mondatáról ismeri: az AMD, vagy a grafikus divíziónak számító ATI már csak a briteket érdekli. Roy Taylor 2010-ben hagyta el az NVIDIA-t, de 2008 közepétől már nem is dolgozott a partnerprogram egyengetéséért, tehát a zöldek nagyjából ilyenkor dönthettek amellett, hogy ezt a rendszert átalakítják.
A The Way It's Meant to be Played ennek megfelelően egy olyan múlttal rendelkezik, amely mindenképp megemlítendő, hiszen Roy Taylor többek között a fejlesztők munkájának a kiemelt segítését tartotta elsődlegesnek, és talán ez volt a siker kulcsa. Az NVIDIA ekkor rengeteg nagyon hasznos programot kínált a fejlesztőknek, mint például az FX Composer, illetve a PerfHUD, továbbá az akkor megjelent architektúráikat is teljesen dokumentálták, annak érdekében, hogy a fejlesztők az érkező szoftvereikben a lehető legjobb teljesítményt biztosíthassák a felhasználók számára.
Ez azonban a múlt, mivel a jelen teljesen más. Az NVIDIA a fejlesztőeszközeit lecserélte, befejezték az architektúrák teljes dokumentálását, illetve a teljesítményoptimalizálásra vonatkozóan is csak a CUDA-hoz vannak dokumentációk. Ebből persze ki lehet indulni, hiszen a DirectX és az OpenGL API-t használva is hasonló limitációkba lehet ütközni, de a fejlesztőknek maguknak kell kitapasztalni az NVIDIA hardvereinek határait.
Fontos kiemelni, hogy ez a piac egy üzlet, és az adott gyártó mindig olyan irányt választ, amely megfelel a hosszabb távú üzleti stratégiájának. Vélhetőleg az NVIDIA nagyjából 2008 környékén eldönthette, hogy az AAA kategóriás multiplatform címek helyett inkább az MMO és MOBA címeket, illetve az eSportot helyezi majd előtérbe. Ennek következtében változott meg a The Way It's Meant to be Played partnerprogram is, mivel az új célcsoport eltérő igényekkel rendelkezett.
Az NVIDIA több éve meghozott stratégiai döntései a jelenben nagy hangsúlyt kapnak, hiszen látható, hogy a nagyobb PC-s kiadók közül az Ubisoft és a Warner Bros. az állandó partnerük, de mellettük a Konami, a CD Projekt RED és a City Interactive is közel áll az NVIDIA-hoz. Ez kevésnek tűnik, viszont a vállalat rengeteg csak PC-re érkező játékot is támogat, vagyis erősen érezhető az AAA kategóriás multiplatform címek háttérbe szorítása, annak érdekében, hogy sokkal több erőforrás jusson a PC-exkluzív alkotásokra.
Ez egyébként kifizetődő stratégia, hiszen aki e játékszoftvereket kedveli, biztosan PC-t vesz. Az NVIDIA-nak már csak annyit kell elérni, hogy a megvásárolt PC-kben GeForce legyen. A multiplatform címek esetében többek között fennáll annak a veszélye, hogy a korábbi PC-s játékos áttér konzolra, vagyis a multiplatform címek támogatása mellett nemcsak az ideális grafikus vezérlőről kell meggyőzni a kiszemelt réteget, hanem arról is, hogy továbbra is PC-be fektessen. Ez sokkal kiszámíthatatlanabb vásárlásokat eredményez, és az NVIDIA minden bizonnyal úgy gondolkodik, hogy erre kockázatos egy hosszabb távú stratégiát felépíteni.
A fejlesztőeszközök
Az előző oldal adott némi betekintést a múltba a fejlesztőeszközök szempontjából, de az NVIDIA manapság nagyon elzárkózik, amire stratégiai indokaik vannak. Ma már elsődlegesen egy olyan fejlesztői réteget céloznak, ahol nem kiemelt szempont a tökéletes optimalizálás, sokkal inkább arra törekednek a partnereik, hogy a lehető legolcsóbban piacra tudják dobni az adott a PC-s játékot. Az NVIDIA fejlesztőeszközei is ennek tudatában készülnek. Ez borzalmasan elüt például az AMD stratégiájától, de ahogy az előző cikkünk végén is írtuk, több fejlesztő számára pont ez az ideális, mert nincs pénzük a végletekig optimalizálni a készülő alkalmazást.
Nagyon fontos, hogy az NVIDIA-nál semmi sem érhető el publikusan, tehát ha bárki szeretné a cég fejlesztőeszközeit használni, akkor előbb regisztrálnia kell. Szerencsére ez egy ingyenes dolog, tehát csak a vállalat visszaigazolását kell megvárni, és az alapvető csomagok elérhetővé válnak. Az NVIDIA ma az Nsight nevű fejlesztőcsomagot kínálja a partnereinek, amit kiegészít az úgynevezett Core SDK. Utóbbi a játékfejlesztők számára esetlegesen szükséges csomagokat is kínál, de ezekkel főleg gyártóspecifikus szolgáltatások érhetők el. Szintén megemlítendő a CUDA Toolkit és a PhysX SDK. Előbbit a játékfejlesztők nem használják, míg utóbbit már igen, de itt is érezhető, hogy főleg az MMO és MOBA címekben gondolkodó fejlesztők érdekeltek, míg a nagy kiadók ma már inkább abba az irányba menetelnek, hogy a fizikai motort is házon belül írják, illetve a korábban licencelt, jellemzően Havok vagy Bullet fizikai motorra épülő alapot tetszőlegesen módosítsák, hogy lényegesen gyorsíthassák a feldolgozást.
Az Nsight részletesebben
Ahogy említettük, dokumentációk nem léteznek az NVIDIA friss architektúráihoz, így pedig a disassembler elkészítése is értelmetlen, hiszen a fejlesztők nem fogják tudni, hogy miképp lehet gyors kódot írni a GeForce termékekre. Itt a legtöbben még mindig a 2006-ban megjelent, G80 kódnevű GPU-hoz írt, egyébként kiváló dokumentációból indulnak ki, de ez már egyre kevésbé tekinthető jó megoldásnak, tehát valamilyen formában pénzt kell áldozni az új NVIDIA architektúrák működésének visszafejtésére. Ez a PC-s játékfejlesztők számára egy kényelmetlen helyzet, hiszen sokan szeretnének jól optimalizált programokat letenni az asztalra, de ehhez nem kapnak elég segítséget az NVIDIA-tól. Ez is egy stratégiai lépés valamilyen szinten, mivel a zöldek szeretnék a régi jó partnereiket, illetve bizonyos értelemben barátaikat előnyben részesíteni. Ez nagyon látszik az Epic Games segítésén, hiszen az Unreal Engine 4 nevű videojáték-motor kódjának elkészítésében nagyon sokat segített az NVIDIA, de sok fejlesztő nem szereti, ha egy hardvergyártó túl sok szabadságot kap a saját szoftverük teljesítményének kialakításában.
A PC-s piacon az egyik gond, hogy a játékfejlesztők elitje szempontjából többen vannak azok a cégek, amelyek szeretnék maguk megoldani az optimalizálást, és ehhez csak szimplán segítséget kérnének főleg dokumentációk, fejlesztőeszközök és disassembler formájában. Ez a fejlesztés szempontjából is praktikus, hiszen az adott cég írta a kód nagy részét, tehát ismeri azt, így könnyebbé válik a menedzselés és a továbbfejlesztés. Ez sajnos egy rendkívül aktuális probléma, aminek nincs igazi megoldása, hiszen a hardvergyártók stratégiája (kiemelve az AMD-t és az NVIDIA-t) annyira eltérő, hogy nehéz egy közös nézőpontot kialakítani, tehát vezető fejlesztőstúdióknak nagyrészt marad a nem dokumentált architektúrák egyéni visszafejtése, amivel lehetővé válik a GeForce-okra való optimalizálás is.
Erre vonatkozóan azonban az NVIDIA kínál saját megoldást, amely bár több nagy stúdió elveivel szembemegy, de mindenképp alternatívának nevezhető, főleg abból a szempontból, hogy a kisebb stúdiók számára rendkívül költséghatékonynak számít.
Majd az NVIDIA optimalizál
Az optimalizálás természetesen az NVIDIA nézőpontjából is fontos, de pontosan tudja a cég, hogy az elzárkózásuk miatt a partnereik is képtelenek igazán gyors kódot írni a termékeikre, hacsak vissza nem fejtik az architektúráik működését. Erre az elmúlt évben bemutatkozott az NVIDIA saját megoldása a GameWorks csomag részeként. Ez egy olyan zárt fejlesztői effektgyüjtemény, amelyet az NVIDIA önmaga ír a partnereik bevonása nélkül, és felkínálják licencre a PC-s piacon érdekelt stúdiók számára. Maga a GameWorks ingyenes, tehát elég az NVIDIA szoftverpartnerévé válni és az összes effekt letölthető az alábbi oldalról. Ezek azonban az alapértelmezett licenckonstrukcióval semmilyen formában nem módosíthatók, amit fontos figyelembe venni az alkalmazásuknál.
Bár az effekteket könnyű úgy elképzelni, hogy ezek egyszerűen beépíthetők az adott videojáték-motorba, valójában vannak bizonyos követelmények, amelyeket szem előtt kell tartani. Például az effekt használhat olyan eljárást, amelyet a videojáték-motor leképzője nem képes megoldani. Ez pusztán egy kompatibilitási kérdés, és ilyenkor jellemzően érdemes alternatív algoritmust választani az adott effekt által megoldandó problémára. A GameWorks esetében fontos figyelni az egyes effektek követelményeit, mivel a forráskód alapértelmezett licenckonstrukcióval megváltoztathatatlan, vagyis a fejlesztőnek nem az effektet kell a videojáték-motorhoz szabni, hanem pont fordítva kell eljárni. Bizonyos effektek esetében ezt nagyjából olyan bonyolult kivitelezni, mintha a házépítést a tetőtérrel kezdenénk, tehát már a fejlesztés elején érdemes kiválasztani a felhasználandó GameWorks effekteket és azok követelményeinek megfelelő leképzőt kell írni. Például a haj és a szőr szimulációjára szolgáló HairWorks csomag esetében fontos az MSAA élsimítás támogatása, mivel maga az effekt nem tartalmaz speciális analitikai élsimítást, tehát a hajszálak és szőrszálak pontos megjelenítéséhez pixelenként több színmintára is szükség van. Amennyiben az adott videojáték-motor nem támogatja az MSAA-t, úgy a HairWorks technikailag még működni fog, de gyenge minőségű lesz az eredménye.
Persze a nagyfokú előretervezés is félrecsúszhat, így a GameWorks tartalmaz egy kiskaput, amely egy speciális licenc keretében nyitható ki. Ilyenkor a fejlesztőpartner kérhet hozzáférést az esetlegesen problémás GameWorks effekt forráskódjához. Ezt a kérvényt az NVIDIA megvizsgálja, majd ha jogosnak találják, akkor a kód egy részét megosztják a partnerükkel, így megoldhatóvá válik a kompatibilitási célzattal elvégzendő módosítás. Ez szintén lényeges eleme az NVIDIA koncepciójának, hiszen a forráskód teljes elzárása nagyon sok esetben lehetetlen helyzetbe hozza a vállalat partnereit, amit igazából senki sem szeretni. Viszont magát a megosztott forráskódot csakis pár ember láthatja az adott stúdión belül, és annak megosztása sem lehetséges a konkurensekkel, azaz az Intellel és az AMD-vel, így elkerülhető az is, hogy az utóbbi két vállalat az optimalizálásra vonatkozóan javaslatokkal álljon elő.
Törvény szerint ugyan nem lehetne megtenni, de ne legyenek illúzióink, utóbbi két cég bizonyosan visszafejti az NVIDIA architektúráinak működését. Régen ez lényeges problémát jelentett, ugyanis a GameWorks előtti időkben az NVIDIA nem szabályozta ennyire szigorúan a forráskódhoz való hozzáférést, tehát az adott fejlesztőstúdió esetleg megmutatta a kapott effektek kódját a konkurenseknek is. Sok esetben ez azt is jelentette, hogy az Intel, illetve az AMD a kódot átírta úgy, hogy minőségvesztés nélkül is jelentősen begyorsuljon, ami a maximális grafika melletti gépigény csökkenéséhez vezetett. Ma már ennél sokkal jobban szabályozott a GameWorks, így ilyen szituáció nem fordulhat elő.
A fentiek után érthető, hogy a PC-s fejlesztői elitet miért nem érdekli az NVIDIA GameWorks kezdeményezése. Ugyanakkor nagyon szűken vizsgálnánk a kérdést, ha csak a sok pénzzel rendelkező, ezen belül is a PC-re történő optimalizálást tényleg megfontoló szoftverfejlesztőket vennénk górcső alá, így elmondható az is, hogy a GameWorks sok stúdiónak rendkívül hasznos. Azzal, hogy az NVIDIA kész effekteket kínál, a kisebb cégeknek elég csak az adott videojáték-motor leképzőjét megfelelő kompatibilitással felruházni, majd az effektek szimplán beépíthetők. Ez tulajdonképpen nem igényel kutatási költséget és az implementálás is relatíve gyorsan megoldható.
A GameWorks tehát kifejezetten értékes annak a fejlesztői rétegnek, amely a hasonló effektek kidolgozására amúgy sem tudna pénzt áldozni. Ezzel az is másodlagos tényezővé válik, hogy a GameWorks effektek meglehetősen általánosak, így nem futnak túl gyorsan, de jó optimalizációra nagyon kevés stúdiónak van pénze, illetve nem egy cég a PC-t nem tartja annyira fontosnak, hogy költsön rá, tehát abszolút elfogadható, hogy funkcionálisan működjenek az effektek, a megfelelő hardvert pedig meglehet venni hozzájuk.
A GameWorks még az MMO és MOBA címek esetében is érdekes. Sőt, itt jönnek elő az igazi előnyei. Az említett kategóriába szánt játékok életciklusa nagyon hosszú, így ha minden ideális, akkor 4-6 évig is élvezik a felhasználók az adott programot. Fél évtized azonban hosszú idő, amibe jellemzően bele kell férnie egy komolyabb felújításnak. Ilyenkor az effektek szempontjából fel lehet ütni a friss GameWorks csomagot, és lényegében kutatás nélkül lehet új grafikai extrákat implementálni.
Mi is veszünk kulcsokat!
Az NVIDIA partnerprogramját is kiegészíti egy üzleti konstrukció, amelynek keretében a vállalat jogot formál arra, hogy bizonyos játékokat, illetve esetenként játékbeli tartalmakat a GeForce kártyák mellé csomagoljon. Mivel a vállalat viszonylag kevés AAA kategóriás multiplatform játékon dolgozó kiadót támogat, így ebből a szempontból a főleg az Ubisoft alkotásainak PC-s portjaira építenek. Az olcsóbb kártyák jellemzően ingyenes extra tartalmakat kapnak a népszerűbb, ingyenesen játszható, azaz F2P (vagy inkább P2W) modellel készült játékokhoz.
A zöldek partnerprogramjának alapja még, hogy mindenkivel keresik a kapcsolatot; az AMD Gaming Evolved partnerprogramjával ellentétben nincs meg az a bizonyos alapvető minőségi léc, amit meg kell ugrani. Ez pont annyira kétélű fegyver, mint az AMD spártai szigora, csak éppen az NVIDIA-nak nem kell figyelembe vennie a PC-s fejlesztői elit, valljuk be sokszor igen extrém igényeit, mivel ez a réteg eleve nem keresi a szorosabb partnerkapcsolatot a céggel. Ennek vitathatatlanul az az előnye, hogy a vállalat a saját elképzeléseire formálhatja a teljes PC-s stratégiáját, hiszen nincsenek olyan stúdiók a The Way It's Meant to be Played partnerprogramon belül, amelyek ezt befolyásolhatják. Ugyanakkor ez a konstrukció is rendelkezik hátrányokkal, mivel ugyebár nincs egy olyan meghatározott minőségi elvárás, aminek meg kell felelni. Ennek következtében igen rosszul optimalizált PC-s játékok is kerülhetnek a GeForce termékek mellé. Ez nem feltétlenül közvetít pozitív üzenetet a vásárlónak a PC-s játékipar helyzetéről, és nem mellesleg az NVIDIA számára is kellemetlen helyzetet eredményezhet.
Mindenképp kiemelendő, hogy az AMD és az NVIDIA is kockáztat a partnerek kiválasztásánál, hiszen a szerződés megkötésének időpontjában még nem tudják ellenőrizni, hogy milyen lesz az adott játék végleges verziója. Itt nem az alkotás által nyújtott játékélményre kell gondolni, mert az erősen szubjektív, hanem technikai megvalósításra, amit már bőven lehet objektív szempontok szerint vizsgálni. Ebből a szempontból az NVIDIA partiját idén érezhetően tönkretette az Ubisoft, hiszen a négy játékukból kettő rendkívül rosszul optimalizált program lett. A Watch Dogs után nehéz volt elképzelni, hogy van lejjebb, de az Assassin's Creed Unity PC-s portjának viszont sajnos minden esélye megvan a „minden idők legrosszabbul optimalizált játéka” címre.
A jövő szempontjából valószínűleg az NVIDIA is átgondolja majd az alapvető minőségi rosta bevezetését, hiszen a vállalat kiemelt partnerének számító Ubisoft termékei biztosan nem erősítik meg a játékost arról, hogy a PC-be, mint játékplatformba érdemes befektetni. Ez nemcsak az NVIDIA, hanem az egész ipar számára is káros. Más szempontból viszont az NVIDIA stratégiája meglepően jól működik. Érezhető, hogy a cég csak minimális energiát fektet az AAA kategóriás multiplatform játékokra, mivel ezek nagy részét statisztikailag kimutathatóan is konzolra veszik meg a játékosok. Az MMO és a MOBA címek azonban PC-s mércével értékelve nagy jövő előtt állnak, és ezt a részpiacot az NVIDIA bármi áron uralni akarja.
Abu85