Sadržaj se učitava...
mdi-home Početna mdi-account-multiple Djelatnici mdi-script Studiji mdi-layers Katedre mdi-calendar-clock Raspored sati FOI Nastava search apps mdi-login
Platforme za razvoj računalnih igara
Computer Game Development Platforms
2024/2025
4 ECTSa
Informacijski i poslovni sustavi 1.2 (IPS)
Katedra za teorijske i primijenjene osnove informacijskih znanosti
M2
6. semestar
Osnovne informacijemdi-information-variant Izvođači nastavemdi-account-group Nastavni plan i programmdi-clipboard-text-outline Model praćenjamdi-human-male-board Ispitni rokovimdi-clipboard-check-outline Rasporedmdi-calendar-clock Konzultacijemdi-account-voice
Izvođenje kolegija
Studij Studijski program Semestar Obavezan
Informacijski i poslovni sustavi 1.2 (IPS) Analiza i dizajn poslovnih sustava 6 izborni
Informacijski i poslovni sustavi 1.2 (IPS) Umjetna inteligencija u poslovanju 6 izborni
Informacijski i poslovni sustavi 1.2 (IPS) Umreženi sustavi i računalne igre 6 izborni
Informacijski i poslovni sustavi 1.2 (IPS) Razvoj programskih sustava 6 izborni
Cilj kolegija
Upoznavanje studenata s problematikom razvoja platforme za razvoj računalnih igara (engl. game engine) s posebnim naglaskom na odabir infrastrukture potrebne za razvoj računalne igre. Upoznavanje s metodama integracije različitih tehnologija potrebnih za razvoj računalne igre od konvencionalnih do najsuvremenijih metoda temeljenih na metodama umjetne inteligencije.
Preduvjeti
Norma kolegija
Predavanja
15 sati
Vježbe u praktikumu
30 sati
Nastavnik Uloga na kolegiju Oblik nastave Tjedana Sati Grupa
Schatten Markus Nositelj Predavanja
Vježbe u praktikumu
15
12
1
2
1
4
Okreša Đurić Bogdan Suradnik Vježbe u praktikumu 3 2 4
Sadržaj predavanja
  • Uvod u predmet i definiranje načina rada (1 sat)
    Platforme za razvoj računalnih igara. Arhitekture platformi za razvoj računalnih igara. Osnovni elementi platformi za razvoj računalnih igara. Žanrovi računalnih igara i platforme za razvoj računalnih igara.
  • Elementi oblikovanja platforme računalnih igara (2 sata)
    Stroj računalne igre. Razvoja okolina (engl. Integrated Development Environment – IDE). Sustav za verzioniranje programskog rješenja. Kolaborativni alati. Drugi pomoćni alati. Rad s ulaznim jedinicama. Rad s izlazim jedinicama. Mrežna infrastruktura. Podatkovna infrastruktura. Alati za rad s grafičkim, video i audio elementima igre. Ostali mediji računalne igre. Integracija sustava. Sažetak.
  • Mehanike u računalnim igrama (2 sata)
    Mehanike u računalnim igrama. Odnos između mehanika i žanrova računalnih igara. Mehanike igranja na različitim platformama. Dizajn mehanika igranja. Algoritmi i mehanike igranja u dvodimenzionalnim igrama. Osnovne karakteristike dvodimenzionalnih igara. Tipični žanrovi dvodimenzionalnih igara. Primjeri mehanika igranja i algoritama u dvodimenzionalnim igrama. Algoritmi i mehanike igranja u trodimenzionalnim igrama. Osnovne karakteristike 3D igara. Tipični žanrovi 3D igara. Primjeri mehanika igranja i algoritama u 3D igrama.
  • Umjetna inteligencija u računalnim igrama. (2 sata)
    Kratka povijest umjetne inteligencije u računalnim igrama. Zašto računalne igre za umjetnu inteligenciju. Zašto umjetna inteligencija za računalne igre. Reprezentacija svijeta. Korisnost. Učenje = Maksimizacija korisnosti (Reprezentacija svijeta). Ad-hoc pristupi. Konačni automati. Stabla ponašanja. UI temeljena na korisnosti. Drugi pristupi. Pretraživanje stabala. Evolutivno računalstvo. Nadzirano učenje. Podupirano učenje. Nenadzirano učenje. Hibridni algoritmi. Sažetak.
  • Igranje igara (2 sata)
    Zašto koristiti UI za igranje igara. Igranje s ciljem pobjede u ulozi igrača. Igranje s ciljem pobjede u ulozi ne-igrača. Igranje s ciljem skupljanja iskustva u ulozi igrača. Igranje s ciljem skupljanja iskustva u ulozi ne-igrača. Oblikovanje UI algoritama za računalnu igru. Kako UI može igrati igru. Pristupi temeljeni na planiranju. Pristupi temeljeni na podupiranom učenju. Pristupi temeljeni na nadziranom učenju. Hibridni pristupi. Kakve igre može igrati UI. Igre na ploči. Igre karata. Klasične arkadne igre. Strategijske igre. Utrke. „Pucačine” i druge igre u prvom licu. Ozbiljne igre. Interaktivna fikcija. Druge igre. Sažetak.
  • Generiranje sadržaja (2 sata)
    Zašto generirati sadržaj. Taksonomija. Taksonomija sadržaja. Taksonomija metoda. Taksonomija uloga. Kako generirati sadržaj. Metode temeljene na traženju. Metode temeljene na algoritmu rješavanja (engl. solver based). Metode temeljene na gramatikama. Stanični automati (engl. cellular automata). Šum i fraktali. Strojno učenje. Uloge generiranja sadržaja. Što je moguće generirati. Razine i mape. Vizualni efekti. Audio sadržaj. Priča. Pravila i mehanika igre. Igre. Evaluacija generatora sadržaja. Sažetak.
  • Virtualna i proširena stvarnost u računalnim igrama (engl. virtual and augmented reality) (2 sata)
    Osnovni koncepti i karakteristike virtualne i proširene stvarnosti u računalnim igrama. Tipični žanrovi pogodni za igre virtualne stvarnosti. Tipični žanrovi pogodni za igre proširene stvarnosti. Sportske igre. Pregled mehanika pogodnih za vitualnu i proširenu stvarnost.
  • Integracija platforme za razvoj računalne igre (2 sata)
    Povezivanje kompomenti platforme za razvoj računalnih igara. Skriptni jezici. Sučelja. Mrežna sučelja. Osnove podrške za mrežno igranje. Prijenos podataka preko mreže. Sinkronizacija događaja i animacija preko mreže. Servisi za podršku mrežnom igranju. Upravljanje procesima. Virtualizacija. Orkestracija. Sažetak.
Sadržaj seminara/vježbi
  • Vježbe u računalnim laboratorijima
    Vježbe u računalnim laboratorijima prate sadržaj predavanja te služe kao priprema za izradu vlastitog projekta platforme za razvoj odabrane računalne igre. Na laboratorijskim vježbama koristit će se odgovarajući alati za razvoj računalnih igara i umjetne inteligencije.
Ishodi učenja kolegija
  • Primijeniti osnovne koncepte izrade računalnih igara (stvaranje vizualnih objekata, upravljanje ulaznim jedinicama, stvaranje animacije, programiranje interakcije s korisnikom, spremanje i učitavanje podataka, rad sa zvukom).
  • Usporediti algoritme koji se koriste u tipičnim žanrovima računalnih igara (akcijske igre, logičke igre, igre s riječima, igre za razonodu).
  • Kreirati i modificirati različite mehanike u računalnim igrama (nasumično generiranje objekata, kretanje objekata, pucanje, detekcija kolizije, kretanje kroz ograničeni prostor, generiranje nivoa).
  • Konstruirati prototipove igara različitih žanrova (akcija, avantura, trkača igra, igra iz prvog lica).
  • Kreirati vlastitu računalnu igru temeljenu na standardnim algoritmima.
  • Modelirati višedretvene programe.
  • Koristiti mrežne resurse u razvoju programa.
  • Predložiti rješenje arhitekture platforme za razvoj računalne igre (engl. game engine, game platform, game infrastructure)
  • Implementirati elemente umjetne inteligencije za razvoj računalne igre koristeći odgovarajuće metode i tehnike
Ishodi učenja programa
  • razumjeti stanje i trendove razvoja suvremenih informacijskih i komunikacijskih tehnologija (ICT), razumjeti njihov utjecaj na pojedinca, organizaciju i društvo te procijeniti njihovu primjenjivost u zadanom kontekstu
  • razumjeti i primijeniti ključne aspekte informacijske tehnologije (programiranje, algoritmi, strukture podataka, baze podataka i znanja
  • razumjeti i primijeniti suvremene tehničke koncepte i prakse u informacijskim tehnologijama (arhitektura računala, operacijski sustavi, mreže računala)
  • razumjeti i primijeniti matematičke metode, modele i tehnike primjerene rješavanju problema iz područja informacijskih i poslovnih sustava
  • razumjeti bitne čimbenike koji utječu na poslovanje organizacije i pojedinaca te primijeniti osnovne metode i koncepte planiranja, upravljanja i obračuna poslovanja
  • analizirati stanje, identificirati prilike i definirati probleme s kojima se susreću organizacije i pojedinci u primjeni ICT, te formulirati rješenja uz primjenu ICT
  • razumjeti osnovna vertikalna područja primjene ICT (industrija, zdravstvo, promet, turizam, država i sl.), te horizontalne aplikacije (uredski sustavi, DSS, CRM, ERP, DMS i sl.)
  • razumjeti i primijeniti suvremene metodološke pristupe razvoja organizacijskih i informacijskih sustava, te oblikovanja organizacije i organizacijske strukture
  • razumjeti suvremene organizacijske koncepte i upravljati organizacijskom kulturom
  • modelirati poslovne procese i podatke u organizacijama i primijeniti modele u razvoju informacijskih i poslovnih sustava
  • razumjeti i primijeniti metode, tehnike razvoja informacijskih i programskih sustava u suvremenim razvojnim okolinama
  • razumjeti i primijeniti procese, metode i tehnologije upravljanja IT uslugama i resursima te podrške i pružanja različitih vrsta usluga vezanih uz ICT
  • razumjeti i primijeniti etička načela, zakonsku regulativu i norme koje se primjenjuju u struci
  • razumjeti osnovna načela i metode upravljanja organizacijom i uspješno raditi u timu
  • uspješno komunicirati s klijentima, korisnicima i kolegama na verbalan i pisani način uz primjenu odgovarajuće terminologije uključujući i sposobnost komunikacije o struci na stranom jeziku
  • pratiti stručnu literaturu na hrvatskom i stranom jeziku, pripremiti i samostalno održati prezentacije na hrvatskom i stranom jeziku stručnoj i općoj publici, te kritičku evaluaciju prezentirane stručne teme
  • razumjeti i primijeniti vještine učenja potrebne za cjeloživotno učenje i nastavak obrazovanja na diplomskom studiju.
  • razumjeti i primijeniti osnovne principe planiranja i razvoja karijere u struci i vlastitih poduzetničkih poduhvata
Osnovna literatura
  • Georgios N. Yannakakis and Julian Togelius (2018) Artificial Intelligence and Games, Springer
  • Gregory, J. (2018). Game engine architecture. crc Press.
  • Okita, A. (2019). Learning C# Programming with Unity 3D, second edition. Routledge
Dopunska literatura
  • Čubrilo M. (1989) Matematička logika za ekspertne sustave, Informator, Zagreb.
  • Barrera, R., Sithu Kyaw, A., Naing Swe, T. (2018). Unity 2017 Game AI Programming - Third Edition: Leverage the power of Artificial Intelligence to program smart entities for your games. Packt Publishing Ltd.
  • DaGraca, M. (2017). Practical Game AI Programming: Unleash the power of Artificial Intelligence to your game. Packt Publishing Ltd.
  • Bennett, C., Sagmiller, D. V. (2014). Unity AI Programming Essentials. Packt Publishing Ltd.
  • Palacios, J. (2018). Unity 2018 Artificial Intelligence Cookbook. Packt Publishing Ltd.
  • Felicia, P. (2019). Unity from Zero to Proficiency (Beginner): A Step-by-step guide to coding your first game. Independently published.
Slični kolegiji
Redoviti studenti Izvanredni studenti
izvanredni rok
Datum: 27.11.2024.
Vrijeme: 16:00
Opis: Na Fakultetu
izvanredni rok
Datum: 25.04.2025.
Vrijeme: 16:00
Opis: Na Fakultetu
U kalendaru ispod se nalaze konzultacije predmetnih nastavnika, no za detalje o konzultacijama možete provjeriti na profilu pojedinog predmetnog nastavnika.
2024 © Fakultet organizacije i informatike, Centar za razvoj programskih proizvoda