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ó    

    Technológiai platformok 1.

    A tantárgy angol neve: Technology Platforms 1.

    Adatlap utolsó módosítása: 2015. szeptember 21.

    Budapesti Műszaki és Gazdaságtudományi Egyetem
    Villamosmérnöki és Informatikai Kar
    Játéktervező és -elemző szakirányú továbbképzési szak
    Tantárgykód Szemeszter Követelmények Kredit Tantárgyfélév
    VIIIA012   0/4/0/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

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Umenhoffer Tamás

    Docens

    IIT, BME

    Dr. Magdics Milán

    Adjunktus

    IIT, BME

    5. A tantárgy az alábbi témakörök ismeretére épít

    Számítógépes játékok.

    6. Előtanulmányi rend
    Ajánlott:

    Előtanulmányi követelmény nincs.

    7. A tantárgy célkitűzése

    A tárgy célja, hogy biztosítsa azt a technikai tudást, ami egy játékszoftver fejlesztésének megkezdéséhez szükséges. A munkát egy széleskörűen elterjedt játékmotorra, a Unity-re építjük. A Unity elég flexibilis ahhoz, hogy sok stílusú játékot lehessen vele készíteni a legelterjedtebb platformokon. Felhasználóbarát felülete segít abban, hogy a kezdeti lépéseket komoly programozási háttér nélkül is megtehessék a hallgatók. A kurzus megadja az elméleti tudást a kezelőfelület mögött rejlő rendszer működéséhez, illetve mivel egy komplex projekthez jelentős egyedi viselkedést kell megvalósítani, ezért programozási tudást is ad. A tantárgy keretén belül elsajátítjuk a Unity rendszer bővítését C# programozási nyelv segítségével. Megismerkedünk a programozás és a C# alapjaival, illetve megcélozzuk az alapvető algoritmikus gondolkodás elsajátítását.

    A kurzus elvégzése után a hallgatók képesek lesznek arra, hogy egy egyszerű virtuális valóság szoftvert (tipikusan játékszoftvert) hozzanak létre a Unity segítségével. Ismerni fogják a 3D virtuális világ kezelésének, animációjának alapjait. Rendelkezni fognak programozási alap ismeretekkel, képeses lesznek megítélni az egyes munkafolyamatok komplexitását, a Unity rendszer korlátait és a bővítés melletti lehetőségeit, illetve az erre fordítandó erőforrásigényeket. A elméleti tudásnak köszönhetően a rendszer biztos használatára lesznek képesek a kurzus végén.

    8. A tantárgy részletes tematikája

    1.             Ismerkedés a Unityvel 1. Áttekintjük a Unity felületét, fő funkcióit. Egy példaprojekt segítségévek megnézzük a következő témákat: projekt struktúra, szerkesztőfelület, editor alapok, build, futtatás, assetek, jelenetek.

    2.             Ismerkedés a Unityvel 2. Unity fejlesztési filozófiája. Assetstore és csomagok, játékok publikálása. Összehasonlítás más rendszerekkel, játékmotorok felépítése. A Unity speciális funkciói, hasznos bővítmények. Egyszerű jelenetek létrehozása, modell betöltés.

    3.             Programozási alapok 1. Programozási alapismeretek és a C# programozási nyelv. Egyszerű programokon keresztül tanuljuk meg a C# programozás alapjait.

    4.             Sprite-ok és 2D-megjelenítés. 2D grafikai pipeline, 2D transzformációk, hierarchiák.

    5.             Programozási alapok 2. Game loop, callback függvények, renderelési fázisok. A Unity motor működésének fő struktúrái és funkció bővítései.

    6.             Programozási alapok 3. Példaprogramok és gyakorlatok a Unity rendszerén belül C# programozási nyelven. A Unity működésének bővítési lehetőségei. Egyszerű 2D-animáció, irányítás, követés, spline animáció.

    7.             Programozási gyakorlat. Véletlenszerű pályagenerálás, véletlen szám generátorok.

    8.             2D karakter kontroller. 2D karakter mozgatása és animációja. Animator használata. Kamera követés.

    9.             2D fizika. Megvizsgáljuk, hogy a Unity milyen funkciókat biztosít a Newtoni fizikai szimulációkhoz, és hogyan használhatjuk ezeket fel egy 2D játék elkészítéséhez.

    10.          Játéklogika. Alapvető játéklogikai gyakorlatok olyan példákon keresztül, mint életerő, pontszám, ellenségek viselkedése, pályaváltás stb.

    11.          GUI 1. A felhasználói interakció lényeges elemeként Unity segítségével információk képernyőre írása/rajzolása (pl. pontszám kijelzés, életerő kijelzés).

    12.          GUI 2. Interaktív elemek létrehozása és kezelése (pl. menük, gombok, szöveges mezők).

    13.          Hangok, multimédia. A Unity hang- és médialejátszó komponensei. 3D-pozícióval rendelkező hangforrások és zenelejátszás.
    9. A tantárgy oktatásának módja (előadás, gyakorlat, laboratórium)

    Előadás és számítógépes gyakorlatok az előadások keretében.

    10. Követelmények

    •              A félév végi aláírás feltétele az órák látogatása. Négy alkalmat (az órák 30%-át) meghaladó hiányzás esetén a hallgató a TVSz szerint nem kaphat aláírást. A jelenlétet az oktató rendszeres katalógussal ellenőrzi.

    •              A kurzus során a hallgatók egy kiválasztott (és az oktató által jóváhagyott), csoportban megvalósított projekt teljesítésére kapnak önálló értékelést. A választható projekteket ipari partnerekkel együttműködésben határozzuk meg, egyszerű játék fejlesztéséről szólnak. A csoport mérete kb. 4-5 fő.

    11. Pótlási lehetőségek

    A projekt feladatot a utolsó alkalommal kell bemutatni, pótlólagos bemutatásra egy héten belül van lehetőség.

    12. Konzultációs lehetőségek

    Az oktatóval egyeztetett időpontban lehet konzultálni.

    13. Jegyzet, tankönyv, felhasználható irodalom

    Ajánlott irodalom:

    Unity http//docs.unity3d.com/Manual/

    Szirmay-Kalos László – Antal György – Csonka Ferenc, 2003, Háromdimenziós grafika, animáció és játékfejlesztés. Budapest: Computerbooks.

    Dimes, Troy, 2015, C# Programming for Beginners An Introduction and Step-by-Step Guide to Programming in C#. CreateSpace Independent Publishing Platform

    RB Whitaker, 2012, The C# Player's Guide. Starbound Software
    14. A tantárgy elvégzéséhez átlagosan szükséges tanulmányi munka
    Kontakt óra52
    Félévközi készülés órákra12
    Felkészülés zárthelyire
    Házi feladat elkészítése54
    Kijelölt írásos tananyag elsajátítása
    Vizsgafelkészülés120
    Összesen
    15. A tantárgy tematikáját kidolgozta

    Név:

    Beosztás:

    Tanszék, Int.:

    Dr. Umenhoffer Tamás

    Dr. Magdics Milán

    Docens

    Adjunktus

    IIT, BME

    IIT, BME