Xbox programozás: Pacman forever

Xbox programozás: Pacman forever,

avagy játékfejlesztési alapismeretek egy klasszikus példán


A képzés során a játékfejlesztés alapjait egy közismert játék, a Pacman segítségével vesszük végig, ezáltal a résztvevők gyakorlatorientált módon sajátíthatják el a nélkülözhetetlen alapokat a grafikától a sprite-kezelésen át a programlogikáig. Úgy készítjük el, ahogy a nagykönyvben meg van írva: falakkal, ellenségekkel, mozgással, pontot érő gyümölcsökkel.

Kinek ajánljuk
Azoknak a középiskolásoknak és egyetemistáknak, akik a játékfejlesztést szórakoztató keretek között szeretnék megismerni, mégis úgy, hogy a megszerzett tudás a nagybetűs életben is hasznosítható legyen. Nincs alsó és felső korhatár, sőt még Xbox-ra sincs feltétlenül szükség, csak egy PC-re.

Szükséges előismeretek
A tanfolyamot bárki elvégezheti, aki érdeklődik a programozás, játékfejlesztés iránt. A szükséges programozási ismereteket menet közben sajátítjuk el, "beleszőve" a történetbe, így programozási alapismeret nem szükséges.

A tanultak hasznosítása a való világban
A képzés végeztével a résztvevők képesek lesznek mind Xboxra, mind Windows 7 okostelefonokra XNA-alapú játékokat és alkalmazásokat készíteni. A készített játékok PC-n egyaránt futtathatóak lesznek.

Információ a virtuális gépekről
Xbox-szal nem kell feltétlenül rendelkezni, csak internettel és számítógéppel. A tanfolyam elvégzéséhez az otthoni számítógépekre fel kell telepíteni a Visual Studio 2010 és az XNA Framework fejlesztőalkalmazásokat, amelyeket a résztvevők részére elérhetővé teszünk. Közös telepítésre az oktatókkal a tanfolyamot megelőző nulladik napon lesz lehetősség.

A tanfolyam hossza:
30óra
Ár (online és tantermi részvétel esetén egyaránt)
Magánszemélyek részére: bruttó 40 000 Ft
Cégek, intézmények részére: 40 000 Ft + áfa
A képzésen 38 fő vett részt.

Részletes tematika és videók

Minden előadásról videó készül, melyet a résztvevők tetszőlegesen visszanézhetnek, illetve le is tölthetnek.
1. nap: PacMan életre kel
2010. június 28., hétfő

  • A Visual Studio 2010, mint játékfejlesztőeszkösz: mi az a Solution, a Project, milyen fájlok vannak benne, melyik mire való? Hogyan hozunk létre új objektumokat? Mi az a fordítás, futtatás? Hogyan lehet egy játékot lépésenként futtatni (debug)?
  • Az XNA Game Studio 4.0 ismertetése, induló Xbox-alkalmazás létrehozása. 
  • Az Xbox-rendszer felépítése, a játékfuttató objektum tulajdonságai, metódusai: Initialize, Load, Update, Draw. Melyik metódusba mi kerüljön?
  • Egyszerű felirat elhelyezése a képernyőn.
  • Az Xbox futási ciklusainak vizsgálata. Mikor mi jön? Milyen időközönként?
Az XBox-játékprogramok általános felépítése (.wmv)
102 065Kb
PacManKomponens létrehozása (.wmv)
132 192Kb
PacManunk már "csámcsog", és halad! (.wmv)
42 585Kb
A nap végére elkészített állapot (ZIP) (.zip)
1 000Kb
2. nap: Egyszerű pálya készítése
2010. június 29., kedd

  • A játék főképernyőjének megalkotása, háttérkép
  • Pontok, vonalak, téglalapok, körök és egyéb alakzatok rajzolása
  • Felirat készítése a főképernyőre: PacMan! Font erőforrás készítése
  • Sprite-kezelés. Mi az a sprite? Animált grafikus erőforrás létrehozása. 
  • Sprite mozgatása a képernyőn. Sprite forgatása jobbra-balra gombnyomásra, növelés, kicsinyítés, sebesség
  • Mi az a vektor? A kétdimenziós vektor használata az objektum mozgásának kiszámítására
  • A Draw metódus különböző változatainak használata
Pacman vezérlése billentyűzetről (.wmv)
79 793Kb
Két csomópontos pálya készítése (.wmv)
119 992Kb
A nap végére elkészített állapot, hanggal (ZIP) (.zip)
1 000Kb
BONUS: Csirkefarm-1 (.zip)
94 576Kb
BONUS: Csirkefarm-2 (.zip)
54 055Kb
BONUS: Csirkefarm-3 (.zip)
32 382Kb
3. nap: Összetett pálya, sárga pöttyökkel
2010. június 30., szerda

  • A Gamepad, valamint a billentyűzet gombjainak érzékelése, sprite mozgatása a vezérlő utasításainak megfelelően
  • Pálya, ellenfelek és gyümölcsök programozása
  • Miben különbözik a pálya fala az ellenségtől? A gyümölcs a faltól, az ellenség a gyümölcstől? Honnan tudja egy fal önmagáról, hogy ő egy fal? Hol vannak a határai?
  • Statikus pályaszerkezet kialakítása, pályaelemek, pályaobjektumok. 
  • Ellenfelek programozásának objektumorientált megközelítése, ellenfélcsoportok (listák) létrehozása, ütközésérzékelés más ellenfelekkel
  • Gyümölcsosztály, és különböző származtatott gyümölcsök létrehozása, különféle pontértékekkel
  • Ellenfelek véletlenszerű bolyongása a pályán, ütközésérzékelés a falakkal
Kiosztásra kerül a nagy pálya (.wmv)
80 425Kb
Bályabejárási javítások és kajaosztás (.wmv)
115 839Kb
A nap végére elkészített állapot (ZIP) (.zip)
1 000Kb
4. nap: Jönnek az ellenségek!
2010. július 1., csütörtök

  • A saját játékosunk navigálása a falakon belül. Ütközés a falakkal: mi a teendő?
  • Pontok kiszámítása és kiírása gyümölcsök elgázolása esetén. Hangeffektusok.
  • Ütközés az ellenséggel: THE END. A játékmenet vége, visszatérés a főképernyőhöz.
  • Finomhangolás: mentés, betöltés, multiplayer opció, Windows Phone
  • Pályaszerkezet mentése, betöltése
Vizsgafelkészítő 05 (.zip)
208 600Kb
Vizsgafelkészítő 06 (.zip)
163 081Kb
Megesszük a bogyókat (.wmv)
41 301Kb
Lefagyunk az ellenségfejlesztés közben (.wmv)
48 893Kb
Sok szép, színes ellenség megvalósítása véletlen kóválygással (.wmv)
104 944Kb
A nap végére elkészített állapot (ZIP) (.zip)
1 000Kb
5. nap: Ütközés az ellenséggel, menü, pontszámok
2010. július 2., péntek

  • A teljes játékmenet összeállítása (ismétlés)
  • Extrák: Játék megállítása, a pillanatnyi állapot mentése, betöltése
  • Egynél több játékos kezelése. Mi történjek, ha A játékos B-vel ütközik?
  • A PacMan-játék átvitele Windows Phone-ra
Életek, ütközés, meghalás (.wmv)
115 205Kb
Játék újrakezdése, kilépés, menü (.wmv)
174 967Kb
A tanfolyam végére elkészített PacMan-változat (ZIP) (.zip)
1 000Kb