Budapest University of Technology and Economics, Faculty of Electrical Engineering and Informatics

    Belépés
    címtáras azonosítással

    vissza a tantárgylistához   nyomtatható verzió    

    Játékfejlesztés labor

    A tantárgy angol neve: Game Development Laboratory 

    Adatlap utolsó módosítása: 2023. január 13.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar

    Mérnökinformatikus szak 

    MSC képzés

    Főspecializáció (A)

    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIMA24   0/0/3/f 5  
    3. A tantárgyfelelős személy és tanszék Vaitkus Márton,
    A tantárgy tanszéki weboldala http://cg.iit.bme.hu/portal/oktatott-targyak/jatekfejlesztes
    4. A tantárgy előadója Dr. Vaitkus Márton, egyetemi adjunktus, IIT
    5. A tantárgy az alábbi témakörök ismeretére épít Programozás, szoftvertervezés, számítógépes grafika, matematika, fizika
    6. Előtanulmányi rend
    Kötelező:
    NEM
    (TárgyEredmény( "BMEVIIIMA03", "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIMA03", "FELVETEL", AktualisFelev()) > 0)

    A fenti forma a Neptun sajátja, ezen technikai okokból nem változtattunk.

    A kötelező előtanulmányi rend az adott szak honlapján és képzési programjában található.

    Ajánlott:
    A tantárgy elvégzéséhez C++ és C# programozási ismeret ajánlott.

    A tematika jelentős részét képezik 3D grafikai feladatok, melynek alapjaira (geometriai ismeretek, lineáris algebrai alapismeretek, koordináta transzformációk) részletesen nem térünk ki. Ezért ajánlott a Számítógépes Grafika tárgy hallgatása. Ugyanakkor a hiányzó ismeretek önszorgalomból is könnyen pótolhatók, így a teljesítéshez a Számítógépes Grafika tantárgy hallgatása nem feltétlenül szükséges.
    7. A tantárgy célkitűzése

    A tárgy célja, hogy a hallgató legyen képes akár önállóan egy játékmotor, illetve erre épülő játék összeállítására, illetve ismerje ezek felépítését és működését, hogy programozóként tudjon dolgozni velük. Ismerje meg a megjelenítés, animáció és vezérlés módszereit. Legyen képes a grafikus kártyákon, illetve konzol környezetben a mai játékokban jellemző látványhatások megvalósítására, ilyen területen fejlesztői és kutatói feladatok megoldására.

    A laboratórium keretein belül betekintést nyerünk a Unity motor használatába is.

    8. A tantárgy részletes tematikája
    Laborok tematikája (a haladás függvényében időben dinamikusan elosztva): 

    Bevezető: 
    A bevezetés során teszünk egy rövid játéktörténeti áttekintést, megismerkedünk a játékfejlesztés szereplőivel és feladataikkal. Teszünk egy számítógépes grafikai áttekintést is, hogy minden a tárgyhoz feltétlenül szükséges alaptudást érintsünk. 

    Játékmotorok alapjai: 
    A jatékmotorok működése, a játékhurok. Objektumorientált és komponens-alapú megközelítések összehasonlítása egy egyszerű 2D játék példáján.    

    Unity – Bevezetés, fizika: 
    A Unity játékmotor alapjai. Unity project és assetek. Szkriptelés és eseménykezelés. Objektumok, fényforrások, kamerák kezelése. Program publikálása. Fizika. 

    Unity – Karakter animáció és fizika (2D): 
    2D sprite animációja és irányítása. Háttér. Talaj és emeletek. Fizikai anyagjellemzők. 2D karakter fizika.  

    Unity – Karakter animáció és fizika (3D): 
    3D modell animációja és irányítása. Karakter importálása. Rigging. Animációk és mozgások hozzáadása. Controllerek. 3D karakter fizika, ragdoll. Inverz kinematika. 

    Unity – Mesterséges intelligencia és navigáció: 
    AI a játékokban. Játék AI architektúrák: állapotgép, behavior tree, planner, neurális háló. Navigáció: mesh és agent. Akadályok. 

    Unity – Árnyalás I. (Anyagok, megvilágítás): 
    3D árnyalás és grafikus csővezeték áttekintése. Unity árnyalási modell. Fényforrások. Unity materialok.  

    Unity – Árnyalás II. (Shaderek): 
    Többmenetes renderelés. Unity shader programok. Environment mapping. Nem-fotorealisztikus renderelés, kontúr-rajzolás. 

    Unity – Utófeldolgozás: 
    Képtérben történő utófeldolgozás. Színkorrekció. Képfeldolgozási módszerek, konvolúciós szűrők. Mélység-alapú effektek. 

    Unity – Leképezések: 
    Bump mapping, displacement mapping. Ambient occlusion. Shadow maps. 

    Unity – Plakátok, részecskerendszerek: 
    Plakátok, fák, árnyékok. Részecskerendszerek, robbanások, ütközések, animált textúrák. 

    Unity – Multimédia: 
    Hangok, hang-effektek, szkriptelés. Unity keverő. Videók, videó-textúrák. 

    Unity – Hálózati játékok: 
    Unity hálózati API. Kliens-szerver architektúra. Hálózati játékosok kezelése. Szinkronizáció. Távoli műveletek. 
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Gyakorlati oktatás heti 3 órás laborfoglalkozásokon. A szükséges elméleti alapok a gyakorlat folyamán hangoznak el. A félév során több kis példaalkalmazást hozunk létre, melyek egy problémára fókuszálnak, esetenként az előző órán megvalósított anyagra támaszkodva. Minden példaalkalmazáshoz tartozik egy előre elkészített kiindulási anyag és az elérendő végállapot forráskódja is. A laborok során egy részletes útmutatóként szolgáló fóliasort használunk, melyben lépésről lépésre megadjuk az implementálandó kódsorokat (gyakorlatilag másolni és beilleszteni lehet őket). A kódok pontos megértéséhez szükséges magyarázatok a laboron hangzanak el. A pontos útmutatásnak köszönhetően a laborok otthon is elvégezhetőek. Beugró nincs.
    10. Követelmények
    Órák TVSZ-nek megfelelő látogatása.

    Félév végén, otthon készített önállóan választott házi feladat bemutatása. Az érdemjegyet a házi feladatra ajánljuk, melyet az utolsó labor idejében kell bemutatni.
    11. Pótlási lehetőségek A házi feladat a pótlási héten pótlólag beadható. A labor alkalmak nem pótolhatóak.
    12. Konzultációs lehetőségek Órák után, illetve külön egyeztetett időpontokban.
    13. Jegyzet, tankönyv, felhasználható irodalom
    Laboranyagok: fóliasor, kiindulási és végállapot projektek a tárgyhonlapon megtalálhatók. 

    Dr. Szirmay-Kalos László, Antal György, Csonka Ferenc: Háromdimenziós grafika, animáció és játékfejlesztés. ISBN: 963 618 303 1.
     

    Ajánlott: 
    Gregory, J. (2018) Game Engine Architecture, 3rd Edition. ISBN: 113 803 545 9.
    Hocking, J. (2022). Unity in Action: Multiplatform game development in C#, 3rd edition. ISBN: 161 729 933 2.
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra42
    Félévközi készülés órákra14
    Felkészülés zárthelyire
    Házi feladat elkészítése90
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés
    Összesen150
    15. A tantárgy tematikáját kidolgozta Dr. Vaitkus Márton, egyetemi adjunktus, IIT