Opisi predmeta modula Razvoj softvera za računarske igre

 


AD360 Uvod u računarske igre: Ovaj predmet bavi se konceptom igara, teorijom i praksom razvoja igara, i uvodi studente u primenu tehnologija u razvoju računarskih igara. Studenti će se tokom semestra baviti analizom računarskih igara, diskutovaće se prisutne strategije, elementi igre, istraživaće se žanrovi i trendovi u industriji računarskih igara i formulisaće se ideja koncepta igre koji treba ostvariti. Ispituju se socijalni aspekti igara i drugi faktori koji utiču na ovu industriju, kao i ključno pitanje: ko će igrati igricu? Nakon definisanog koncepta, studenti dizajniraju igru kroz grupni projekat, primenom odgovarajućih tehnologija. Studenti prolaze kroz kompletan projekat kreiranja igre i do kraja semestra stiču iskustvo kroz čitav proces produkcije računarske igre: od definisanja koncepta, priče, do realizacije primenom tehnologija.


CS367 Razvoj igara 1. Predmet uvodi u osnove dizajna softvera, algoritama i programskih tehnika za razvoj računarskih igara sa naglaskom na interakciju u realnom vremenu. Uvode se osnovne tehnike i alati za pravljenje igara. Daju se osnove veštačke inteligencije i algoritmi od interesa za igre. Predmet čine četiri celine:(1) Osnove programiranja igara, izučavaju se logika, upravljanja i simulacije pokretnih objekata u realnom vremenu, interakcija igrača sa računarom, arhitektura i žanrovi igara. Programiranje, struktura podataka, algoritmi i specijalni efekti u 2D igrama, hardver za grafičku podršku, grafičke biblioteke - OpenGL, rasterizacija formi. Prikazivanje kretanja na ekranu - animacija, koordinatni sistemi i geometrijsko modeliranje. (2) Fizika igara, izučavaju se modeliranje i simulacija kretanja materijalne tačke i krutog tela, sistema materijalnih tačaka i tela, algoritmi detekcije sudara i izbegavanja prepreka. (3) Veštačka inteligencija igara izučava upravljanje pokretnim objektima u otvorenoj i zatvorenoj sprezi, inateligentno upravljanje, osnovne tehnike praćenja, potera, presretanje i izbegavanje napada. (4) Programska okruženja za razvoj 3D igara ujeziku c++, osnove programiranja 3D igara, 3d endžin, fizički endžin, endžin igre. Preduslov: CS232 C/C++ programski jezik,


CS369 Razvoj igara 2: Cilj predmeta je ovladati standardnim tehnikama dizajna softvera, algoritama i prigramiranja pri razvoju 3D računarskih igara; ovladati arhitekturom softvera za implementaciju igara u realnom vremenu kao i tehnikama programiranja elemenata igre (logika igre, modeliranje dinamike fizičkih procesa i upravljanje, prikaz scene, interakcija igrača). Predmet čine četiri celine. (1) Implementacija igre: Upoznavanje sa programskim okruženjem softvera za izradu igara, tehnike integracije komponenti, matematička definicija igre, klasifikacija igara, računar u igri protiv čoveka. (2) 3D geometrijsko modeliranje, Softverski alati za razvoj u više nivoa, 3D modeliranje i implementaciju (world i lokalni koordinatni sistemi, vektori, normale), 3D primitive, poligonalni i NURBS modeli z-bafering, hijerarhijsko modeliranje, konverzija u binarnu formu, manipulacija zvučnim resursima. (3) Fizika i veštačka intelegencija. Modeliranje i upravljanje mehaničkim sistemima (sistemi materijalnih tačaka i krutih tela), animacija i simulatori vozila, tehnike inteligentnog upravljanja. (4) Razvoj Igara : Tehnike razvoja igara, uključujuci objektno orijentisani dizajn, testiranje i evaluaciju softvera, izrada prateće dokumentacije. Preduslov: CS232 C/C++ programski jezik CS367 Razvoj igara 1


CS323 C/C ++ programski jezik: Cilj ovog predmeta je ovladavanje teorijom i praktičnim primenama programskog jezika C/C++. Najbolji način da se nauči programiranje je kroz praktičnu primenu i rešavanje različitih problema, pa u okviru predmeta studiraće se pažljivo izabrana serija primera primene C/C++ sa kompletnim objašnjenjima. Sve važne osobine i karakteristike ovog programskog jezika biće prodiskutovane i ilustrovane, npr. reprezentacija različitih tipova varijabli, kreiranje različitih funkcija, predstavljanje klasa i objekata, i operacija nad klasama i objektima. Biće objašnjeni koncepti izolacije podataka, sakrivanja podataka, koncepti nasledja klasa i polimorfizma funkcija. I ostale specifične osobine programskog jezika C++, kao npr. korišćenja lokatora podataka (pointers). Nastavne teme: Istorijat C/C++, instalisanje i korišćenje integrisanog softverskog okruženja za C/C++, kreiranje i egzekucija početnih C++ programa, definisanje i korišćenje različitih tipova varijabli, vektori i matrice podataka, kreiranje i korišćenje funkcija, argumenti funkcija, predstavljanje i kreiranje klasa i objekata, sakrivanje (privatizacija) podataka (information hiding) i instrukcija private, izolacija (encapsulation) podataka i funkcija, kreiranje i korišćenje ulaznih i izlaznih elemenata, inicijalizacija podataka, konstruktori i destruktori podataka, instrukcije za iteracije, logičko grananje, lokatori podataka, polimorfizam funkcija, nasledje klasa, otkrivanje i otklanjanje grešaka u kodu, organizacija C++ programa.

CS360 Veštačka inteligencija: Proučavanje sledećih koncepata i metodologija veštačke inteligencije: veštačke neuronske mreže, genetski algoritmi, ekspertni sistemi i nejasni (fuzzy) logički sistemi. Ovladavanje matematičkim aparatom neophodnim za primenu metodologija veštačke inteligencije. Razrada praktičnih primera primene metoda veštačke inteligencije. Demonstriranje i obučavanje upotrebe softvera veštačke inteligencije.


CS355 Računarska grafika: Predmet uvodi u oblasti iz matematike, algoritama i računarskog hardvera na kojima se zasniva 2D i 3D računarska grafika i prikazivanje u realnom vremenu,. Daje se pregled računarskih podsistema za grafiku (harver i softver) kao i svojstva bitna za programiranje. Izučavaju se algoritmi prikazivanja geometrijskih objekata (linja, površina i tela) na uređajima za prikazivanje. Izlažu se osnovi projektivne geometrije i projektivnih transformacija, a zatim svojstva tela kao što su boja, osvetljenje i senčenje. Zatim se uvode grafičke biblioteke i alati za programiranje kao osnova za kreaciju složenih, realističnih 3D scena. Predmet čine četiri celine: (1) Grafički Hardver: Pregled grafičkog hardvera, grafičke biblioteke, emulacija hardvera; Računarske arhitekture za grafiku (grafički procesori, grafička memorija, i prikazivači). (2) 2D Grafika : Osnove 2D geometrije: koordinatni sistemi, tačke, prave, poligoni, krugovi i krive. Diskretizacija i poboljšanje prikaza (slike) na diskretnom prikazivaču; boje i palete boja; 2D figure (sprites). (3) 3D Grafika : Osnove 3D geometrije: tačke, linije, poligoni, ravni i površine; mreže, normale; vektori; 3D transformacije u projektivnom prostoru: translacija, rotacija, deformacije; složene transformacije, kvaternioni; Svetlosna svojstva tela: absorbovanje, refleksija, providnost i prelamanje. Paralelno i tačkasto osvetljenje. Boje, teksture i senčenje. Projektovanje 3D objekata na 2D objekte paralelnom i perspektivnom projekcijom; kamere. (4) Programiranje grafike: Programska okruženja za grafiku: DirectX, OpenGL. Priprema 3D grafičke kreacije: kreiranje osnovnih 3D objekata; Initializacija grafičkih rutina: Učitavanje /editovanje 3D geometrijskih formi; postavljanje kamera i osvetljenja; priprema prikaza. Operacije pri prikazivanju ( senčenje objekata, senčenje pozadine, obnavljanje memorije); (Preduslov: CS232, NT111 Еnglеski 1 i IT160)