On Fri, Feb 18, 2011 at 2:04 PM, Markus Roth <[email protected]> wrote: > I am currently developing a real-time multiplayer game, and have been > evaluating various cloud-based hosting solutions. I am unsure whether > App Engine fits my needs, and would be grateful for any feedback. > > In essence, I want the system to work like this: Player A calculates > round n, and generates a hash out of the game state at the end of that > round. He then sends his commands for that round, and the hash, as a > http POST to the server. Player B does the same thing, in parallel. > > The server, while handling the POST from a player, first writes the > received hash code to the memcache. If the hash from the other player > is not yet in the memcache, it waits and periodically checks the > memcache for the other players hash. As soon as both hashes are in the > memcache, it compares them for equality. If they are equal, the server > sends the commands of each player to the respectively other one as the > http response.
The channel API would let you eliminate polling. Another idea would be to use a Javascript XMPP client inside the browser for chat. GAE can talk XMPP. > > A round like that should last around half a second, meaning two > requests per player per second. > > Of course, this way of doing it will only work if there are at least > two instances of the application running, as two requests must be > dealt with in parallel. Also, the memory cache must be consistent over > all instances, be fairly reliable, and update immediately. > > Is there a way to enforce that two instances of the app are always > running? Are there glaringly obvious flaws in my design? Do you think > an architecture like this might work on App Engine? If not, what could > based solution would you suggest? > > I have also posted this question to StackOverflow[1] > > Thank you very much for your feedback. > > [1]http://stackoverflow.com/questions/5045329/is-a-real-time- > multiplayer-game-using-google-app-engine-feasible > > -- > You received this message because you are subscribed to the Google Groups > "Google App Engine" group. > To post to this group, send email to [email protected]. > To unsubscribe from this group, send email to > [email protected]. > For more options, visit this group at > http://groups.google.com/group/google-appengine?hl=en. > > -- Jon Smirl [email protected] -- You received this message because you are subscribed to the Google Groups "Google App Engine" group. To post to this group, send email to [email protected]. To unsubscribe from this group, send email to [email protected]. For more options, visit this group at http://groups.google.com/group/google-appengine?hl=en.
