Moderní hry a počítačem dotvářené filmové animace k sobě mají poměrně blízko. Tedy aspoň ve snaze vnést do dění co nejlepším způsobem přírodní zákony, které vdechnou postavičkám život, a virtuální svět potom vypadá jako ten náš opravdový. V jednom směru se však zásadně rozcházejí. Zatímco filmoví tvůrci nepracují v reálném čase, mohou animace dotáhnout téměř k dokonalosti, ve hře vše podléhá neúprosnému toku času. Proto při hraní narazíte na menší či větší množství jevů odporující fyzikálním zákonům.

Se vzrůstajícím výkonem grafických karet se ve hrách objevuje čím dál tím víc předmětů, od kterých hráč očekává určitou úroveň interakce. Například lahev hozená na podlahu by se měla roztříštit, projektilem zasažené kolo vozidla splasknout, tekutina vylitá na stůl se roztéct.

Dosud se, až na výjimky, řešily podobné úkoly „skriptováním“. Jde o předem vytvořenou animaci, která se spustí, vykonám-li požadovanou akci. Dobrým příkladem je ona rozlitá tekutina. Počítat v reálném čase chování tekutin je záležitost z pohledu potřebného výkonu přímo vražedná, na běžném PC se řadí do sféry Sci-Fi. Vytvoří se proto jedna animace tvořící se loužičky, která potom provází všechny pokusy o rozbití nádoby o zeď, podlahu, koberec nebo dlaždičky. Výsledek je sice poněkud fádní, ale lepší než nic.

Někteří lidé se proto začali zajímat o zlepšení fyzikálního modelu na počítačích tak, aby se vše odehrávalo co nejvíc v souladu s realitou. Přeci jen dokonale vypadající svět bez fyzikálních zákonů není dokonalý. V roce 1998 tak v Irsku vznikla společnost HAVOK, první specializovaná firma zabývající se vývojem fyzikálního modelu pro počítače.

Hra Half-Life 2 a oblíbený Hra Half-Life 2 a oblíbený "Gravity Gun", hračka na překonávání tíhové síly země. O zábavu se staral fyzikální engine HAVOK.

Možnosti, jak počítat fyzikální model

Zásadní problém pro častější využívání fyzikálního modelu ve hrách namísto skriptovaných animací je potřebný výpočetní výkon. K jeho překonání vedou dvě cesty. Buď můžeme složité jevy, jako je pohyb prachu, kapalin či oblečení, nahradit většími skupinami. Nebo použijeme hrubou výpočetní sílu, samozřejmě s určitými limity. HAVOK jde při své práci směrem zjednodušeného popisování, které má tu výhodu, že si vystačí s výkonem procesoru.

Druhý směr zastává firma jménem AGEIA, výrobce prvního PPU – fyzikálního akcelerátoru PhysX. Ta je poněkud mladší, ve světě zatím nemá takové jméno jako HAVOK, jež navíc působí nejen ve sféře počítačových her. Jeho produkty se dotýkají 3D modelářů, animátorů a filmařů. Na základě software HAVOC byla počítána fyzika například pro film Matrix.

Základem pro činnost AGEI je opět softwarový balík popisující chování objektů, ovšem ten může místo procesoru využít výkonu akcelerátoru PhysX. Jednotka PPU je totiž schopná vykonávat požadované výpočty asi 100x rychleji než současné procesory.

Fyzikální akcelerátor AGEIA PhysX alias jednotka PPU (Physics Processing Unit)Fyzikální akcelerátor AGEIA PhysX alias jednotka PPU (Physics Processing Unit)

Nezapomínejte na herní konzole

I herní konzole Playstation3 a Xbox360 pracují s fyzikálním modelem licencovaným od AGEI. Marně byste však hledali fyzikální akcelerátor. Namísto toho se zde využívá vícejádrových procesorů, především PS3 se svými devíti jádry v Cell čipu má co nabídnout. Jeho výkon a schopnost paralelně počítat velké množství dat nahrazují vlastnosti karty PhysX.

Na druhé straně barikády tu stojí konzole Wii s mnohem skromnější hardwarovou výbavou. Hádejte, který software se využívá tam, není to těžké. Převážně HAVOK ve své páté verzi, která umí pracovat s procesorem Hollywood od IBM. A že Wii staví převážně na pocitu ze hry snad nemusím dodávat.

Nezvaní hosté – výrobci grafických karet

Jen co AGEIA odhalila svůj jednoúčelový hardware PhysX, přispěchali dva největší výrobci grafických karet pro hráče s nápadem počítat fyzikální model na grafických kartách. Ty nové dokonce svým výkonem strčí PhysX bez větších problémů do kapsy. Jenže koncepce počítá s tím, že lidé začnou používat zapojení více grafických karet SLI a Crossfire. Jedna ze zapojených karet by potom počítala pohyb těles, druhá obraz.

Taková koncepce má zásadní trhlinu. Zapojení více karet je potřeba pouze u moderních her, kdy hrajeme na vysoké rozlišení a vysokou úroveň detailů. Když ale jednu kartu necháte počítat fyziku, snížíte tak výkon grafického systému a budeme muset zhoršit kvalitu obrazu. A u starších her, kde je možné jednu kartu s klidem odpojit, zase podporu pro fyzikální výpočty nenajdeme.

Jaký je správný směr?

Je nejlepší používat pouze výkon procesoru a čekat, až budou dostatečně výkonné a zastanou práci separátního čipu dedikovaného výpočtům fyziky? Nebo je lepší vedle grafické karty zapojit do počítače ještě jednu přídavnou kartu, která však mimo hry nenalezne uplatnění? A konečně, mají fyziku počítat grafické karty?

Odpovědi se možná dočkáme poměrně brzy. V létě 2007 totiž společnost HAVOK odkoupil Intel a nedávno potkal podobný osud i AGEIu, jen s tím rozdílem, že kupcem byla Nvidia. Naprázdno nevychází ani AMD, které díky spojení se s ATI může k výpočtům fyziky použít karet Radeon. Jedno je však jisté – ve světě počítačových her se děje něco velkého!



V úterý pokračujeme s fyzikou ve hrách: Které hry používají akcelerátor PhysiX a v čem jsou lepší? Jak ovlivňuje fyzikální model hry a hratelnost? Má hraní na PC budoucnost, nebo převládnou herní konzole?