Presentation is loading. Please wait.

Presentation is loading. Please wait.

ETSI-ObjectWeb Mobile Middleware WorkshopPage 1 Middleware for mobile multiplayer online games PELLERIN Romain RIAM Project (1 year): JIMM (Bouygues Telecom,

Similar presentations


Presentation on theme: "ETSI-ObjectWeb Mobile Middleware WorkshopPage 1 Middleware for mobile multiplayer online games PELLERIN Romain RIAM Project (1 year): JIMM (Bouygues Telecom,"— Presentation transcript:

1 ETSI-ObjectWeb Mobile Middleware WorkshopPage 1 Middleware for mobile multiplayer online games PELLERIN Romain RIAM Project (1 year): JIMM (Bouygues Telecom, CNAM-Cedric, Pastagames) Research project: CNAM-Cedric, INT

2 ETSI-ObjectWeb Mobile Middleware WorkshopPage 2 Contents 1.Game middleware platform functionalities 2.Game middleware for mobile market overview 3.Gaming Services Platform (GASP):  Objectives  Implementation 4.Conclusion and Perspectives

3 ETSI-ObjectWeb Mobile Middleware WorkshopPage 3 Game middleware functionalities Dedicated to multiplayer games Game services for  Players: accounts management, lobby room handling, buddy management, high scores handling  Editors: game publishing (includes updates), players management, competition management  System administrator: monitoring, logging, load sharing System services Security, data exchange optimisation, load balancing, fault tolerance, persistency, monitoring, logging, data mining…

4 ETSI-ObjectWeb Mobile Middleware WorkshopPage 4 Game middlewares for mobile market overview Existing middlewares for mobile multiplayer games  Proprietary platforms:Terraplay MOVE, Exit Games, InFusio EGE, Pixel Technologie JIVE, KayaK Interactive LIVE, Cash-U PECAN GAMING  No open source platforms for mobile (Massiv and Nel are for desktop environnements) Status of commercial platforms  Proprietary platforms have specific architecture and concepts.  => incompatibility of interfaces Games portability issues No interoperability between platforms  => Normalization

5 ETSI-ObjectWeb Mobile Middleware WorkshopPage 5 Market overview (2) Normalization activity: Open Mobile Alliance (OMA) Normalization started in 1999 in Mobile Gaming Interopérability Forum (MGIF) MIGF integrated into OMA in 2002 OMA  Founded in 2002 by a set of ~200 companies (IBM, Intel, France Telecom, Motorola, Ericsson, Siemens…)  Goal: standardize all technologies concerning mobile  One of the working group = Gaming Services which improves MGIF specifications

6 ETSI-ObjectWeb Mobile Middleware WorkshopPage 6 Implement OMA Gaming Services Specifications Open source Target –MIDP and Doja mobiles –Pseudo real-time games GAming Services Platform (GASP) Objectives

7 ETSI-ObjectWeb Mobile Middleware WorkshopPage 7 Data model Architecture Events model  Event types  MooDS protocol GAming Services Platform (GASP) Implementation

8 ETSI-ObjectWeb Mobile Middleware WorkshopPage 8 GASP Data model User MasterApplicationInstance ApplicationInstance ActorSessionSessionActor Application * Platform 1 0..* Rights Database Classes

9 ETSI-ObjectWeb Mobile Middleware WorkshopPage 9 PLATFORM REPRESENTATION Services Platform OTA GASP DB MOBILE GASP Client Game Logic ApplicationInstance ActorSession MasterApplicationInstance GAMES REPRESENTATION IDManager DBManager GASP Architecture COMMUNICATION MANAGEMENT FirstLogin Login Join Lobby Create InGame StartAI Name EndAI QuitAI Quit Server Game Logic GAME SERVER GASP Server extends com/calls association

10 ETSI-ObjectWeb Mobile Middleware WorkshopPage 10 GASP Events model 5 event types  JoinEvent => A new player joins  StartEvent => Start of the game  EndEvent => End of the game  QuitEvent => A player quits  DataEvent => In-game data received from a player or the server game logic 2 types of events listeners  ActorSessions (the players)  GASPServer (the server game logic) JOINactorSIDUsername DATAactorSIDHashtable START QUITactorSID END

11 ETSI-ObjectWeb Mobile Middleware WorkshopPage 11 SERVLET CONTAINER InGame D MOBILE ActorSession A ActorSession B GASP Events Model: Example A MOBILE B C JoinAI ActorSession C ActorSession D Join?sID onJoinEvent(e) ApplicationInstance listenners:Vector actorSessions:Vector onJoinEvent(e) raiseEventToListenners(e) raiseEventToActorSessions(e) raiseEvent (e) createAS(sID) aSID getEvents() Server Game Logic GAME SERVER GASP Server aSID4 PseudoJOIN aSID4 PseudoJOIN aSID4 PseudoJOIN aSID4 PseudoJOIN PLATFORM REPRESENTATION

12 ETSI-ObjectWeb Mobile Middleware WorkshopPage 12 GASP Event model: MooDS … … types.xml MooDS Generator gamePackage.CustomTypes void encodeUpdate(DataOutputStream dos) Update decodeUpdate(DataInputStream dis) Hashtable decodeData(DataInputStream dis) void encodeUpdate(Hashtable h, DataOutputStream dos) Objects description file Class including Encoding/Decoding methods CustomTypes.java Mobile Optimized Objects Description & Serialization (MooDS) –Goal: Increase communication speed by reducing length of in-game data messages –Algorithm: Send the game objects by values (primitive types)

13 ETSI-ObjectWeb Mobile Middleware WorkshopPage 13 Server Game Logic GAME SERVER GASP Server SERVLET CONTAINER InGame GASP Events Model with MooDS ActorSession D ApplicationInstance listenners:Vector actorSessions:Vector onDataEvent(e) raiseEventToListenners(e) server:MGPServer types:CustomTypes getCustomTypes() onDataEvent(e) raiseEvent(e) sendDataTo(aSID,e) events:Vector putEvent(e) getEvents() putEvent(e) getEvents() CustomTypes MOBILE GASP Client Game Logic CustomTypes encodedData PLATFORM REPRESENTATION

14 ETSI-ObjectWeb Mobile Middleware WorkshopPage 14 Conclusion & Perspectives GASP is an open source Java platform for mobile mutiplayer online games Status –Development according to a spiral model –First release = Prototype –On-going: Network load and machine load tests Perspectives –Open source publication –Implementation optimizations regarding tests results –New functionalities: Improved players communities management Competition management, reflection on a generic competition framework Multiple game execution model (automatic, proprietary…), reflection on a generic game execution framework

15 ETSI-ObjectWeb Mobile Middleware WorkshopPage 15 [1] R. Pellerin. GAming Services Platform, Plateforme pour les jeux multijoueurs sur mobiles. Research Master report (DEA). CNAM- Cedric/INT/Paris 6. September 2004 (http://bscw.enst- bretagne.fr/pub/bscw.cgi/0/ ) [2] R. Pellerin. Mobile Gaming Services, Services pour les jeux multijoueurs sur mobiles. Bibliography report. CNAM-Cedric/INT/Paris 6. June 2004 (http://bscw.enst-bretagne.fr/pub/bscw.cgi/0/ ) Bibliography

16 ETSI-ObjectWeb Mobile Middleware WorkshopPage 16 User MasterApplicationInstance ApplicationInstance ActorSessionSessionActor Application * OMA Gaming Services Specifications

17 ETSI-ObjectWeb Mobile Middleware WorkshopPage 17 GASP Client API org.mega.gasp.client.GASPClient int firstLogin(int userID, int username, String pwd) int login(int actorID, String username, String pwd) Vector getApplicationInstances (int sessionID) int joinAI (int sessionID, int appInstanceID) int joinAIRnd (int sessionID) int createAI (int sessionID, int min, int max) int createAIPriv (int sessionID, int min, int max, Vector actors) void getEvents(int actorSessionID) void sendData(int actorSessionID, Hashtable data) void quitAI(int actorSessionID) void quit (int sessionID) String name(int actorSessionID, String pseudo) void startAI(int actorSessionID) void endAI(int actorSessionID) First connection Connect to the platform Join a random game session Get the game sessions list Join a game session Create a game session Create a private game session Change pseudoname Get the platform events Start the game Send data Stop the game Quit the game session Logout from platform Role

18 ETSI-ObjectWeb Mobile Middleware WorkshopPage 18 GASP Server API org.mega.gasp.server.GASPServer void sendDataTo (int actorSessionID, DataEvent de) void onJoinEvent(JoinEvent je) void onStartEvent(StartEvent se) void onEndEvent(EndEvent ee) void onQuitEvent(QuitEvent qe) void onDataEvent(DataEvent de) Send data to a specific player StartEvent listenner JoinEvent listenner EndEvent listenner QuitEvent listenner DataEvent listenner Role

19 ETSI-ObjectWeb Mobile Middleware WorkshopPage 19 Update aSID:short posX:int posY:int time:long Update aSID:short posX:int posY:int Time:long UPTypeaSIDposXposYtime Update « Upd1 » Hashtable CustomTypes encodeUpdate(dos,update) void encodeData(dos,hashtable) Update « Upd1 » Hashtable CustomTypes Update decodeUpdate(dis) Hashtable decodeData(dis) Message senderMessage Receiver GASP Events Model: MooDS protocol – Example MooDS Bits Stream

20 ETSI-ObjectWeb Mobile Middleware WorkshopPage 20 Game Server GASP Platform Distribution in the context of a Multi-Game Server OTA MOBILE Services Platform GASP DB ApplicationInstance ActorSession MasterApplicationInstance GAMES REPRESENTATION IDManager DBManager JavaRMI SERVLET CONTAINER FirstLogin Login Join Lobby Create InGame StartAI Name EndAI QuitAI Quit JavaRMI PLATFORM REPRESENTATION Game Server Game Server Game Server

21 ETSI-ObjectWeb Mobile Middleware WorkshopPage 21 GASP Platform Distribution in the context of a Multi-SubPlatform OTA MOBILE Services Platform IDManager DBManager Lobby PLATFORM REPRESENTATION Game Server Game Server Game Server Game Server Game Server Game Server Game Server FirstLogin Login ApplicationInstance ActorSession MasterApplicationInstance SUB -PLATFORM ApplicationInstance ActorSession MasterApplicationInstance SUB - PLATFORM Java RMI Join Create startAI EndAI QuitAI InGame Name startAI EndAI QuitAI InGame Name MOBILE


Download ppt "ETSI-ObjectWeb Mobile Middleware WorkshopPage 1 Middleware for mobile multiplayer online games PELLERIN Romain RIAM Project (1 year): JIMM (Bouygues Telecom,"

Similar presentations


Ads by Google