Zamyšlení nad budoucností PhysX | Kapitola 4
Seznam kapitol
Na diskuzních fórech všech technických webů se v poslední době vedou vášnivé diskuze a spory o tom, jak moc je vlastně hardwarově akcelerovaná fyzika PhysX přínosem pro hráče a nebo naopak jsou přidané efekty zbytečné. Aktuální situace je díky jednostranné podpoře PhysX celkem nepříjemná pro majitele ATI, bude to v časem lepší?
Samozřejmě dříve nebo později se nějaký nový engine, umožňující využití DirectCompute nebo OpenCL efektů, objeví. Ať už to bude nadějný open source Bullet Physics za podpory AMD (nejpravděpodobnější varianta), nebo nějaké úplně nové řešení, v každém případě bude mít těžkou pozici. Na jedné straně PhysX, který dneska využívá nejvíce herních vývojářů, je aktivně vyvíjený a nabízí nadstandardní podporu. Na druhé straně Havok, který se zuby nehty drží své pozice, ale pomalu a jistě ztrácí svojí pozici díky zastaralosti. A pak opensource (ODE) nebo malé projekty, jako je třeba CryEngine 3, které limitují nejrůznější faktory od ceny za licence až po omezení dané právě jejich malým rozšířením.
Čísla ze srpnového vydání
Gamers Developer Magazine
Dokud se tedy neobjeví nějaké řešení, které by mohlo přímo konkurovat PhysX a to jak svojí technickou úrovní, tak i cenou za licenci (ideálně když bude zdarma), bude celá situace s herní fyzikou poněkud komplikovaná. Hlavně tedy pro majitele karet ATI Radeon. Prostě vznikne začarovaný kruh – vývojáři budou používat PhysX, protože je zadarmo, má dobrou podporu a zároveň nabízí solidní paletu speciálních akcelerovaných efektů i když pouze pro karty GeForce. Majitelé sebelepších Radonů ostrouhají, protože PhysX je proprietární řešení jenom pro GeForce a dokud se neobjeví dostatečně zajímavá alternativa k PhysX, vývojáři ho prostě budou nadále používat. A majitelé Radeonů budou mít nadále smůlu.
Pro Nvidii je stávající situace samozřejmě ideální a nemá jediný důvod něco měnit. Hráčům to může být jedno, pokud mají GeForce a naopak to bude nutit majitele Radeonů k přechodu do konkurenčního tábora. Pro nás pro všechny je na tom smutné to, že vývojáři se nebudou moc snažit se speciálními efekty využívajícími nového hardware prostě proto, že bude komplikované je implementovat pro obě platformy.
A jak tedy ze začarovaného kruhu ven? Můžeme jenom doufat, že se v nejbližší době objeví solidní engine, který by mohl konkurovat PhysX. Bez toho není cesty ven ze začarovaného kruhu. Ať už to bude Bullet Physics, nebo třeba znovuzrozený Havok, je to jedno. Hlavně, že bude něco univerzálního. Nejvtipnější na tom je, že i přes všechny informace o tom, jak to nejde nebo je to komplikované, podle všeho by neměl být větší problém přepsat celou hardware podporu fyziky v PhysX pro některé z univerzálních rozhraní (DirectCompute nebo OpenCL). I kdyby to znamenalo, že výkon nebude takový jako v nativním CUDA prostředí. Tím by se všechno vyřešilo, vlk se nažral a koza zůstala celá. Ovšem dokud nevznikne konkurenční tlak na PhysX nebo si třeba nedupnou některá velká vývojářská studia, nemá Nvidia nejmenší důvod něco podobného udělat.
Nepříjemné na stávající situaci je, že pokud vůbec nějaká změna přijde, rozhodně to nebude v nejbližší době. Mnohem reálnější je totiž horizont několika let. Nejdřív se musí nějaký konkurenční engine objevit, musí opravdu nabízet minimálně obdobné funkce jako PhysX, být za podobnou cenu a musí zaujmout vývojáře. Ti si nechají všechno dvakrát projít hlavou, než zase provedou další zásadní změnu a risknou přechod. Nasadí ho pochopitelně až do dalšího připravovaného projektu a ten se objeví rok dva potom. Tedy aby se stávající situace s PhysX změnila, bude to v hodně optimistickém případě minimálně rok až dva, než se onen hypotetický univerzální engine objeví v nových titulech.
Proto bych s nadějí vzhlížel pouze k akcelerované verzi Havoku nebo Bullet Physics. Ten první má velkou výhodu v tom, že je mezi vývojáři obecně uznávaný a populární, bohužel si za něj Intel nechává dobře zaplatit. To v konkurenci bezplatného PhysX není zrovna ideální. A navíc jak už bylo napsáno, Intel zřejmě žádné překvapení nechystá. Naopak Bullet Physics již existuje a podporuje OpenCL, navíc je mezi vývojáři celkem rozšířený a populární, v množství titulů je hned třetí po PhysX a Havoku. Je open source a zdarma, což je na jednu stranu jeho hlavní výhodou, ale také pro větší vývojářská studia i zásadní nevýhodou. Přeci jenom za vývojem Bullet Physics stojí v podstatě jeden člověk (Erwin Coumans) a s ním tým nadšenců. Ti pochopitelně nemůžou konkurovat komerčním projektům, jako je Havok nebo PhysX. Pokud podpora od AMD opravdu nebude pořádná, což podle některých překvapených reakcí Erwina Coumanse zrovna nevypadá (hezké shrnutí a celý rozhovor), jsem opravdu zvědavý, jak to celé dopadne. Ale i tak bych jim držel palce, protože představují jediné konkrétní řešení, které se aktuálně může alespoň nějak postavit proti PhysX. A tímhle přáním bych celou dnešní úvahu uzavřel, pokračovat můžeme v diskuzi…