Archive for the ‘PhysX’ Category

Metro 2033

Posted: Únor 17, 2010 in DX11, PhysX

Po včerejším kratičkém článku se může zdát, že jsem tak trochu rezignoval na technickou stránku nových her, ale není tomu rozhodně tak. Jsou tady firmy, které ještě nezahodily PC platformu za hlavu a snaží se maximálně využít technické pokročilosti herních PC.  Jsem si jistý, že málokdo z vás zná malé studio 4A Games z Ukrajiny. Není se čemu divit. Nemají za sebou zatím ani jeden titul, ale v tomto případě zdání opravdu klame. Za 4A Games stojí bývalí zaměstnanci GSC Game World Olez Shiskovtsov a Alexandr Maksimchuk.  Ano, je to ten samý GSC Game World, který stojí za populárním Stalkerem. Tito pánové pracovali na původním X-Ray enginu Stalkera a těsně před vydáním prvního dílu se odtrhli a založili si nové studio 4A Games. Dobře si název zapamatujte, protože mi něco říká, že o tomto studiu ještě hodně uslyšíme. Osobně nejsem velkým fandou Stalkera a celkově her ruských vývojářů, ale když jsem měl možnost vidět před 14 dny v Moskvě jejich Metro 2033 tak mě to skutečně dostalo. Dnešní článek je právě o této nenápadné hře, která se dostane na pulty zhruba za měsíc a zatím vypadá více jak dobře.

Nevím, jestli je to nějaký zažitý zvyk, ale vývojáři z východu se velice často inspirují podle úspěšných knih ruských autorů a v případě Metro 2033 tomu není jinak. Předlohou pro hru byl sci-fi román ruského spisovatele Dmitryje Glukhovského. Měl jsem možnost si zahrát hru jenom pár minut, ale atmosféra mě tak vtáhla, že jsem si hned před odletem koupil elektronickou verzi románu a za dva dny celou knihu přečetl. Zatím není bohužel k dispozici v našem jazyce, ale český překlad by měl vyjít už 21.4. Možná by nebylo od věci si trochu nastínit děj románu.

Celý příběh je hodně temný a odehrává se v post-apokalyptickém světě zničeném nukleární válkou. Ti co přežili, se ukrývají přes 20 let v bludišti chodeb pod Moskevským metrem a většina nikdy neviděla modrou oblohu nebo slunce. Jednotlivé stanice metra se staly takovými malými státy s vlastní ideologií, vedením a spojenectvími s ostatními skupinami, které pak proti sobě válčí o moc a vliv. Kromě přirozených konfliktů mezi sebou, čeká na zbytky přeživších daleko větší nebezpečí v podobě mutantů na povrchu a něčeho opravdu temného v opuštěných tunelech metra. Hlavním hrdinou je mladý kluk Artiom, který se snaží dostat na centrální stanici, kde přežívá zbytek vedení lidské civilizace a doručit důležitou zprávu s informací jak se jednou provždy vypořádat s temným zlem, které za vším stojí. Více už prozrazovat nebudu, ale určitě vám doporučuji si knihu přečíst. Pojďme ale zpět ke hře. Je to takový mix FPS a RPG hodně připomínající Stalkera. Neměl jsem možnost hrát Metro 2033 nějakou delší dobu, takže nejsem schopen moc posoudit aspekty samotné hratelnosti, ale vím poměrně dost o technickém zpracování.

Jak už jsem napsal, tak Olez a Alexandr pracovali původně na X-Ray enginu pro GSC a hodně si ze své předchozí práce vzali. Olez je CTO 4A Games a jeden z lidí, kteří mají hlavní slovo při vývoji. Co jsem měl možnost vidět, tak Metro 2033 bude mít jeden z technicky nejpokročilejších enginů vůbec. Snad mě ani nenapadá, co bych po technologické stránce hře vytknul. No uznejte sami. DX11, Direct Compute, PhysX, multicore CPU support, 3D Vision atd. Pojďme se podívat detailně na jednotlivé technologie.

DX11 je jeden z hlavních technických taháků hry. Vzhledem k tomu, že spolupracujeme s 4A Games velice úzce už nějakou dobu, tak byli jedni z prvních, kteří dostali informace o naší nové generaci GF100 a posléze i samotné karty k vývoji. Vývojáři 4A Games jsou v podstatě v denním kontaktu s testovací laboratoří v Moskvě, což opravdu hodně pomáhá při vývoji. Třeba multi GPU zapojení škáluje v našem případě takřka lineárně a výsledky testů s DX11 vypadají moc dobře. Teselace je použitá na jednotlivé charaktery, ale ne na prostředí ve hře. Na chvilku bych se tady zastavil. Určitě si vzpomenete na srovnání Teselace ve Stalkerovi, kdy byl hodně malý viditelný rozdíl mezi objekty s teselací a bez. Důvodem bylo, že AMD v podstatě použilo teselaci na modely, které k tomu nějak zvlášť grafici neupravili. Už jsem to psal jednou a pořád si zatím stojím. Výsledný efekt teselace dělá z velké části samotný obsah a jeho kvalita zpracování. 4A Games vytvořili většinu modelů lidských charakterů s vysokým počtem polygonů a je to znát na první pohled při porovnání s teselací a bez. Na modely monster byl pak použit displacement mapping. Asi nejlepší bude, když se podíváte na screenshoty na Flickeru, které dnes 4A Games uvolnili. Určitě je také důležité zmínit Direct Compute, který se ve hře využívá k některým postprocesingovým efektům jako je třeba depth of field.

Ohledně doporučeného hardware sám Olez říká:

„ V rozlišení 1680×1050 na maximální detaily si zahrajete se vším na plno na minulé generaci high-end karet od NVIDIE. Současná generace DX11 hardware od ATI a NV je natolik výkonná, že můžete zapnout všechno na maximum včetně sumpersamplingu na každý povrch a každou texturu. Všechno bude mít mnohem více detailů a nejedná se jen o hrany objektů“.

Já bych si dovolil to trochu poopravit, protože na naší minulé generaci hardware si samozřejmě nezahrajete v DX11 a stejně tak nebude možné zapnout advance PhysX efekty na ATI kartách, protože hra využívá GPU PhysX.

A dostáváme se k fyzice. Je mi jasné, že nás opět čeká nekonečný flame, ale to už je v případě PhysX samo sebou :). 4A Games se totiž rozhodli použít jeho GPU verzi. Samozřejmě to neznamená, že hra tím bude nějak ovlivněna. Použití GPU PhysX nemá v případě Metro 2033 viditelný vliv na hratelnost, ale třeba výbuchy, destrukce a kapaliny vypadají s GPU PhysX prostě lépe. 4A Games zatím nepoužívají APEX, ale i tak mě příjemně překvapilo zakomponování PhysX v rámci jejich engine. Jak sami říkají, tak důvod proč použili PhysX byla vysoká úroveň technické podpory z naší strany a multiplatformnost, která se měsíc od měsíce v případě PhysX zlepšuje.

Asi nejvíce mě zaujala podpora 3D Vision, protože stereoskopické zobrazení vypadá v Metru naprosto luxusně. Osobně bych zařadil Metro 2033 mezi Top3 hry s podporou 3D sterea. 4A Games totiž použili velice detailní textury, které ještě s 3D Vision vyniknou. Některé uzavřené prostory jsou v případě Metro 2033 a 3D Vision doslova dech beroucí.

Tak co na to říkáte? Je PC platforma v takových problémech jak někteří tvrdí? Určitě je to věc diskuze, ale pokud budou na světě vývojáři jako 4A Games, tak pořád bude mít herní PC svoje místo. Chtěl bych na toto téma napsat kratičký článek, ale ještě nevím, kdy se k tomu dostanu. Metro 2033 je plánováno i na xbox360, ale dám ruku do ohně, že v tomto případě bude rozdíl mezi PC a xboxem hodně znatelný.

Reklamy

PhysX opět na scéně

Posted: Leden 21, 2010 in AMD, NVIDIA, PhysX, Richard Hudy

Tento článek vznikl jako reakce na neustálé napadání a nepravdivé obviňování NV ze strany AMD. Vše co tady píšu, je můj osobní názor na celou situaci a rozhodně to není oficiální stanovisko naší firmy.

Uplynulo pár měsíců a PhysX nám opět čeří vody. Přál bych si, aby tomu bylo jinak, ale bohužel v tom má opět prsty Baron Prášil. AMD se ozvalo ústy Richarda Huddyho několika hardwarovým mediím s obviněním, že NV záměrně omezuje podporů vícejaderných procesorů z důvodu optimalizace PhysX pouze na GPU.  Abych se přiznal, hodně mne to překvapilo. Každá technologie má svoje mouchy, ale v případě PhysX bych je hledal jinde.

Na všechno zareagoval Nadeem Mohammad na našem blogu a samozřejmě vše naprosto jednoduše vyvrátil. Měl jsem možnost s ním dnes mluvit osobně a byl z celé věci dost naštvaný. Nadeem je jedním z prvních zaměstnanců AGEIA a jestli někdo zná PhysX SDK nazpaměť, tak je to tento člověk.  Od převzetí AGEIA naší firmou je jedním z klíčových lidí z našeho PhysX teamu.

Asi není nutné, abych tady znovu opakoval to co Nadeem napsal a proto vám doporučuji si přečíst jeho kratičké vyjádření. Smysl tohoto článečku je trochu jiný.

Když se podíváte zpět posledních pár měsíců do historie výroků ze strany AMD, tak mi není úplně jasné, proč je PhysX tolik zajímá, nebo ještě lépe, proč jim tolik vadí? Pokud si dobře vzpomínám, tak je to hlavně AMD, které pumpuje do veřejnosti výroky, že PhysX je nepodstatná a v podstatě mrtvá technologie.  Nepřijde vám to divné?

Osobně si myslím, že Richard tento týden odkryl skutečný důvod. Nebudeme ale předbíhat a podívejme se trochu do historie.

AMD se vždycky snažilo malovat obraz NV, jako největšího ďábla prosazujícího uzavřené technologie CUDA nebo PhysX, které v podstatě škodí celému světu. U každého takového rozhovoru jsem se dočetl, že OpenCL nás v podstatě všechny zachrání a je to jediná technologie, která má smysl. Nechci teď diskutovat o přínosech OpenCL jako takového, ale když se podíváte do historie tak NV je jedna z hlavních firem stojících za OpenCL dohromady s Apple.  Víte, že šéfem celého Khronosu (organizace stojící za OpenCL nebo OpenGL) je Neil Trevett, který je zároveň naším viceprezidentem? Neil přišel do NV po deseti letech z 3Dlabs a osobně ho mám moc rád, protože je s ním opravdu hodně legrace. Ok, zpět k tématu.

NV společně s Apple jsou firmy, které první demonstrovaly funkční OpenCL v chodu. Tuším, že to bylo někdy v květnu 2008. Samozřejmě jeden z důvodů je velká podobnost OpenCL a CUDA C, což je naše doména, ale to jsou právě ty investice, které se vám jednou vrátí. Kam tím mířím?  První demonstrace funkčního kódu na HW půl roku před naší konkurencí, první OpenCL BETA SDK a veřejná beta měsíce před naší konkurencí a takhle bych mohl pokračovat dál. Zvláštní v případě ďábla podporujícího jen uzavřené standardy, nemyslíte? Proč se někdo nepozastaví nad tím, že AMD bylo vlastníkem svých uzavřených standardů typu Stream/Brook+/CAL a nejednou prozřelo a začalo hlásat OpenCL ? Proč je OpenCL podporováno pouze na Radeonech 4000 a vyšších? Odpověď nechám na vás.

Dostáváme se k DirectCompute, který je dalším otevřeným standardem, tentokrát pod taktovkou Microsoftu. V červenci minulého roku uvedla NV první ovladače s podporou DirectCompute na všechny karty série 8800 a vyšší. Po několika týdnech se ozvalo AMD s ohlášením:

AMD’s upcoming next generation ATI Radeon family of DirectX 11 enabled graphics processors are expected to be the first to support accelerated processing on the GPU through DirectCompute.

V prosinci minulého roku pak AMD přidalo podporu DirectCompute pro karty ze série HD 4800 a 4700. Asi vás také napadá otázka co budou dělat uživatelé starších karet ? Připomínám, že AMD mělo ve firemním sloganu slova „customer centric“.

Tak a konečně se dostáváme nazpátek k PhysX a našemu Richardovi. V tomto rozhovoru, který poskytl Richard v roce 2007 serveru Bittech, se vyjadřuje, že společnost ATI mluvila s AGEIA o možnostech akcelerace fyziky přes GPU. Richard přímo řekl:

We talked to Ageia,’ admits Huddy, ‘and asked them whether they would like our GPU acceleration in the software case, but it would be somewhat embarrassing for them if we run it much faster, and certainly for the eye candy physics we do.

Jak je vidět, tak mu tehdy uzavřený standard nevadil do doby, než celou AGEIA koupila NV.

12. června 2008 ohlásilo AMD svoji spolupráci s Havokem, který je vlastněný společností Intel. Asi je každému jasné, že důvodem bylo uvedení podpory PhysX pro naše GeForce. To se dá normálně pochopit, protože jde o konkurenční boj. Rozdíl byl bohužel v tom, že NV měla první SDK, dema, první ohlášené tituly a pár starších her, kdežto na druhé straně byla tisková zpráva.

Každopádně AMD dosáhlo přesně to, co se od celého ohlášení čekalo. Spousta uživatelů začala živě diskutovat o tom, že v podstatě jsou síly vyrovnané. AMD má Havok a NVIDIA PhysX . Dokonce jsem četl některé recenze, kde byl Havok uváděn jako plus v případě karet AMD.  Člověk pak jen kroutí hlavou. Jedna věc mi ale není jasná. Proč se pořád tvrdí, že NV má lepší PR. Neznám moc případů, kdy jsme předvedli lepší kousky.

Uplynul skoro rok a AMD konečně ukázalo v březnu 2009 na GDC v San Franciscu nějaká dema s GPU fyzikou. Nebylo to nic závratného, ale člověk si říkal, že se snad bude konečně něco dít.  Článek píšu na konci ledna roku 2010. Od GDC 09 v San Franciscu se po Havoku a OpenCL slehla země. Nejsou známé žádné nové informace, nejsou ohlášeny žádné tituly. Pokud dobře počítám, je tomu přes rok a půl od původní tiskové zprávy z června 2008.

Minulý rok na konci léta ohlásilo AMD spolupráci s Bullet Physics. Doporučuji vám tento rozhovor, který se krátce po svém publikování dostal všude na internet. Erwin Coumans v něm říká dnes již legendární větu:

Bullet’s GPU acceleration via OpenCL will work with any compliant drivers, we use NVIDIA GeForce cards for our development and even use code from their OpenCL SDK, they are a great technology partner.

AMD kontruje naprosto neuvěřitelně :

“..Erwin would not know because he is irrelevant and ATI has their own team from Bullet working with them.”

Připomínám, že Erwin Coumans je hlavní vývojář Bullet Physics a člověk, který za ním v podstatě stojí. Co si o tom mám myslet?

Tak a dostáváme se k závěru mého článku. Jak vidíte, tak za rok a půl od tiskové zprávy, kterou AMD ohlásilo podporu pro Havok, se nestalo reálně skoro nic.  Rozhodně tu nejsem od toho, abych za to AMD nějak kritizoval. Není to jednoduchá záležitost a je k tomu potřeba hodně lidských zdrojů a peněz. Co ale nechápu, je potřeba nás pořád za PhysX očerňovat nejrůznějšími výroky. PhysX není perfektní, má určitě spoustu rezerv a nabídka titulů není nějak závratná, ale snažíme se na tom pracovat a HLAVNĚ NĚCO DĚLÁME!! Druhá strana si pořád na něco stěžuje a poukazuje na různé „podlé“ optimalizace nebo ještě „podlejší“ práci našich programátorů z devtech teamu.

V souvislosti s výrokem o nepodpoře multicore CPU mě napadá pouze jedna věc. První půlrok po oznámení spolupráce s HAVOKEM jsem neslyšel žádné velké narážky na PhysX, ale posledních pár měsíců je situace úplně jiná. Proč se AMD v poslední době vyjadřuje čím dál více k PhysX  ? Že by PhysX přeci jen nebyla ta mrtvá technologie, která nemá budoucnost?

Je mi jasné, že se do mě naveze spousta AMD fanboys a bude tvrdit, že jsem ulhaný PR člověk ve službách ďábelské firmy. Upřímně je mi to jedno. Článek píšu sám za sebe a mám vlastní mozek. Všechno co jsem v článku zmínil, jsou holá fakta, která mají přinutit některé lidi k zamyšlení.  Záleží už na vás, jestli to dokážete nebo ne.

Když mi před pár měsíci tvrdili kolegové z našeho Devrel teamu, že nový Batman bude patřit k nejlepším hrám tohoto roku, nevěřil jsem jim ani slovo. Osobně si nepamatuji, že by některá hra založená na filmovém Batmanovi v minulosti výrazně zabodovala. Většinou se jednalo o průměrné tituly, které se snažily využít popularity filmové adaptace. Batman Arkham Asylum ale všechno změnil.

Eidos, DC Comics a Warner Bros pojali uvedení na trh opravdu velkolepě. Pro Eidos je nový Batman stěžejním titulem pro druhou polovinu tohoto roku a podle toho také vypadala masivní reklamní kampaň. Batmanovi se dokonce podařilo zapsat do Guinesovy knihy rekordů s nejlepší průměrnou známkou ze všech recenzí. Bohužel hra také rozbouřila diskuze na mnoha hardwarových fórech, kvůli podpoře naší technologie PhysX, která leží už dlouho v žaludku některým jedincům speciálně v Čechách. Všechno ještě více rozdmýchal Ian MacNaughton z AMD, který si na svém blogu postěžoval na neexistující anti-alising v Batmanovi pro ATI grafické karty. Na některá obvinění zareagoval Eidos prostřednictvím PC Per. a přijde mi, že Iana celkem ztrapnil. Každopádně se nechci touto hloupou kauzou už dál zabývat. Pokud vás zajímá celé pozadí, tak doporučuji pěkné shrnutí od Mirka Jahody na Extrahardware.

Před týdnem jsem se vrátil z GTC a neměl jsem moc čas na hraní, ale na pár hodin jsem Batmana vyzkoušel. Postavil jsem si k tomu ultimátní herní sestavu se dvěma GTX285, Core i7 na 4GHz a všechno to připojil na 50‘ Full HD plazmu a 7.1 THX zesilovač. Pro srovnání, jsem si ještě vyzkoušel konzolovou verzi na xbox360 a PS3. Rozdíl mne opravdu ohromil. PC verze je na úplně jiné úrovni. Rozlišení textur, framerate a dokonce i kvalita zvukových samplů mi přišla na PC mnohem lepší. Asi největší rozdíl představují zapnuté PhysX efekty, které dělají z některých úrovní úplně jiný zážitek (Scarecrow je nářez).  Samozřejmě při srovnání výkonu dnešních PC a herních konzolí, není takový rozdíl žádným překvapením. Snažím se jen poukázat na skutečnost, že někteří zastánci herních konzolí tvrdí, že hraní na PC nepřináší žádný rozdíl, což třeba u nového Batmana rozhodně neplatí.  Největším problémem je samozřejmě cena takového PC, které se pohybuje v řádech desítek tisíc korun oproti pár tisícovkám, co zaplatíte za xbox360 nebo PS3.  Je to ale stejné jako s Ferrari. Pokud na to máte a chcete to nejlepší, tak vás ani vysoká cena neodradí. Na druhou stranu je pořád hodně lidí, kteří mají doma na hraní jak PC, tak konzole, protože prostě některé hry na PC nikdy nebudou. Toto je samozřejmě i můj případ.

Po herní stránce jsem zatím nového Batmana tak nehrál, abych mohl hru nezaujatě zhodnotit. Jsem velkým fanouškem posledních Batmanů v pojetí Chrise Nolana a Arkham Asylum působí podobně temným dojmem, jako filmové zpracování. V tomto případě jsou moje pocity z hraní fakt skvělé. Když jsem po pár minutách ve hře potkal při vystupovaní z výtahu Croca, běhal mi mráz po zádech při slovech „I will hunt you down“, které buráceli ze 7.1 reproduktorů kolem mě. Po zvukové stránce, je nový Batman opravdu špička. Velmi ošemetné je hodnocení hratelnosti. Viděl, jsou různé názory v diskuzích, že je to jen obyčejná mlátička pro děti, kde stačí mačkat pouze tlačítko myši. Je to samozřejmě nesmysl a mám dojem, že ten kdo tohle prohlašuje, hrál tak možná jen demo. Právě možnosti soubojů a různá komba, které se naučíte během hry, rozhodně nedělají z Batmana jen tupou mlátičku.

Je tady ale jedna věc, která opravdu zaslouží pochvalu. Rocksteady neudělali jen prostou konverzi z konzolí, ale snažili se PC verzi díky PhysX skutečně vylepšit a nabídnout něco jako prémiový obsah. Za to mají u mě velké plus a doufám, že se ostatní nechají inspirovat. Na rychlo splácených portů z konzolí totiž začíná nápadně přibývat.

Určitě se také sluší zmínit kluky z našeho Devtech teamu, kteří měli na starosti implementaci PhysX a zprovoznění anti-aliasingu na GeForce kartách.  Mají můj velký obdiv, nejen za to, že po programátorské stránce patří mezi světovou extratřídu, ale za to, že dokážou žít každých pár měsíců v jiné části světa a obětovat své práci prakticky celý osobní život. Mimochodem, momentálně někteří z nich pracují na jednom projektu přímo v České republice.