Scivelation: Különbség a PC és a konzolos verziók között

Első oldal

A Scivelation egy TPS akciójáték lesz, melyet a Black Wing Foundation fejleszt, és a Topware Entertainment fogja kiadni majd valamikor 2010 második negyedévében. A történet a távoli jövőben játszódik, ahol egy globális diktatúra, a Regiment irányítja az egész világot az Apokalipszis után. A fejlesztők akció dús játékmenetet ígérnek, melyben a játékos a Regiment elleni ellenállás részévé fog válni a játék alatt.

A PC Games Hardware-nek lehetősége nyílt némi technológiai információhoz jutni a játékot illetően Aleksey Savchenko-tól. A The Black Wing Foundation ügyvezető igazgatója beszélt például arról, hogy az Unreal Engine 3.0-át használó Scivelation-nak a PC verziója előnyben lesz a nagyobb mennyiségű rendszer- és videó- memória miatt, amit ez a platform nyújt. Továbbá megemlített lehetséges DirectX 11-es tulajdonságokat is. Alább megtalálhatjátok az egész interjút, ami érdekes dolgokat fed fel a Scivelation-ról, valamint az Unreal Engine 3.0 jelenlegi lehetőségeiről.

PCGH: Bejelentettétek, hogy a játékotok az Unreal Engine 3.0 technológiára fog épülni. Miért döntöttetek úgy, hogy inkább az Epic technológiáját használjátok, minthogy saját motort fejlesszetek? Mi teszi az Unreal Engine 3.0 technológiát olyan alkalmassá a játékhoz?

Aleksey Savchenko: Nos, ez mindig a prioritásoktól függ, nem igaz? A saját motor fejlesztése drasztikusan megnöveli a fejlesztési időt, továbbá még drágábbá és kevésbé megjósolhatóvá teszi azt. A másik oldalról nézve viszont saját fejlesztésű motornak a legnagyobb előnye, hogy a technológiai megvalósítás nincs határok közé szorítva. Ha valamiféle csúcstechnológiákat felvonultató dolgot akarsz bemutatni, valamint be akarsz szállni a grafikai teljesítményekkel futott versenybe, akkor új motort készítesz. Ha viszont a történetre, kiegyensúlyozott megvalósításra, átvezetőkre és elvárható kőkemény minőségre akarsz koncentrálni, valószínűleg választasz egy motort licencelni. Megvannak a határaid, de ha belegondolsz, a pre-produkciós fázisban ezek talán többet használnak, mint korlátoznak. Egyszerűen fogalmazva, azért választottuk az Unreal Engine 3.0-át, mert megfelel a projekt ideológiájának és tulajdonságkövetelményeinek, ezáltal egy relatíve könnyű megoldást nyújt a PC-re, XBOX360-ra és PS3-ra való fejlesztéshez, mellette lehetőséget biztosít a számunkra, hogy olyan atmoszférát hozzunk létre a játékban, amilyenre szükségünk van. Valami ilyesmiért.

PCGH: A Scivelation-t PC-re, XBOX360-ra és PS3-ra fejlesztitek, és nem titok, hogy az Epic motorja ideális egy multiplatform fejlesztéshez. Mindazonáltal elvárhatjuk-e, hogy a játékot nem egyszerűen csak átportoljátok mindegyik platformra, hanem külön fejlesszétek a PC és a konzolos változatokat is?

Aleksey Savchenko: Az igazság az, hogy a konzoltulajdonosokat csak nagyon ritka esetben érdeklik a mindhárom konzolra átírt "könnyű portok", és igen, a játék különféle verzióiban meglesznek a játékmenetbeli, ideológiai és technikai különbségek. Részletesebben szólva egy példa: a PS3 verziója a játéknak EGÉSZEN más lesz, mint a PC és az XBOX360 verzió. Szívesen mondanék ennél többet is, de biztos vagyok benne, hogy a marketing részleg ezt nem engedélyezné.

PCGH: Feltételezve, hogy egy speciálisan PC verziót fejlesztetek a Scivelation-ból, milyen technológiai tulajdonságokat lehet észrevenni a PC-vel, mint technikai platformmal? Lesznek technológiai vagy látványbeli különbségek a játék PC és konzol verziói között?

Aleksey Savchenko: A mai modern PC-k teljesítményét figyelembe véve a játék kétségkívül jobb lesz PC-n, mint konzolokon, viszont a játék tulajdonságai nagyrészt ugyanazok lesznek. Tehát, látványbeli különbséget elvárhatsz, de játékmenetbeli különbség nagyon kicsi lesz. A legnagyobb különbség a különböző mennyiségű videó és rendszermemóriából fog adódni, tehát a PC verzió több textúrát tud használni nagyobb felbontásban. Emellett a modern PC-k videó kártyái lehetővé teszik, hogy hatékonyabban rendereljen le sokkal több részecske-effektet és áttetszőség-effektet, és mi ezeket arra fogjuk használni, hogy a PC verzió képét olyan jóra csináljuk, amennyire lehetséges. Az XBOX360 512MB memóriával rendelkezik, ami el van osztva a rendszer és a GPU között, a PS3 256MB rendszer + 256MB grafikus memóriával rendelkezik, de a modern PC-k általában 2-4GB vagy több rendszermemóriával, és 1-2GB grafikus memóriával is rendelkezhetnek, és ezeket biztosan ki fogjuk használni a fejlesztés során. Amíg az XBOX360 CPU-ja 3 magból áll (HT-vel 6), és ezek mindegyike 3.2GHz-en jár, addig a PS3 Cell Processzora 7 aktív magból áll, 3.2GHz-es órajellel - az erejük hatalmas, de a modern PC-k is legalább ennyi, ha nem több erővel bírnak (4 mag 3GHz felett az átlag).

Második oldal

PCGH: Végeztek nagy módosításokat az Epic technológiáján? Ha igen, az Unreal Engine 3.0 melyik részeit cserélitek/változtatjátok meg, hogy megfelelően átszabjátok a technológiát a játék követelményeihez? Melyik részek maradnak érintetlenek?

Aleksey Savchenko: Nem tervezünk semmi komolyabb, mély modifikációt az engine-en, de fontolóra vettük, hogy sok téren az UE3 csak alapfunkciókat biztosít a számunkra, tehát azoknak a részeknek a tervezése és implementálása teljesen a mi dolgunk. Plusz javarészt újradezignáljuk az UI-t, AI-t és a fedezék rendszert a szükségeinknek megfelelően, de a renderelés, hang és fizikai részek nagyrészt változatlanul maradnak.

PCGH: Melyek azok a szükségszerű változtatások, amelyeket az UI-n, AI-n és a fedezék rendszeren vagytok kénytelenek eszközölni az Epic technológiáján a Scivelation követelményeihez (rövid példák technológiai magyarázattal megfelelnek). Ezeket a részeket teljesen kicserélitek valami házon belüli fejlesztésre?

Aleksey Savchenko: Az Epic AI rendszere lényeges alapot biztosít minden akció, dizájn és ötlet számára, ami a fejlesztőknek van. De amikor az egyedi tulajdonságok implementálásáról van szó, minden az emberek és a nézőpontok bemutatásán alapul. Vegyünk egy nézőpontot, például van a "Párban dolgozni", vagy a "csapatalapú AI", egészen nem mindennapi megközelítésben, és hatalmas kihatással a játékmenetre. Ami a fedezék rendszert illeti, UE3 nagy lökést biztosít a fejlesztésben, de mi eldöntöttük, hogy fogjuk az alapokat a motorból, és saját magunk fejlesszük ki a fedezék rendszert. Mégis, az engine funkcionálissága és a mérnökök ajánlása lehetővé teszi a számunkra, hogy gyorsabban adjunk hozzá különféle szuper tulajdonságokat, mintha csak úgy rögtönöznénk egyet az alapoktól. Jó példa erre a Gears fedezék rendszer, amely mindenféle kutatás nélkül segít meghatározni sok aspektust, tehát javarészt a beépített szerkesztő funkcióit használjuk a fedezék rendszerhez, és néhány alapkategóriát, mint például a CoverLinks és a CoverSlots, de az összes logikai és viselkedési mintát teljesen magunk implementáltunk be. Ami az UI-t illeti, a játék tartalmazni fog egy nagyon király Global Resistence Network nevű hálózatot, ami lehetővé teszi a játékosok számára, hogy fejlesszék a karaktereiket, fegyvereiket, valamint információkat szerezzenek a teljes, világot átfogó ütközet fejlődésének az üteméről. Tehát, a teljes UI rendszer nagyon komplex lesz, és jelenleg néhány egyéb middleware (köztes szoftver) licencelésén gondolkodunk.

PCGH: A különféle Epic játékok tesztelése és benchmark-olása során azt tapasztaltuk, hogy az Unreal Engine 3.0 többszálas végrehajtásra van optimalizálva (multithreading), különösen a kétmagos (dual core) CPU-kra. Mostanára azonban a négymagos (quad core) CPU-k is megfizethetővé és népszerűvé váltak. Ezt is számításba vettétek, és megpróbáltátok továbbfejleszteni a többmagos processzorok támogatását a Scivelation PC verziójában? A játék jól fog skálázódni a négy, hat, vagy esetleg a következő generációs nyolcmagos processzorokon, amiket bemutatott az Intel és az AMD?

Aleksey Savchenko: Nézd, jelenleg még mindig a videó kártyák jelentik a szűk keresztmetszetet, nem a CPU-k, így az optimalizációs munkák nagy részénél ezt a nézőpontot tartjuk szem előtt. Ami a többmagos CPU-k támogatását illeti, dolgozunk rajta, de nem kezeljük olyan kiemelt fontossággal azt a területet, hogy teljes "forradalom a forradalomért" készüljön el, ehelyett inkább jelenleg a motor fejlesztésével való haladásra összpontosítunk, ami a legjobban kielégíti az igényeinket, és majd utána foglalkozunk az apróbb dolgokkal.

PCGH: Tudnál mondani pár részletet a thread struktúráról? Milyen eltérő task-okat lehet, vagy tudtok felosztani különböző thread-okra, valamint mekkora teljesítménynövekedés várható kettő, illetve négy vagy ennél is több (6, 8) processzormag esetén? Megmutatnád a thread ütemezőt?

Aleksey Savchenko: Alapvetően most a következő különálló thread-okat használjuk:

1. Game thread
2. Physics simulation
3. Stats manager listener
4. Thread pool
5. Stats manager sender
6. Rendering thread
7. 2 Audio threads
8. Thread pool
9. Async I/O

De egyik sem időkritikus. Számításba vettünk egy Game thread-ot (játék), Physics simulation-t (fizikai szimuláció) és egy különálló AI thread-ot (mesterséges intelligencia).

Harmadik oldal

PCGH: Azt a fizikai fejlesztőkörnyezetet (Physx-SDK) használjátok fel, amit az Unreal Engine 3.0 részeként kaptatok, vagy saját fizikai motort fejlesztetek a játékhoz? Ha felhasználjátok a fizikai motort, úgy az támogatni fogja az nVidia PhysX-et, ahol a különleges effekteket a GPU/PhysX kártya fogja számolni? Ha igen, kérlek mondjál róla pár részletet, illetve ha nem, akkor miért döntöttetek a PhysX-támogatás ellen?

Aleksey Savchenko: Azt a fizikai fejlesztőkörnyezetet használjuk a játékhoz, amit a motorral együtt kaptunk, mert az teljesen és tökéletesen megegyezik a játék által támasztott elvárásokkal. Ami a nagyon különleges effekteket illeti, amelyek csak limitált számú hardverrel működnek, feltételezhetően beimplementáljuk majd őket a fejlesztés végső szakaszában, megvannak a terveink a különböző szakaszokban tervezett változtatásokról, melyekről sajnos ismét csak nem mondhatok semmit.

PCGH: Nyújtotok támogatást az EAX-hoz? Ez a tulajdonság eredetileg is be van építve az UE3-ba?

Aleksey Savchenko: Teljes mértékben. Az EAX 5.0 teljes dicsőségében fog fényleni.

PCGH: Fel tudjátok arra használni az UE3 renderelési képességeit, hogy DirectX 10-es látványelemeket jelenítsetek meg a játék PC verziójában? Ha igen, akkor a DX10 megjelenítés jelentősen eltér majd attól a grafikától, ami DirectX 9-es hardverrel lesz renderelve, vagy a DX10 csak felgyorsítja a renderelés sebességét? Ha nem, akkor milyen okotok volt DX10 támogatás nélkül fejleszteni?

Aleksey Savchenko: Oké, van egy pár implementálni való feladat, ami összefügg ezzel a nézőponttal, és még most is dolgozunk rajtuk. Jelenleg arra használjuk a DX10-et, hogy eltérő látványelemek felhasználásával is felgyorsítsa a motor sebességét. Úgy értjük, hogy amikor átkapcsolunk DX10-be, az sok esetben nem csak megnövekedett képkocka sebességgel jár, hanem többel - a DX10 lehetővé teszi számunkra, hogy néhány helyen pár extra effektet is használjunk. A DX10 magasabb képkocka sebességet eredményez, valamint lehetővé teszi számunkra, hogy jóval kifinomultabb shader-eket használjunk a játékban. A legnagyobb látható eltérés az élsimítás (Anti-aliasing) lesz, ami a DX9-es UE3-ban tiltva van (De a videókártya driver-éből rá lehet erőltetni a játékra), de DX10 alatt tökéletesen fog működni. És a DirectX 10 sokkal több terhet ad át a CPU-tól a GPU-nak, mint a DirectX 9.

PCGH: A Windows 7-el a Microsoft bemutatott egy új API-t, a DirectX 11-et. A játékotok támogatni fogja a DX11-et? Ha nem, akkor legalább elgondolkodtatok azon, hogy esetleg miképpen tudna profitálni a játékotok ebből a rendkívül fejlett renderelési technikából?

Aleksey Savchenko: Nos, azt hiszem megérted, hogy ABBÓL a nézőpontból nézve elég súlyosan függünk a motor lehetőségeitől. Más szóval, a motorral talán lesz lehetőségünk kihasználni a DX11 lehetőségeit is. Tehát egyelőre úgy gondolom, hogy maximum használni fogja, de nem hiszem.

PCGH: "Más szóval, a motorral talán lesz lehetőségünk kihasználni a DX11 lehetőségeit." Ezzel azt akarod mondani, hogy az Unreal Engine 3.0 azon verziója, amelyet az Epic a rendelkezésetekre bocsátott, egy különleges kiadás, ami tartalmaz extra modult, aminek a segítségével lehetőségetek van tesztelni a DX11 lehetőségeit?

Aleksey Savchenko: Nos, amennyiben ilyen részleteket akarsz tudni, inkább kérdezd meg az Epic-et, és kérd el a hivatalos bejelentést :-) Mi csak annyit tudunk mondani, hogy megfontolva a magas szintű támogatást és technológiai fejlődést az Epic részéről, plusz a folyamatosan nagyszerű fejlesztésekkel haladó, egyik legjobban fejlesztőbarát motort, amire valaha is rátettük a kezünket, teljesen biztosak vagyunk benne, hogy a DX11 meg fog jelenni, ha eljön az ideje. A mi részünkről a DirectX 11 hardveres tesszellációjának a kihasználását várjuk az Unreal Engine 3.0-ban, és határozottan ki is használnánk minden technológiai lehetőségét a project tökéletesítése érdekében.

PCGH: A DirectX 9 és a Windows XP még mindig népszerű a játékosok körében, és még az Unreal Engine 3.0-án is látni, hogy a technológiája a DX9-re van építve. Hogy gondolod, szerinted mikor fog a játékfejlesztés olyan fordulatot venni, amikor jobban megéri a fejlesztőknek egy renderelési útba fektetni az összes energiájukat, csak a DirectX 11-et használva (A DX11 visszafelé kompatibilitását kihasználva), és elejtik az XP támogatását?

Aleksey Savchenko: Amikor nem lesz több ember, aki játékokat vár XP-re, ami jelenleg is a legstabilabb és legtöbbet bizonyított platformnak számít. Mindannyian szeretjük az új technológiák kijövetelét, és órákon át tudunk róluk beszélgetni, de az igazság az, hogy az emberek számára készítünk játékokat, és ebből a szempontból tőlük függünk. A Windows 7 nagyon szuperül néz ki szerintem, és nagyon erős potenciál van benne ahhoz, hogy leváltsa az XP-t egy relatíve nem túl távoli jövőben, de hogy ez mikor fog megtörténni, azt csak Isten tudhatja, nem tudok dolgokat és történéseket megjósolni ennyire előre.

(A cikket a forrásoldalról fordítottam le, ha esetleg valamit rosszul értelmeztem, akkor nyugodtan írjátok le a topikban, és kijavítom. Köszönöm előre is).