thanks Ikai for the tip .. can you illustrate more .. give me a start point .. example code or any useful link?? also, do you think openFire webserver can be useful in this case .. best regards,
On Mar 8, 10:11 pm, "Ikai L (Google)" <[email protected]> wrote: > HTTP is just not a great protocol for real time games. Even with XMPP, > there's a chance outgoing responses will be queued and delayed for a > bit as capacity requires. > > If you want it to be truly real time, you'll have to develop your own > server that is capable of maintaining an open socket connection. > Trying to fit client/server communications in a real time game into > the HTTP model is like trying to watch a movie by having your friend > record it on his camera phone and MMSing it to you as quickly as > possible. > > > > On Mon, Mar 8, 2010 at 9:08 AM, Ahmed Khalifa <[email protected]> wrote: > > I have to tell you that i had to slow down the rate by which flash > > sends requests to the server in order to give GAE some time to respond > > which consequently kills the real-time game play intended .. > > after all, even if GAE was not a good choice for a semi-real time game > > can anyone please give me valid reasons for why to disregard GAE?? > > many people are keeping telling me that but no one is giving me real > > reasons for why .. plus, i have been really distracted by the amount > > of suggestions that do not converge to on direction .. some are > > suggesting using XMPP, others say long polling is the way, some say > > GraniteDS is a valid option along with memcache .. I am really > > confused about the decision to be taken .. > > regards, > > A. Khalifa > > > On Mar 8, 6:21 pm, Robert Lancer <[email protected]> wrote: > >> Yeah, I certainly would not use GAE Java for anything that has to be > >> semi real time. Have you checked out Red5.org or Web Orb at > >> themidnightcoders.com? Those are designed to work directly with > >> Flash. > > >> On Mar 8, 10:56 am, Ahmed Khalifa <[email protected]> wrote: > > >> > thanks a lot .. > >> > however, i am still doubtful about the source of latency .. is it GAE > >> > itself not supporting a certain feature that allows real-time response > >> > or it is something that i lacked .. > >> > thanks in advance .. > > >> > On Mar 4, 3:27 pm, Toby <[email protected]> wrote: > > >> > > Hi Ahmed, > > >> > > take a look at GraniteDS. It is a bit like blazeds with the ability to > >> > > push and syncronize data between multiple clients. It uses a very > >> > > efficient serialization and it runs on > >> > > GAE:http://graniteds.blogspot.com/2009/04/graniteds-20-on-google-app-engi... > >> > > on server side you just need to make sure that the datastore updates > >> > > do not block your clients. I would suggest using memcache and to add > >> > > datastore updates to the task queue. > >> > > So when you receive a data change from a client you update the > >> > > memcache value, you propagate the change to all clients and you put on > >> > > the task queue a request for the data to be saved. This will be done > >> > > asynchronously. > > >> > > Cheers, > >> > > Toby > > >> > > On Mar 3, 5:47 am, nicolas melendez <[email protected]> wrote: > > >> > > > I want to do the same. Is there any good XMPP Java framework to > >> > > > include in > >> > > > my Applet? recomendations? > >> > > > Thanks > >> > > > NM > > >> > > > On Tue, Mar 2, 2010 at 11:31 PM, <[email protected]> wrote: > >> > > > > Kaz, > >> > > > > Not sure about the CPU (we are still at the proof of concept > >> > > > > stage for > >> > > > > using GAE). We are using the polling aspect since our business > >> > > > > requires updates with 5-15 minutes. Its not very time intensive > >> > > > > like a > >> > > > > game would be. > > >> > > > > Good luck, > > >> > > > > Tim > > >> > > > > > Tim, > > >> > > > > > But isn't it so expensive to use the AMF/HTTP comet technique on > >> > > > > > the > >> > > > > > appengine? CPU usage can be extremely high. Or you have to use > >> > > > > > AMF/ > >> > > > > > HTTP polling which is not so responsive for gaming. > > >> > > > > > Thanks, > > >> > > > > > Kaz > > >> > > > > > On Mar 2, 7:43 pm, "[email protected]" > >> > > > > > <[email protected]> > >> > > > > > wrote: > >> > > > > >> Take a look at GraniteDS or other AMF supporting tools. I am > >> > > > > >> using > >> > > > > >> GraniteDS to push data to a Flex client. > >> > > > > >> It is fairly simple to setup so you can perform trsting and > >> > > > > >> find the > >> > > > > >> limitations which would impact your game. > > >> > > > > >> Tim > > >> > > > > >> Sent from my Verizon Wireless Phone > > >> > > > > >> ----- Reply message ----- > >> > > > > >> From: "Jeff Schnitzer" <[email protected]> > >> > > > > >> Date: Tue, Mar 2, 2010 3:50 AM > >> > > > > >> Subject: [appengine-java] Flash arcade game GAE based > >> > > > > >> To: <[email protected]> > > >> > > > > >> It would be extraordinarily difficult to use Appengine for this > >> > > > > >> sort > >> > > > > >> of project. You probably want a server framework that supports > >> > > > > >> persistent connections and in-memory state that won't disappear > >> > > > > >> when a > >> > > > > >> memcache server is flushed. > > >> > > > > >> Here's a good starting point: > >> > > > > >> http://en.wikipedia.org/wiki/List_of_game_engines > > >> > > > > >> Jeff > > >> > > > > >> On Sat, Feb 27, 2010 at 11:58 PM, Ahmed Khalifa > >> > > > > >> <[email protected]> > >> > > > > >> wrote: > >> > > > > >> > hi all, > >> > > > > >> > I am writing a multiplayer flash arcade game in actionscript > >> > > > > >> > .. i have > >> > > > > >> > discovered GAE recently and thought that it might be a very > >> > > > > >> > good > >> > > > > >> > choice for building and hosting my server .. > >> > > > > >> > however, i realize that arcade games need an almost realtime > >> > > > > >> > responsive capacity from the server .. besides the server has > >> > > > > >> > to be > >> > > > > >> > looping on receiving position object of Client A, storing it > >> > > > > >> > in a DB, > >> > > > > >> > Fetching Client B position object and sending it back .. this > >> > > > > >> > will > >> > > > > >> > result in a huge number of DB requests either storing, > >> > > > > >> > fetching or > >> > > > > >> > deleting which will quickly exhaust the CPU quota for the > >> > > > > >> > application .. > > >> > > > > >> > So, I was wondering if any one had an idea or a reference to > >> > > > > >> > come > >> > > > > >> > around these two problems of real time response and CPU > >> > > > > >> > exhaustion by > >> > > > > >> > DB calls > > >> > > > > >> > best regards, > >> > > > > >> > A. Khalifa > > >> > > > > >> > -- > >> > > > > >> > You received this message because you are subscribed to the > >> > > > > >> > Google > >> > > > > >> Groups "Google App Engine for Java" group. > >> > > > > >> > To post to this group, send email to > >> > > > > >> [email protected]. > >> > > > > >> > To unsubscribe from this group, send email to > >> > > > > >> [email protected]<google-appengine-java%2B > >> > > > > >> [email protected]> > >> > > > > . > >> > > > > >> > For more options, visit this group > >> > > > > >> athttp://groups.google.com/group/google-appengine-java?hl=en. > > >> > > > > >> -- > >> > > > > >> You received this message because you are subscribed to the > >> > > > > >> Google > >> > > > > >> Groups "Google App Engine for Java" group. > >> > > > > >> To post to this group, send email to > >> > > > > >> [email protected]. > >> > > > > >> To unsubscribe from this group, send email to > >> > > > > >> [email protected]<google-appengine-java%2B > >> > > > > >> [email protected]> > >> > > > > . > >> > > > > >> For more options, visit this group > >> > > > > >> athttp://groups.google.com/group/google-appengine-java?hl=en. > > >> > > > > > -- > >> > > > > > You received this message because you are subscribed to the > >> > > > > > Google Groups > >> > > > > > "Google App Engine for Java" group. > >> > > > > > To post to this group, send email to > >> > > > > > [email protected]. > >> > > > > > To unsubscribe from this group, send email to > >> > > > > > [email protected]<google-appengine-java%2B > >> > > > > > [email protected]> > >> > > > > . > >> > > > > > For more options, visit this group at > >> > > > > >http://groups.google.com/group/google-appengine-java?hl=en. > > >> > > > > -- > >> > > > > You received this message because you are subscribed to the Google > >> > > > > Groups > >> > > > > "Google App Engine for Java" group. > >> > > > > To post to this group, send email to > >> > > > > [email protected]. > >> > > > > To unsubscribe from this group, send email to > >> > > > > [email protected]<google-appengine-java%2B > >> > > > > [email protected]> > >> > > > > . > >> > > > > For more options, visit this group at > >> > > > >http://groups.google.com/group/google-appengine-java?hl=en. > > > -- > > You received this message because you are subscribed to the Google Groups > > "Google App Engine for Java" 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 > > athttp://groups.google.com/group/google-appengine-java?hl=en. > > -- > Ikai Lan > Developer Programs Engineer, Google App > Enginehttp://googleappengine.blogspot.com|http://twitter.com/app_engine -- You received this message because you are subscribed to the Google Groups "Google App Engine for Java" 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-java?hl=en.
