I'm evaluating the best server-side options for turn-based mobile games that work in near real-time. Presuming the authoritative game server which matches users and creates channels is already there, what would be the best solution for inter-player communication?
In my case, it's always 2-8 players on one channel and during the game, they only need to communicate between each other. So if one player makes a move, all other players on their channel must be notified about that move.
Solution A: PubNub
First, I took a look at PubNub, which offers a product called "Galaxy", and that seems to be exactly what is needed for such a multiplayer online game. Unfortunately, regarding the pricing, I could roughly have 250 users playing per hour for $50. Expensive! But we don't want to talk about the money here, of course.
This leads me to solution B, which is XMPP.
Solution B: XMPP
I just thought: Isn't XMPP capable of all these things as well? PubSub support, channels, and so on. For the same 250 users per hour, one server will be enough. And when using seasoned server software such as Openfire, building that features won't be that much work, will it?
This is what I actually want to discuss here: Using Openfire/ejabberd, can't you build that necessary PubSub features for MMOs with a reasonable amount of work?
Solution C: Google AppEngine
What about Google AppEngine replacing the owned XMPP server? As pointed out here, it seems possible. However, all players would need their own JID which cannot be created on the AppEngine space - true? I think their XMPP product would be more useful than the channel API.
Solution D: WebSockets
I've actually discarded that idea because of connectivity problems (especially in mobile) and a premature standard.
opm daylight savings school closings sandy Time Change 2012 Marcus Lattimore news 12
No comments:
Post a Comment
Note: Only a member of this blog may post a comment.