You are on page 1of 8

Osnove kompjuterskih igara (2 deo)

1. OOP-objektivno orijentisan pristup realizaciji problema:


Softverski model sto blizi modelu realnog sveta.
-OO modelovanje-kreiranje objektivnog modela
-OO programiranje-tehnika realizacije obj. modela
C# programski jezik-sredstva da se model pretoci u racunarski program.

2. OO model-je model kojim se identifikuju objekti koji vesto rade I apstrakcije koje su skupovi
objekata.
objekti su kao blokovi-“Crna kutija”-ne vidi se unutrasnjost.
Unutrasnjost modela je njegovo stanje-ne moze mu se pristupiti, samo se spolja mogu vrsiti akcije
nad objektom.
Drugi objekti saradjuju sa objektom preko strelica akcija.

3. Tradicioni algoritamski model:


Resenje problema u koracima. Razmatraju se uslovi pod kojima se nesto radi I nacin na koji se radi.

4. Karakteristike OOP:
-razmislja se o problem koji se resave, a ne o resenju
-razmislja se o delovima Sistema a ne o nacinu kako se nesto radi
-paznja je na realizaciji delova na veze izmedju delova
-tezi se da se broj I intezitet veza smanji I kontrolise.

5. Zasto OOP?
Odgovor na softevrsku krizu kad je projektovanje softvera pocelo da traje duze I kosta vise I ne
zadovoljava sve zahteve. Projektovanje, izrada I odrzavanje softvera su skuplji, a rezultati su sve
slabiji I neisplatljiviji.

6. Problemi tradicionalnog programiranja


moduli imaju interakcije, greske u softveru su sve ozbiljnije I teze za uklanjanje, ne obezbedjuje se lak
nacin ponovne upotrebe delova, otezano odrzavanje, moraju se postovati pravila pisanja “cistog”
koda.

7. OOP pojmovi:
-objketi ;
-klasa objekata
koncepti: apstrakcija, nasledjivanje, ucaurenje I polimorfizam

8. Objekat-entitet sposoban da cuva svoja stanja I daje okolini skup akcija preko koga se stanjima
pristupa. Osobine objekta: identitet, stanje I ponasanje.

9. klasa-skup objekata sa zajednickim osobinama I funkcionalnosti.


Objekat je instanca klase. Klasa je apstraktni tip podatka I novi tip podatka.

10. Atributi opisuju osobine objekta. Vrednost atributa definise staticko stanje objekta.
11. Metode-njom se opisuje ponasanje objekta u odredjenoj situaciji I uslovima, ali I odredjuje se
nova vrednost. Definise funkcionalnost objekta.

12. Ucaurenje ili enkapsulacija-zastita unutrasnje realizacije klase od spolja, njom se saniraju detalji
objekta.
postoji javni deo I privatni deo klase.

13. Nasledjivanje-omogucava da se na osnovu postojece klase izvede nova klasa. Nova klasa
nasledjuje clanove bazne klase. Moze biti direktno I indirektno.

14. Polimorfizam-znači da mnogi objekti mogu imati isti metod, a odgovarajuća akcija se preuzima iz
objekta koji poziva metod.

15. Unity podrzava-CH, UnitiScript, BOO

16. CH:mogucnost razvijanja razlicitih aplikacija:windows,web.


Nastaje na bazi CH I jave, I Visual studio. Najpopularniji programski jezik.
Sintaksa CH: azbuka, rezervisane reci, konstatne, promenljive.

17. Deklaracija promenljive: naziv, tip, pocetna vrednost, vidljivost.

18. Funkcija vs Metoda


Metoda je funkcija koja je vezana za objekat. Svaka metoda je funkcija, ali ne I obrnuto.

AR-augmented reality-prosirena realnost


-Dodaje novi virtuelni sloj preko slike realnog sveta, uz upotrebu kamere. Moze se doziveti direktno
ili indirektno. Koristi kameru, audio ili senzorske podatke. Digitalni zadrzaj moze biti: slika, video, 3d
model, forma..
Primena AR: marketing, vodici, arhitektura, navigacija, igra, simulacije, modna industrija, kozmeticka
industrija.
Primer: Coca Cola, McDonald, Heineket, Ikea, Nokia..

AR vs VR
Stanovniste koncepta:
VR-daje vestacki generisano okruzenje
AR-ubacuje dodatni sadrzaj u realno okruzenje
Stanovniste tehnologije
VR-neophodan odgov. hardver-HMD koji blokira spoljasnje okruzenje
AR-moze koristiti HMD, ali moze I obicni telefon
Stanovniste primene:
VR-potpuno izoluje korisnika od realnosti, najvise se koristi u gejming industriji
AR-ima siru upotrebu: 24/7, navigacija, kupovina, vodic..

-MR(mixed reality)-udruzuje VR I AR

MR vs AR-oboje su u realnom okruzenju, ali MR kombinuje realno okruzenje sa kompjuterski


generisanom grafikom koja je toliko realna da je nemoguce odvojiti grafiku od realnosti. Potpuno
“uvuce” korisnika u taj svet.
AR hardver: processor, ekran, ulazni uredjaji, senzori
To imaju svi moderni telefoni I tableti. Limitiran je velicinom ekrana; sto se resave HMD naocarima.
lideri u razvoju hardvera: Microsoft hololens, meta2, DAQRI Smart Helmet, Google Glass.

-GameDraw- 1. Aplikacija za meta2 naocare, omogucava skulpturisanje 3D modela rukama.


lideru u razvoju softvera AR-blippar, wikitude, ??..

-Sema funkcionisanja AR: video zapis realnog okruzenja sa kamere>pretraga markera u inputu
kamere>pozicioniranje markera u prostoru>pozicioniranje nadogradjenih digitalnih
objekata>renderovanje nadogradnje objekata u kadar video zapisa.

- Istorijat AR: Ivan Saderlend, SAD vojska 90-ih, SportVision 98, D9-Esquire-magazin sa AR.

Unity editor-ekstenzije poput Vuforije se koristi za razvoj AR aplikacije.

KORISNICKI INTERFEJS:
Sastoji se od elemenata ulazne/izlazne komunikacije preko kojih se igrac povezuje sa virtuelnim
svetom.
-Culni interfejs-vizuelni, auditivni aspekti uredjaja, relevantni za izvodjenje zadatka.
-Kineticki interfejs-fizicki elementi uredjaja sa kojima igrac manipulise u igri.
GUI-graphic user interface-podvrsta culnog interfejsa
Input-ulazni el. Za unos: -text box-login, kreiranje profila…
Input el. za podesavanje: -check box, radio button, slider
Input za podesavanje akcije: Dugme u info prozorima za biranje ili potvrdu akcije, navigaciono
dumge-deli sadrzaj izmedju strana, dugmici-ikonice-za aktiviranje neke akcije( sa slikom akcije).

-Izlazni elementi: HMD(status igre, poeni, zivoti, tajmer), tooltips-opis kad se kursorom predje preko
necega(nakon 2 sec.)

-Uticajni faktori dizajna GUI: boja, contrast boja, tipografija, ikonice, kompozicija.

-Gestalt princip: ljudi teze najjednostavnijoj I najstabilnijoj interpretaciji slike.


Kontinuitet, uredjenost, simetricnost, jednostavnost>pragnanz zakon(princip pojednostavljivanja)

<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>

Princip zatvaranja-interpretacije koje vode ka “zatvorenim” oblicima su bolje nego “otvorene”.


Princip blizine-bliski objekti se smestaju u celinu.
Princip slicnosti-vizuelno slicni elementi su povezani u celinu.
Princip kontinuiteta-elementi organizovani po zamisljenoj liniji se smatraju …. .
Princip figure I pozadine-elementi celine se percipiraju kao ili prvi plan ili pozadina.
Princip zajednickog kretanja-elementi koji se krecu u istom pravcu ili izgledaju kao da im je isti cilj. . ?
Princip simetricnosti-ljudi su skloni da simetricne elemente bolje pamte i uocavaju.
Princip paralelnosti-paralelni oblici su povezaniji od ostalih.
Princip zajednickih prostora-elementi su kao deo grupe, unutar oivicenog prostora.
Princip fokusa: naglaseni elementi ce usmeriti paznju na sebe.
Princip prethodnog iskustva-dozivljaj elemenata zavisi od iskustva.
<<<<<<<<<<<<<<<<<<<<<<<>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
PRINCIPI DIZAJNIRANJA KORISNICKOG INTERFEJSA
Funkcionalnost-neophodne kontrole I povratne informacije.
Forma-podela I organizacija delova ekrana.
Estetika-kako napraviti da interfejs bude prijatan za oko.
Konzistentnost-doslednost u stilu, navigaciji, velicini dugmica..
Poznavanje korisnika-vestine I iskustva korisnika.

-UI primeri: moduli UI-loading, login, tutorijali.

-THE palac-drzanjem telefona u jednoj ruci palcem mozemo dodinuti odredjene tacke bez
naprezanja, neke tacke sa naprezanjem, a neke tacke ne mozemo dodirnuti-mrtve tacke ili
nedostizne zone. Dostupne zone su “toplotne zone”.

-Kako funkcionise touch screen?


Donji deo ekrana je oblozen slojem kapacitivnih senzora kroz koje ide elektricni potencijal I formira
elektrostaticko polje, I kada prst dodirne gornji deo ekrana bez sloja, 2 sloja se spolje I tu se formira
promena u kapacitetu koji uredja izmeri.

-Dodiri na ekranu-single tap-levi klik, aktiviranje; douple tap-dodatni meni ili zum; long press-dodatni
meni, desni klik; swipe-prebacivanje na sledeci ekran, sliku..; spread-zumiranje; pinch-odzumiranje

3D MODELOVANJE
-Poligon-osnova 3D model uz koju se model prikazuje. Sastoji se od ivica, refleksa I povrsi.
-Uloga normala-definise prednju stranu objekta; pogresne normale dace izgled izvrnutih stranica.
-Vrste poligona- 4strane(kvadrovi), trisovi(trouglovi), n-goni(>4 verteksa, komplikovani su).
-Renderi-imaju probni, radni I finalni prikaz
Radni prikaj je prikaz ka sceni u toku rada u nekom program I pogled na modele.
U toku modelovanja mogu se praviti probni renderi koji ce dati bolji prikaz od radnih.
Finalni render je konacan, najkvalitetniji prikaz. Rezultat rendedovanja je bitmapa, pojedincna ili u
nizu-kod animacije.

TEHNIKE 3D MODELOVANJA:
-Modelovanje uz pomoc kocki (box modelovanje)-poligonalna tehnika, geometr. primitiv
-Konturno modelovanje-poligonalna tehnika, edge modeling, niz pologiona duz kontura
-Modelovanje uz pomoc kriva (NURBS/spline modeling)-nurbs krive formiraju kostur
-digitalno-novo, brze, efikasno, modelovanje rukama u virtuelnom svetu, pomocu grafickih table
-Procedualno modelovanje-algoritamski bez coveka; to su vec generisani moduli koji se
modifikuju(speedtree,CityEngine)
-Modelovanje bazirano na slici(algoritamsko, bazirano na svetu statickih slika)
-3D skeniranje(skeniranje I digitalizacija realnih modela ili ljudi)

Prednosti I mane
-Box modeling: prednosti-tehnika se brzo savlada, za pocetnike je, brzi prihvatljivi rezultati; mane-
dosta komadnih podesavanja, tesko napraviti model pogodne topologije za animaciju.
-Edge modeling: prednosti-precizniji od boxa, manje vremena za podesavanje I moze se uplanirati
topologija unapred; mane-nije najlakse za pocetnike, nije brzo kao box.
-Nurbs modeling (auto industrije): prednosti- korisno za modele sa zakrvljenim oblikom, pogodno za
model radijalnih modela rotiranjem krivih oko ose; mane-retko se koristi za karaktere jer je sporo,
nije podesno za animaciju.

-Optimizacija 3D modela: Broj poligona je bitan, treba napraviti balans, koristiti dobru tehniku, rucno
ili automatsko smanjivanje broja poligona, ispravno struktuiranje mreze.

-Teselacija je proces koji konvertuje model u mrezu trostranih poligona kad je vreme za
renderovanje. Podela po dijagonali.
-Teselacija n-gona: veoma komplikovan proces, u distorziji dolazi do nepredvidjenih rezultata,
otezavaju postavljanje materijala.

Unity-optimizacija 3D modela: podrzava modele sa ili bez teksture za uvodjenje, posmatra ubacene
modele kao niz trouglova, optimizacija u unity-ju podrazumeva da broj trouglova ne zagusi aplikaciju,
cesto se detalji umesto modelovanja dobijaju dodavanjem fotorealisticne teksture, podesiti jedinice
sa drugim aplikacijama, kreirati modele sa efikasnom tipografijom, optimizovati geometriju..

Za import I export u unity se koristi:


-Import u unity: max, MB, MA
-Export u unity: FBX, obj, 3DS, DAE, DXF

-Mapiranje(texture mapping)- primena 2d slika za dodavanje boja I teksture, reljefa I detalja na 3d


modelu. UV coordinate pozicioniraju 2d grafiku na 3d objekat. Sejderi se koriste nakon mapiranja da
prikazu kako materijal deluje na svetlost.

-4 nacina kreiranja teksture: od pocetka-vektorsku u 2d aplikaciju, koriscenje fotograf., algoritamsko


generisanje mape, 3d slikanje teksture direktno u aplikaciji.

-Mape: difuzna mapa, bump mapa, normal mapa, mapa refleksije, displacement mapa (razlike ?!)

1 DEO

-Definicija oksfordskog recnika: igra koja se igra na nacin elektronske manipulacije slikama od strane
kompjuterskog programa prikazana na ekranu.

-Kriz Kroford-jedan od pionira komp. Igara, osnivac casopisa “The Journal of computer game design”.
-Kris Kroford definicija, interaktivna, ka cilju orijentisana aktivnost izradjena sa svrhom zarade novca,
sa aktivnim elementima protiv kojih se igra I sa kojima igrac moze da stupi u interakciju.

DIHOTOMIJE KRISA KROFORDA:


1. Razlika izmedju umetnosti I industrije zabave (umetnost-zarad sopstvene lepote, industrija zabave-
zarad sticanja novca).
2. Igracka vs ostali proizvodi ind. Zabave:
-Ukoliko je proizvod interaktivan on predstavlja igracku, ukolio nije on predstavlja neinteraktivni
proizvod; igracka bez cilja-igracka u uzem mislu; igracka koja ima cilj-izazov; bez aktivnih elemenata je
slagalica; sa aktivnim elementima je konfilkt; nadmasivanje protivnika ali ne da ga napada-
takmicenje; ako je napadanje dozvoljeno onda takav konflikt postaje igra.

-GAMEPLAY-igrivost-veza igraca sa igrom, odvojena je od grafike I zvucnih el.


-PC-player character-igracki lik
-NPC-ne igracki lik-igrac ne moze da ga kontrolise dikretno
-Avatar-naziv za karakter
-Gejmer-posvecen igrac-finansijska dobit
-Svrha pravljenja igara-finansijska dobit
-Da bi se prodala mora izgledati primamljivo odredjenoj demografskoj grupi.
-To se radi ispitivanjem trzista: ko su nasi igraci, kako doci do nase ciljne grupe, kako prodati igru itd.

-Kako prodati ? (monetizacija): kupovina dvd-a, download igre, pretplata, freemium-besplatna igra sa
mogucnosti naplate dodatnog sadrzaja, advertising-ads-iskacuce reklame u igrici, paymium-pretplata
+ dodatno placanje.

-Kako uspeva freemium model? Nikol Lazaro kaze da se igre vode sl emocijama: radoznalost,
frustracije, zabavljanje I zelja.
-4 kljucna faktora: novina, izazov, prijateljstvo, svrha.

-Svetsko trziste kompjuterskih igara ima blizu 100 milijardi dolara I 45 posto pripada azijskom trzistu.

VODECI ZANROVI IGARA


-ARKADA-puckacka igra: jedan od prvih zanrova, cilj igre je ostati sto duze u igri, zahteva dobre
reflekse brzinu spretnost, primeri-phoenih, star castle.

-Pucacka igra iz prvog lica(pucacina): postaje popularna 90-ih, cilj je da se eliminisu svi neprijatelji,
prvi uspesan primer je “Woltenstein 3D”, raznovrstno oruzje, multiplayer mode-umrezeno igranje
vise igraca, primeri-doom.

-Igre prikpadanja-cilj je ostati neprimecen, izbeci borbu u potpunosti ili neprimetno eliminisati
neprijatelja, primer je hitman.

-Avantura-pocinje pricom sa upoznavnaje karaktera a kasnije se I zadaje cilj igre, nivo se obicno
zavrsava sa resavanjem zagonetke, nema nasilja-podsticu razmisljanja, primeri-gabriel knight, Indiana
jones..

-Platforma-2D okruzenje, kretanje, skakanje, sakupljanje I izbegavanje, platforma po kojoj se krece


karakter, pad sa platforme-gubitak zivota, primeri, space panic, bonk..

-Igra uloga-igrac donosi odluke u skladu sa “scenarijom”, pracenje su naratorom, zehteva smisleno
rukovodjenje sakupljenih stavki.

-Zagonetka/logicka igra-cesto nema karaktera, objekti su apstraktni, cilj je uocavnanje obrasca


pomocu kojeg se zadatak resave, cesto ogranicenog vremena sa dosta nivoa, primeri-tetris, cube..

-Simulacija-simulira upravljanje realnim vozilima, namenjene za vozace polaznike, primeri-simcity,


gran turismo..

-Strategija-cilj je pobedjivanje protivnika, zahteva takticnost, kontrolisanje puno faktora, vestinu


planiranja, mogu biti potezne ili u realnom vremenu, primer-orge tactics.

-Sportska igra-cilj je stizanje do cilja pre ostalih ucesnika, primer:need for speed.
-MMO igre-zahteva mrezu igraca internet ili lan, multiplejer-povezuje igrace.

-Borilacka igra-navladati protivnika I dokrajciti ga, primeri-mortal combat, tekken…

-Muzicka/plesne igre-zahtevaju dzojstike, primer-dance dance revolution.

-Obrazovne igre-deci I mladji uzrastima za ucenje, lakse I bolje usvajanje znanja, odredjivanje zanra
zavisi od gejmpleja.

I FAZA IZRADE-pre-produkcija: osmisljava se prica I concept igre


-2 kljucna elementa: gdd(game desing document), tdd(tehnical design document)- oni predstavljaju
nacrte igre I definisu mehaniku, igrivost, dizajn karaktera, dizajn okruzenja, level dizajn.

II FAZA-produkcija- kreiranje I animiranje karaktera, ------- elemenata igre, ubacivanje elemenata u


razvojno okruzenje, kreiranje mehanike igre.

III FAZA-odrzavanje-resavanja gresaka I zakrpa igre, inkrementalna unapredjenja igre.

IV FAZA-unapredjenje-kreiranje novog sadrzaja ili nastavka igre, povecanje modifikacije igre.

-Zivotni ciklus projekta: predstavljanje ideje(0-ti mesec), pre-production faza(5 meseci), production
faza(1 godina), alfa verzija(2 meseca), beta verzija(2 meseca), konacna master verzija igre.

-U prvom se prestavlja osnovni dizajn I pregovaranje sa izdavacima oko budzeta, plan izvodjenja I
nekih specificnih zahteva. Samo par senior ljudi u timu-gejm dizajneri-producenti.
-U drugoj fazi dizajn igre se detaljno planira, planira se razvojno okruzenje kao I ostali softverski alati,
praktikuju se I ucestali prototipi ako postoje novine.
-Alfa verzija-moze se odigrati od pocetka do kraja ali nije gotova.
-Beta verzija-igra je kompletirana ali je I dalje moguca pojava gresaka koje treba otkloniti.
-Master verzija-verzija za distribuciju I prodaju.

GAME ENGINE-razvojno okruzenje za izradu kompjuterske igre. U njemu se svi napravljeni elementi
sklapaju u celinu. Nekad su ovi softveri bili jako skupi, dok su danas svima dostupni. To je pokrenulo
lavinu malih proizvodjaca. 4 najcesce koriscena softvera: unity, source 2,unreal engine 4, cry engine

-Source 2 engine-2015, valve kompanije(cs I half-life)

-Unreal engine 4-kompanija Epic games, prednost napredno ostavljanje I novi sistem cestica, igra
kreirana pomogu ovog softvera mogu se igrati na pc, mac, ios, android, x box… Besplatna je!

-Cry engine-kompanija grutek, za pc platforme, kao I za ps4 I xbox one. Velike graficke mogucnosti,
glavni nedostatak je koriscenje sopstvenog programskog jezika, licenca se placa 10 dolara mesecno.

-Unity-sirok spektar dodataka I pregledan, jednostavan. Prednost je optimizacija igre za


funikcionisanje na vise razlicitih platoformi istovremeno.
--- cross platform integration-korisnik moze da zapocne igru na telefonu ili tabletu I da je nastavi na
svom pc racunaru tacno od momenta kada je prekinuo.
-Podrzava 27 platformi, podrzava mnoge formate, podrzava sprajt animaciju I 2d fiziku. Glavni
nedostatak je mala mogucnost modifikaciju.
-Ne poseduje mogucnost kreiranja modela unutar sebe vec se mora importovati
-1. Model-placanje licence za sve; -2. Model uzima 5 posto od prodaje video igre.
-Aktuelni modeli: personal-free, plus-35 dolara mesecno, pro-125dolara mesecno, enterprise-
specifican.
-prave se-kompjuterske igre, simulacije sa ili bez VR/AR, ozbiljne igre

-Build igra je zip fajl I sastoji se iz 2 glavna dela: pak I izvrsna datoteka.

-Manager-objedinjavanje vise malih skripti u 1 program, ima jednostavan interfejs I omogucava da


svako moze da gradi buildove I tako su skinuli teret sa ledja programera.

-Uloge u razvoju igara-kreatori, izdavaci I proizvodjaci softvera

-Kreatori igara-menadzeri projekta brinu o-planiranje projekta, planiranje ljudi, komunikacija;


gejm dizajneri-osmisljavaju scenario, junake, nivo igre, process u igri, prenosenje narativa, balans
igre, definisu interaktivnost. Gejm dizajneri problemi-sirok dijapazan zanrova I dinamicne promene u
industriji video igara. Gejm dizajner mora da ima opste obrazovanje na visokom nivou, prati
trendove, ima iskustvo, da voli svoj posao;
Art departman-2 poddepartmana(2d I 3d), art menadzer, concept umetnik, dizajner karaktera,
dizajner okruzenja, tehnicki umetnik, gui dizajner, dizajner za fizuelne efekte;
art menadzer(direktor)-nadgleda rad svih ostalih u departmanu I odgovoran za koherentnost
igre(sklad igre);
koncept umetnik-kreira ideje o karakterima I scenama igre, definise izgled elemenata igre, takodje
pravi pocetne nacrzte za oruzja, rekvizite, efekte, vozila;
dizajner scene-kreira resurse koji ce ciniti okruzenje igre;
dizajn karaktera-kreira karaktere I njihove osobenosti;
tehnicki umetnik-most izmedju umetnickih I programerskih pozicija, “nindza” u firmi(mora da zna
sve), brine o uvozenju resursa u igru, osigurava da je grafika optimizovana;
G-UI dizajner-zaduzen za sistem menija I Head Up Display(HUD), poznavanje grafickog dizajna I
tipografije;
departman za animaciju-moguce uloge: animiranje karaktera, animiranje elemenata okruzenja, “cut
scene” animacije, rigging, motion-capture;
producent/glavni dizajner I level dizajner takodje osmisljavaju igru; level dizajner-planira I gradi
okruzenje po nivoima, koristi postojece asete, moze I da postavlja osvetljenje I karaktere;
departman za programiranje-osnovna uloga-gejmplay programmer;
gejmpley programer-osmislja mehaniku igre I igrivost.

-Testiranje-tasteri osiguravaju kvalitet igre.

-Rigging je-def nacina kretanja I skeleta u slucaju karaktera; radi tehn. Umetnik; motion-capture-
reziranje, skeniranje pokreta I prebacivanje pokreta u program.

You might also like