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 laboratórium

    A tantárgy angol neve: Game Development Laboratory

    Adatlap utolsó módosítása: 2015. augusztus 31.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Informatika MSc, Vizuális informatika főspecializáció
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIMA03 2 0/0/3/f 4  
    3. A tantárgyfelelős személy és tanszék Dr. Umenhoffer Tamás, Irányítástechnika és Informatika Tanszék
    4. A tantárgy előadója Dr. Umenhoffer Tamás, Irányítástechnika és Informatika Tanszék
    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( "BMEVIIIM289" , "jegy" , _ ) >= 2
    VAGY
    TárgyEredmény("BMEVIIIM289", "FELVETEL", AktualisFelev()) > 0)

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

    A kötelező előtanulmányi rendek grafikus formában itt láthatók.

    Ajánlott:

    A tantárgy elvégzéséhez C++ programozási ismeret szükséges.

    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
    1. Bevezető
    A bevezetés során teszünk egy rövidke kis 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.
    2. Digitális tartalom generálás
    Polygon modellezés (Blender) és textúrázás, textúra festés (Gimp). Egy egyszerű boltív modellezése, a poligonmodellezés alap eszközeivel. A modellezett boltív színeinek megfestése.
    3. Grafikai motor.
    Ogre 3D alapjai, az Ogre API és szkriptrendszer áttekintése, és alapvető rajzolás és animáció implementációja. Megismerkedünk az árnyalók használatával az Ogre3D material rendszerében. Megismerkedünk a felhasználói input és kamera kezelésével is.
    4. Fizikai motor.
    Áttekintjük a Bullet fizikai motor alapjait és segítségével merev test szimulációt valósítunk meg. A fizikai motort felhasználjuk triggerek megvalósítására is. 
    5. Haladó Ogre3D technikák I.
    Áttekintjük az Ogre részecske rendszerét, hogy fákat, erdőt és speciális effekteket valósítsunk meg. Megtanuljuk használni az Ogre post-processing keretrendszerét, és implementáljuk a legfontosabb utófeldolgozási effekteket (pl. tone mapping, glow). 
    6. Haladó Ogre3D technikák II.
    Áttekintjük az Ogre árnyékszámítási módszereit, és magas minőségű shadow map alapú árnyékolást valósítunk meg. Megismerkedünk a jelentősebb pixel alapú displacement mapping technikákkal és implementáljuk őket.
     7. Karakter modellezés és animáció.
    A labor során újra elővesszük a modellező szoftverünket és megnézzük, milyen munkafolyamatok kellenek egy low-poly karakter modellezéséhez, skinnel-éséhez, és animációjához. A karakter animációt megvizsgáljuk a programozás szemszögéből is: megismerkedünk az Ogre3D csontvázanimációs eszközeivel és a karakter fizikáját a BUllet motorral valósítjuk meg.
    8. Egyéb játék komponensek.
    Egy működő Ogre3D alapú játékot egészítünk ki hangokkal (OpenAL) és felhasználói felületi elemekkel (Ogre overlay keretrendszerrel és a MyGUI keretrendszerrel).
    9. Hálózat, multiplayer játék.
    Az utolsó labor egy önálló ill. csoportos munka. Egy játék keretből kiindulva kell megvalósítanunk multiplayer működést a windows sockets API használatával. A feladat itt az, hogy megtervezzük a játék belső reprezentációját, és azt, hogy milyen adatokat kell feltétlenül továbbítani a kliensek között. A végső megoldásnak egy erősen szinkronizált kliens-szerver megoldásnak kell lennie. Mivel itt több gép kommunikációjáról van szó, kis csoportokban fogunk dolgozni.
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium) Gyakorlati oktatás. 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.
    10. Követelmények

    Órák TVSZ-nek megfelelő látogatása.

    Félév végén, otthon készített házi feladat bemutatása. Az érdemjegyet az órai munkákra és a házi feladatra ajánlunk.

    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

    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ákra8
    Felkészülés zárthelyire
    Házi feladat elkészítése70
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés
    Összesen120
    15. A tantárgy tematikáját kidolgozta Dr. Umenhoffer Tamás, Irányítástechnika és Informatika Tanszék