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,
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