12
Matemati ˇ cki fakultet u Beogradu Seminarski rad iz predmeta metodologija stru ˇ cnog i nau ˇ cnog rada Razvoj fiziˇ cke realistiˇ cnosti u video igrama Ime studenta: Nikola Stanojevi´ c, 1064/2012 Profesor: Vladimir Filipovi´ c May 16, 2013

Razvoj zi cke realisti cnosti u video igramapoincare.matf.bg.ac.rs/~vladaf/Courses/Matf MNSR/Prezentacije... · Seminarski rad iz predmeta metodologija strucnog i nau cnog rada Razvoj

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Matematicki fakultet u Beogradu

Seminarski rad iz predmeta metodologijastrucnog i naucnog rada

Razvoj fizicke realisticnosti uvideo igrama

Ime studenta:Nikola Stanojevic,1064/2012

Profesor:Vladimir Filipovic

May 16, 2013

1 Uvod

Racunarska grafika u video igrama se drasticno razvila u poslednjoj decenijipa se trenutno doslo do tacke sa koje je sve teze vrsiti dalja poboljsavanja.Fizicka realisticnost je veoma znacajan deo video igara jos od samog njihovognastanka, ali do nedavno nije igrala kljucnu ulogu. Stoga se razvijaoci videoigara okrecu sto realnijim simulacijama fizike u cilju daljeg poboljsanja real-izma u svojim video igrama, pa je vaznost i upotreba realisticne fizike u videoigrama poslednjih godina dobila na znacaju. Medjutim, poboljsanje fizickogi grafickog realizma dolazi sa teretom povecane racunarske zahtevnosti.

2 Uloga fizicke realisticnosti u video igrama

Moderne video igre imaju gotovo fotorealisticnu grafiku, zvuk visokogkvaliteta i veoma razvijenu vestacku inteligenciju koja moze pobediti i svetskesampione u svojim oblastima. Postoji veoma malo oblasti u kojima videoigre danasnjice mogu napredovati. Medjutim one mogu imati neverovatnorealisticnu grafiku i izvanredan zvuk, ali kada se igra ne ponasa onako kakosmo navikli da se stvari odvijaju u nasem okruzenju, utisak moze biti jakonegativan. To je ujedino i razlog zasto je fizicka realisticnost veoma vazna usvetu video igara. Ona prenosi ponasanje objekata iz stvarnog sveta koja sunam svima poznata na objekte u video igrama. Kutije koje se raspadaju nahiljade delova nakon eksplozije, kreiranje varnica prilikom sudara metalnihpredmeta, kretanje objekata kroz vodu ili vazduh su neka od ponasanja kojasu u danasnjim igrama moguca zbog naprednih fizickih modela, koja stvarajuveliku razliku kada je u pitanju sveobuhvatni utisak koji igra ostavlja nakorisnika.

3 Uticaj na hardversku zahtevnost

Sav ovaj dodatni realizam dolazi sa teretom povecanog opterecenja glavnogprocesora, koji nije dobro dizajniran za kalkulacije vezane za fizicku real-isticnost. Kompanije kao sto su Intel, Nvidia i AGEIA su shvatile ovaj prob-lem pa su izasle sa svojim resenjima kako bi rasteretile glavni procesor odtakvih proracuna.

1

4 Istorijat

Jedna od prvih video igara u kojima je fizika u samoj igri imala velikifaktor bila je igra ”Pong”, napravljena davne 1972 godine. Vrlo jednostavnadvodimenzionalna video igra koja je postala veoma popularna, bila je jednaod prvih igara u kojoj je koriscena detekcija kolizije. Igra je koristila os-novne fizicke proracune radi odredjivanja nacina i ugla odbijanja loptice odreket. Proizvodjac ove igre Atari, uvideo je njene dobre osobine i iskoris-tio potpuno istu mehaniku igre u verziji za jednog igraca koja je nazvana”Breakout” (1976). Umesto borbe protiv drugog igraca cilj je bio unistitisve stacionarne cigle koriscenjem reketa i loptice. U ovom periodu igraci sumogli jedva uvideti da se bilo kakva fizicka izracunavanja vrse u pozadini.

Slika 1: Izgled video igre ”Pong” iz 1972

U vreme kada svetom video igara vladaju apstraktni i vanzemaljski sve-tovi, jedna japanska kompanija radi na video igri koja ce imati covekolikogglavnog protagonistu. U pitanju je kompanija Nintendo sa svojim hitom iz1981 godine, video igrom pod nazivom ”Donkey Kong”. Fizicka ralisticnostu ovoj video igri je i dalje bila na primitivnom nivou, ali uvedene su i nekeznacajne novine u svet video igara. Glavni karakter stolar ”Jupmen” (kas-nije koriscen kao vodo-instalater ”Mario”) sada je imao mogucnosti skakanjai penjanja uz merdevine. Medjutim ove novine uvedene su sa ciljem da igraprivuce igrace, dok je njihova fizicka realisticnost jos uvek na niskom nivou.

2

Slika 2: Nintendov ”Donkey Kong” iz 1981

U ovom periodu Nintendo postaje najuspesnija kompanija u svetu videoigara, pa godine 1985 zajedno sa njihovom novom igrackom konzolom (NES -Nintendo Entertainment Sustem) nastaje jedna od najprepoznatljivijih videoigara u istoriji, to je naravno ”Super Mario Bros”, koja takodje donosi odred-jene novine u fizickoj realisticnosti u svet video igara. Dva nova fizicka prin-cipa upotrebljena u ovoj igri su momenat i trenje. Momenat se oslikava takosto kada Super Mario trci, a zatim skoci, moze da preskoci vece razdaljinenego kada skoci iz mesta ili kada skoci nakon normalnog hoda. Dok je trenjevidljivo prilikom zaustavljanja Super Maria nakon trcanja. Medjutim kodove igre postoji i jedan primer nedostatka fizicke realisticnosti, nije moguceda bilo koji vodo-instalater skoci do visine koja je pet puta veca od njegovesopstvene visine ili da pada ubrzanjem kojem bi bilo smrtonosno za ljude,a da pri tom prezivi pad. Tako da gravitacija u ovoj igri nije ni pribliznarealisticnoj :)

Takodje veoma znacajna video igra za razvoj fizicke realisticnosti jeste”Jurassic Park: Trespasser”, nastala 1998 godine. Ova video igra je poznatakao prva video igra u kojoj je koriscena Ragdoll tehnika imitiranja pokretabezivotnih tela, sto je tehnika koja se koristi u najvecem broju video igaradanasnjice samo u razvijenijem obliku. Igra je dobila veliki broj negativnihkritika zbog mnogobrojnih ”bagova”, ali je ostala zapamcena kao jedna odigara pionira danasnje fizicke realisticnosti u video igrama.

2001 godine Ragdoll tehnika dobija poseban oblik u igri ”Max Payne”.Koriscenjem tehnike usporavanja i Ragdoll tehnike, igracima je pruzen jedin-stven dozivljan pogadjanja objekata u vidu usporenih frejm po frejm sekvenci.

3

Slika 3: Prepoznatljive scene iz video igre Max Payne (2001)

Kompanija Valve donosi veliki iskorak sa svojim veoma poznatim naslovima”Half Life” i ”Half Life 2”. 2004 godine ”Half Life 2” donosi veoma real-isticno simuliranje fizike, koja sada ne prikazuje fizicku realisticnost samou vidu letenja kutija, vec fizicka realisticnost dobija na vecem znacaju zatosto ona postaje sastavni deo mehanike igre bez koje bi igra bila nezamis-liva. Koriscenjem specijalnog oruzja (Gravity Gun), igrac je u mogucnostida pokupi objekte i baci ih na neprijatelje. Takodje u samoj igri postoji velikibroj zagonetki koje bi bile neresive bez realisticnog fizickog sveta. Tako jena primer moguce napraviti rampu od klackalice stavljanjem kutije na jednuod njenih strana i slicno.

Slika 4: Gravity Gun u akciji - Half Life 2 (2004)

Vecina danasnjih video igara ima veoma realisticno simuliranje fizike stopredstavlja jedan ad kljucnih aspekata kada je u pitanju kvalitet same video

4

igre. Fizicka realisticnost u video igrama brzo postaje ocekivani deo svihnovih video igara, a ne neka od novina.

5 Najvaznije tehnike

5.1 Detekcija kolizije

Tehnika detekcije kolizije je sastavni deo video igara od samih pocetaka nji-hovog razvoja. Ona podrazumeva koriscenje razlicitih algoritama za proverukolizije izmedju dva cvrsta tela. Bez detekcije kolizije karakteri u videoigrama bi mogli nesmetano da prolaze kroz zidove i razlicite cvrste prepreke.Nakon detekcije kolizije nastaje odgovor na samu koliziju. Neki od primeraodgovora su odbijanje tela jedno od drugo, eksplozije, pokretanje odredjenihlancanih reakcija i slicno. Koristi se u gotovo svim video igrama danasnjice.

Slika 5: Simulacije bilijara bi bile nezamislive bez detekcije kolizije

5.2 Ragdoll tehnika

Kao sto je ranije receno Ragdoll tehnika se koristi za sto realisticniju i stomanje staticku animaciju bezivotnih tela. Koriscenjem ove tehnike je mogucerealisticno animirati padanje tela nakon sto je pogodjeno metkom, padanjetela niz stepenice i slicno. Danas, video igre kao sto su ”Call of Duty 4”,

5

”Fallout 3”, ”Grand Theft Auto IV” i ”Hitman: Absolution” koriste mod-erne verzije ove tehnike.

Slika 6: Primer upotrebe ragdoll tehnike

5.3 Tehnika simuliranja ”mekih” tela

Tehnika simuliranja ”mekih” tela je takodje moguca, ali je generalno dostaslozena. Najcesce se koristi za simuliranje objekata koji se deformisu kao stosu kosa, misici, vegetacija, odeca, pesak i voda. Npr. deformacija vodeprilikom pada cvrstog tela u nju.

Slika 7: Deformisanje zastave na vetru koriscenjem tehnike ”mekih” tela

6

5.4 Tehnika sistema cestica

Ova teknika koristi veliki broj sitnih elemenata kako bi se verno simuliralinajcesce haoticni sistemi, prirodni fenomeni ili hemijske reakcije. Primeritakvih fenomena i pojava su: vatra, eksplozije, dim, krzno, trava, kretanjevode (talasi), varnice, padanje lista, oblaci, magla, sneg, prasina, zvezde,galaksije i slicno. Ova tehnika se moze koristiti i kod 2D i kod 3D video igara.Neki od efekata simuliranih tehnikom sistema cestica mogu se sastojati i odnekoliko stotina hiljada cestica, cije kretanje modul za simuliranje fizike morapojedinacno pratiti i simulirati u realnom vremenu. Zbog toga ova tehnikaspada u jedne od slozenijih i hardverski zahtevnijih tehnika.

Slika 8: Dim simuliran tehnikom sistema cestica

7

6 Moduli za simuliranje fizike (Physics en-

gines)

Modul za simuliranje fizike predstavlja deo racunarskog softvera koji jezaduzen za simuliranje fizicke realisticnosti i realizaciju razlicitih tehnika zasimuliranje kolizije, gravitacije, tecnosti, dinamike cvrstih tela i slicno. Osimu video igrama, cesto se koriste i u filmskoj industriji. Ovakvi moduli imajuznacajnu hardversku podrsku u vidu jedinice za procesiranje fizike (PPU -Physics Processing Unit) ili procesiranja opste namene na jedinici za proce-siranje grafike (GPGPU - General-purpose Graphics Processing Unit).

6.1 Jedinica za procesiranje fizike (PPU)

PPU predstavlja zaseban mikroprocesor koji je zaduzen za obavljanjekalkulacija veznih za simuliranje fizike u video igrama u realnom vremenu.Moze biti zaduzen za detekciju kolizije, kalkulacije vezane za ”mekana” tela,dinamiku tecnosti, simuliranje kose i odece, pucanje objekata i slicno. Na-jznacajniji mikroprocesor koji je prvobitno bio iskljucivo zastnovan kao PPU,jeste PhysX cip kompanije AGEIA. Nakon sto je Nvidia 2008 godine kupilakompaniju AGEIA cip je danas poznat pod nazivom Nvidia PhysX i danasje zasnovan kao GPU.

6.2 Procesiranje opste namene na jedinici za procesir-anje grafike (GPGPU)

GPGPU predstavlja poseban nacin upotrebe jedinice za proseciranje grafike(GPU), koja prvenstveno vrsi racunanja vezana za racunarsku grafiku, radiizvrsavanja slozenih kalkulacija u aplikacijama, koje inace obavlja CPU.Trenutno najpopularniji jezik koji se koristi za obavljanje kalkulacija u GPGPUjeste OpenCL. Danas ima znacajnu ulogu u vidu Nvidia CUDA platforme zaparalelno programiranje.

8

U najvaznije module za simuliranje fizike danasnjice spadaju:

• Havok

Razvijen je od strane istoimene irske kompanije. Godine 2007, ovakompanija prelazi u vlasnistvo kompanije Intel. Primarno je dizajniranza koriscenje u video igrama. Prvi put je koriscen u video igrama 2000godine, a do danas je upotrebljen u preko 500 video igra. Najcesceje koriscen u video igrama u kojima igrac sve posmatra iz perspektiveglavnog lika (FPS - First-person Shooter), ili iz perspektive treceg lica(TPS - Third-person Shooter), mada je prisutan i u drugim zanrovima.Najpoznatije video igre danasnjice koje koriste Havok su: ”Call ofDuty: Black Ops II”, ”Medal of Honor: Warfighter”, ”Battlefield 3”...

• PhysX

Kao sto je vec receno razvijen je od strane americke firme AGEIA,koja je od 2008 godine u vlasnistvu druge americke firme Nvidia. Znacajanje jer oslobadja glavni procesor (CPU) od racunanja koja su vezna zafizicku realisticnost i sve prebacuje na GPU, cime omogucava glavnomprocesoru da nesmetano obavlja ostale poslove. U teoriji ovo bi trebaloda dovede do kvalitetnijeg igrackog iskustva i omogucavanja dodatnihvizuelnih efekata. Cesto se koristi kod simulacija dinamike voznje auto-mobila. Najpoznatije video igre danasnjice koje koriste Nvidia PhysXsu: ”Need for Speed: Shift”, ”Mafia II”, ”Batman: Arkham City”...

• Bullet

Bullet je najznacajniji modul za simuliranje fizike koji je otvorenogizvornog koda. Obuhvata 3D detekciju kolizije, dinamiku ”mekanih”

9

tela i koriscenje ragdoll tehnike. Pored upotrebe u video igrama, veomase cesto upotrebljava u filmskoj industriji i u programima za kreiranje3D animacija kao sto je npr. Blender. Neki od filmova u kojima jekoriscen Bullet su: ”2012”, ”Hancock”, ”The A-Team”... Najpoznatijevideo igre danasnjice koje koriste Bullet su: ”Grand Theft Auto IV”,”Red Dead Redemption”, ”Toy Story 3: The Video Game”...

• Box2D

Box2D je jedan od novijih modula za simuliranje fizike (2007) otvorenogkoda, koji se prvenstveno koristi u aplikacijama za mobilne telefonei tablete danasnjice ( iPhone, iPad i Android). Napisan je na jezikuC++. Najpoznatije video igre danasnjice koje koriste Box2D su: ”CrayonPhysics Deluxe”, ”Angry Birds”, ”Limbo”...

7 Greske u video igrama

Usled pogresnih proracuna od strane GPU ili modula za simuliranje fizikemoze doci do neuobicajenog ponasanja elemenata u video igrama, naravno iljudski faktor je velik prilikom samog kreiranja video igre. Primeri gresakau simuliranju fizike u nekim video igrama:

• Skate 3 (2010)

• PES 2011 - najcesca greska neispravna detekcija kolizije

• PES 2013

• Fallout New Vegas

• Gears Of War

10

8 Reference

1. http://en.wikipedia.org/wiki/Game physics

2. http://tvtropes.org/pmwiki/pmwiki.php/Main/VideoGamePhysics

3. http://en.wikipedia.org/wiki/Pong

4. http://en.wikipedia.org/wiki/Donkey Kong (video game)

5. http://en.wikipedia.org/wiki/Super Mario Bros.

6. http://en.wikipedia.org/wiki/Jurassic Park: Trespasser

7. http://en.wikipedia.org/wiki/Max Payne

8. http://en.wikipedia.org/wiki/Half-Life 2

9. http://en.wikipedia.org/wiki/Collision detection

10. http://en.wikipedia.org/wiki/Ragdoll physics

11. http://en.wikipedia.org/wiki/Soft body dynamics

12. http://en.wikipedia.org/wiki/Particle system

13. http://en.wikipedia.org/wiki/Physics engine

14. http://en.wikipedia.org/wiki/Physics processing unit

15. http://en.wikipedia.org/wiki/Gpgpu

16. http://www.havok.com/about-havok

17. http://physxinfo.com/wiki/Main Page

18. http://bulletphysics.org/wordpress

19. http://box2d.org/about

20. http://en.wikipedia.org/wiki/Havok (software)

11