Játékfejlesztés Silverlight platformon

OData támogatás
Konzulens:
Vajk Tamás
Automatizálási és Alkalmazott Informatikai Tanszék

A webes játékok a felhasználó böngészőjében futnak, és alig, vagy egyáltalán nem igényelnek telepítést a kliens oldalán. Sokszor kezdetleges grafikával, gyermeteg zenével és egyszerű játékmenettel rendelkeznek – de mindezek ellenére gyakran nagyon addiktívnak bizonyulnak. Fő vonzerejük, hogy rögtön elkezdhetünk velük játszani, hosszadalmas telepítések végezése nélkül, így gyakran előfordul, hogy mire észbe kap az ember, már akár egy-két órát is elvesztegetett a játékkal.

Az internetes játékok piacát jelenleg az Adobe Flash uralja - gyakran a webes játék szinonimájaként használják a „Flash játék” kifejezést. Azonban ez nem jelenti azt, hogy ne létezne más lehetőség a webes játékok fejlesztésére. A Silverlight technológia célja épp a gazdag felhasználói élményt biztosító webes alkalmazások fejlesztése, amely kategóriába a játékok is beletartoznak. Dolgozatom célja, hogy elkészítsek egy webes játékot, és a fejlesztés során megismerjem a Silverlight technológiát.

Játékom alapjául a Rizikó nevű többszemélyes társasjátékot választottam. Az elkészített alkalmazásban a legfontosabb feladatokat a szerver látja el. Számon tartja a klienseket, az éppen zajló játékokat, illetve hogy melyik melyikhez tartozik. Kezeli a játékban a kliensek által végrehajtott lépések hatására bekövetkező változásokat, és értesíti a többi érintett klienst is ezekről. A szerveren keresztül érhetjük el az adatbázist is, amely a felhasználók és a pályák adatait tartalmazza.

A Silverlight kliensek a Model-View-ViewModel tervezési minta alapján készültek. Ennek előnye, hogy különválasztja a játék logikáját a felhasználói felülettől, és azoknak akár párhuzamos fejlesztését is lehetővé teszi. A kliensek és a szerver között kétirányú kommunikációra van szükség. Ezt a HTTP Polling Duplex protokoll segítségével oldottam meg.

Szakdolgozatomban ismertetem a lehetséges technológiai választások előnyeit és hátrányait, illetve részletesebben bemutatom a választott technológiákat. A további fejezetekben az alkalmazás felépítését és funkcióinak megvalósítását mutatom be, közben a fejlesztés során tapasztalt nehézségekre is kitérek. Végül összefoglalom az tapasztalataimat és megemlítek néhány továbbfejlesztési lehetőséget.

Letölthető fájlok

A témához tartozó fájlokat csak bejelentkezett felhasználók tölthetik le.