I'm planning a relatively simple, online, multiplayer game and I'm stumped on what to use for player to player communication.
Game details:
Players select and action and at the end of the round, the action is performed, there is a brief intermission to detail actions and a new round begins.
I've determined to build this game entirely in JS and PHP (of course AJAX). I just don't know what I should use for the client to client communication - I initially planned on using constant 1/2 second AJAX calls to the PHP script using mySQL to store the game/user data, but I'm afraid that will be too slow and unpredictable.
I considered using something like a XML instead of mySQL and using something like the php fopen() function - what do you guys think about that?
I read in this question here, where the poster is considering using XMPP, could that be a good solution?
Should I go for a socket? Is that necessary for a game that doesn't require all that much data to be exchanged? What would be required to get this going?
Any suggestions on syncing the round time? Or is this something that I even really need to concern myself with?
I'm open to all suggestions and really appreciate any help I can get.
Go for Comet, you don't need sockets. Comet is a kind of reverse-AJAX. Works perfectly for p2p things like instant messenger, for example, because it pushes data to browser without browser needing to constantly poll the server. And there are many implementations for Comet in JS/PHP, just Google that. Then, as a backend, you could use MySQL or XML or whatever you want (but I would consider MySQL as a better solution, because XML is just a text file which needs to be opened, read, written and closed and the database is designed to be faster than that).