Online multiplayer játékalkalmazás fejlesztése több platformon

2016-2017 tavasz

Nincs megadva

Téma leírása

Áttekintés


A cél egy interneten keresztül játszható, multiplayer kártyajáték
megvalósítása, gépi ellenfelek nélkül. Ennek a játéknak az alapjati szeretnénk ebben a félévben
lefektetni, mely magába foglalja a megfelelő kommunikációs csatorna kialakítását a
kliensszerver
kommunikációhoz. Ahhoz, hogy ténylegesen egy valós játékhoz közelítsen az
alkalmazás ezen fázisa, feladatunk utánajárni, hogy hogy lehet megvalósítani a szobákra
osztott WebSocket alapú kommunikációt. Első körben a kialakított keretet a felhasználók
regisztráció nélkül használhatják. Játék közben a különböző cselekvési szándékokat, melyeket
a játékos választ, a mobilkliens a szervernek elküldi, az pedig a lépés kimenetét továbbítja az
összes, szobához csatlakozott kliensnek, melyek erről a felhasználót értesítik.

A szerver felelőssége


A kliensszerver kommunikációt eventbusszal valósítjuk meg. A szerver felel a különböző
játékszobák kezeléséért (létrehozás, játékos hozzárendelése/kiléptetése), az események
broadcast módú továbbításáért, valamint a játék menetének felügyeletéért. Utóbbi magában
foglalja pl. a kijátszott lapok/lapkombinációk pontértékének kiszámolását és a kör nyertesének
megállapítását, azaz az adott játék szabályainak metartatását
Szerveren felhasznált technológiák:
● Play! Framework
● JPA (ha szükséges)

A kliensek felelőssége

A mobilkliens felhasználói felületet nyújt a játékos számára, mellyel ő szobát hozhat létre,
csatlakozhat meglévő szobához, majd játék közben a lépéseit kiválaszthatja. A játékos
döntéseit továbbítja a szervernek, annak válaszairól pedig visszajelzést nyújt a játékosnak.
Alapvetően telefonokra készül az alkalmazás.


iOS technológiák


● Swift 2.0 programozási nyelv, minimum iOS verzió: 9.0
● ModelViewPresenter architektúra
● Aszinkron folyamatok megvalósítása natív closureök használatával
● UI: Storyboard, AutoLayouttal
● SocketIO framework a WebSocket alapú kommunikációhoz
● Képkezelés: HanekeSwift

Android

● ModelViewPresenter architektúra
● Aszinkron folyamatokhoz RxJava + Retrolambda
● Layoutokhoz AppCompat és Support/Support Design elemek
● Java nyelven (1.8)
● Min API level: 16
● Alapvető libraryk: ButterKnife, Timber, Picasso, EventBus

Maximális létszám: 3 fő