18
votes

I have been using Google app engine for ~2 years now and love it. I am tasked with making a game and I wanted to use GAE as the backend. From what I understand the Channels API is meant for this kind of application. I got the tic-tac-toe demo working and noticed that each client got its own channel. After reading the documentation a little closer I noticed that this is how the system is meant to be used. I then checked the quotas and limits in the docs and... was devastated. GAE will let me at a maximum create 60 new channels a minute. That means I can only have 60 new users a minute. This is so limiting that I cannot use this API.

So my questions are:

  1. Am I doing it right (1 client = 1 channel)
  2. Is the channel API the best API to use to update multiple clients about the current state of a game.
  3. It can't really be only 60!? Can I pay for more per minute?
1
Actually, I was equally struck by the total of 200 hours/day of channel connection time... I think this means that if your tick-tack-toe runs more than 5 games concurrently on average, you would already reach this limit (5 * 2 player * 24 hours > 200 hours)... Somehow it feels wrong.... (EDIT: these are the prices when no billing is enabled... For $2.10 per week you seem to get unlimited hours (just pay per message, $1 per 10,000 messages)).Claude

1 Answers

9
votes
  1. Keep in mind that channel tokens do not expire for two hours. This means that if one client connects multiple times within the life of that token, you can serve that same channel token again, thus not counting as a creation.

    But otherwise, yes, you are correct; 1 channel per 1 client per 2 hours.

  2. The channel API is the best AppEngine API to use for this, currently, although some users are pushing for integrated WebSocket support.
  3. 60 is the max for paid billing. A whopping 6 per minute is the max for free apps. They say that you can request an increase for pretty much any resource, but the page they link to (and which I've linked to here) specifically talks about CPU usage and QPS.