i wish to create a multiplayer game facebook app. a game will have 1 to 4 people in it playing from their own systems.
i wish to target, lets say, 10K simultaneous online users.
i am planning to write the client side game in Flash.
i wanted to know how these clients communicate with each other.
can these clients communicate directly with each other or i should go with “server as middleman” approach ? i want the game to work even in “restricted” networks.
if server, how do i have things working from google app engine cloud service ?
i came across channel API, should i use that ? would it work with a flash client ?
thanks,
You shouldn’t rely on clients communicating directly with each other – with NAT this is difficult to impossible, not to mention browser sandboxing issues. Instead, communicate via the server. If you need asynchronous (server-triggered) communications then yes, you will need to use something like the channel API, or an external service like PubNub.
Regarding using the channel API in Flash, this isn’t directly possible, but you could have a Javascript shim that receives Channel API messages and sends them to the flash app. Or, write your app in Javascript – HTML5 is the way forward!