1 / 11

H álózati Bombermen

H álózati Bombermen. Belicza András Konzulens: Rajacsics Tamás BME-AAIT. Mi is a Bomberman. Fel ülnézeti 2D mászkálós játék Feladat: egy figura ir ányítása (bomberman) Pálya: beton és tégla fal, köztük mozoghatunk

shel
Download Presentation

H álózati Bombermen

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Hálózati Bombermen Belicza András Konzulens: Rajacsics Tamás BME-AAIT

  2. Mi is a Bomberman • Felülnézeti 2D mászkálós játék • Feladat: egy figura irányítása (bomberman) • Pálya: beton és tégla fal, köztük mozoghatunk • Bombákat rakhatunk le, melyek a játékosokat megölik, a téglafalakat rombolják • Tárgyak: felvehető objektumok, melyek tulajdonságainkat, képességeinket változtatják meg • Cél: megölni az ellenfeleinket

  3. Konkurencia • Számos Bomberman játék létezik már. Említésre méltó: • Bomberman (Nintendo, ’89),Dyna blaster(’91): az ősök, nincs hálózati támogatás • Atomic Bomberman (’97): korlátozott IPX alapú hálózati támogatás, sok újítás (és „bug”) • Újításaim: • új játék koncepció • Erős hálózati támogatás

  4. Tervezési szempontok • A kód teljes függetlensége a játékban használt hang és kép erőforrásoktól • Kiemelt hálózati támogatás • korlátlan számú játékos • minimális sávszélesség-igény • csomagküldési „delay” kezelése • Jól konfigurálható, skálázható

  5. Implementációs szempontok • Az implementáció nyelve: Java2 5.0 • Biztonságos, könnyen kezelhető, jól dokumentálható, teljes körűen támogatott • Teljes hálózati támogatás • IP alapú hálózati támogatás • Server-kliens alapú program- és hálózati struktúra • Öncsatlakozás; pl. chat serveren keresztül

  6. Alapelvek: Iteráció • A minimális hálózati forgalom céljából lokális játékszámítás és –karbantartás • A játékszámítás alapegysége az iteráció: • Egy iteráció kiszámításához csak az előző iteráció végén levő állapotot (a játék állása és a játékosok akcióinak sorozata) kell ismerni.

  7. Alapelvek: szinkronizáció I. • A játékban résztvevő gépek szinkronizálása • Következő iteráció kezdődhet, ha NI jelet kapunk • Az NI jelet a szerver akkor küldi, ha minden kliens készen áll (és az iterációidőzítő is jelzett már) • Ha egy kliens NI jelet kap, kiszámítja a következő iterációt, és elküldi játékosai akció sorozatait (ez egyben a kész jel) • Ha mindenki elküldte akció sorozatait, a szerver NI jel formájában ezt minden kliensnek szétküldi (minimális iterációidő azért van)

  8. Alapelvek: szinkronizáció II. • Véletlenek: a játék rengeteg véletlen eseményt és adatot használ. java.util.Random.seed() • Egy játék-csomóponton is több szál fut, melyeket ezek után már elég lokálisan szinkronizálni • Pl. a játéktér frissítése: a skálázhatóság érdekében az iteráció periódusidejétől függetlenül történhet, szinkronizálása az iterációk számítása és saját időzítője alapján

  9. Alapelvek: hálózati delay kezelése • A „lag”-os játék legfőbb tényezője a hálózati csomagkésleltetés • Két iteráció közötti várakozási időt használjuk a delay lefedésére • Amikor elküldjük akcióinkat, azok a következő iterációban érvényesülnek majd • Következmény: pl. Ti=30 ms esetén a mozgás 30 ms-ot késik (nem érezhető, de szokható lenne), viszont közel 30 ms delay-t egyáltalán nem érzünk

  10. Összefoglalás • Az ismertetett struktúrák és algoritmusok alkalmazásával a kívánt újítások és előnyök kézbentartható bonyolultsággal megvalósíthatóak • A téma később általánosítható valósidejű elosztott játékok és alkalmazások hálózati struktúrájának és adatforgalmánaktervezéséreés elemzésére

  11. Köszönöm a figyelmet. Játék specifikáció és elkészült forráskódok: http://i.aut.bme.hu/onlab/BeliczaAndras/

More Related