Andre Hofmeister
Andre Hofmeister

Reputation: 3416

Send server information to client

Last semester we had to develop the game Ludo in JavaScript and HTML/CSS. That was pretty easy. Now we have to develop a backend with GWT (Java) to create a multiplayer game. Sadly, we haven’t got much information on how to develop with GWT and the exercise is quite difficult at the beginning.

At the moment I am trying to create a kind of lobby where different players can join. My idea was to use some input fields, where the player could enter his name and join the lobby. But I don’t know how to give the other clients the information that a new player has joined.

I created an asynchronous interfaces (RPC) where a player could submit his name to the server (Like this example). This works ok. But how should I share this information? Our docent said we should use JSON to share information’s, but I don’t know how this should help in this situation. Is there a way to send information’s to the clients? I read a lot and just find to use additional libraries as gwt-comet.

I have really now clue how I could go on. I’m thankful for every help and information!

Greetz

Upvotes: 0

Views: 232

Answers (2)

Jiri Kremser
Jiri Kremser

Reputation: 12837

I would suggest Errai and ErraiBus in particular. From Java perspective you are only sending some events via event bus (observer GoF pattern) and all the magic with Ajax Push is happening behind the scenes.

Upvotes: 0

Andrei Volgin
Andrei Volgin

Reputation: 41089

You have two options: push and pull.

"Pull" option:

Other players get required information when they join the lobby and/or do something else. You can also schedule to pull this information periodically (like once every 10 minutes). You can use the same RPC mechanism to get data from server to a client. "Pull" means that a client initiates the request and server responds with the information.

"Push" option:

When a new player joins, the server pushes this new data to all other players. The best solution depends on your game implementation. Comet is a good option, as Jean-Michel mentioned, but it's more complicated and "expensive" from resources point of view. You should use this option if you need real-time status updates for your game.

Upvotes: 1

Related Questions