Многопользовательская игра в реальном времени с использованием XMPP на Google App Engine?

Теоретически возможно ли такое?

Я знаю, что Google App Engine не может устанавливать соединения через сокеты, поэтому я решил, что использование XMPP для отправки сообщений клиентам будет работать. Достаточно ли малой задержки XMPP на движке Google App для работы в игре в реальном времени?

Я искал серверы для многопользовательских игр, такие как Smartfox и тому подобное, но я решил, что стоимость программного обеспечения в сочетании с его запуском на моем собственном сервере будет слишком сложной задачей, поэтому я решил, что запуск его на оборудовании Google будет сложной задачей. хорошая идея.

Если у вас есть другие предложения по серверам многопользовательской игры в реальном времени, я бы хотел их услышать.


person winduptoy    schedule 17.07.2010    source источник
comment
Бесплатная квота Google составляет 3000 сообщений XMPP в минуту (50 в секунду), а их платная квота в 10 раз больше. Попытка написать игровой сервер с таким масштабом не очень-то масштабируется - если предположить, что 1 сообщение в секунду (что, вероятно, мало для любой игры в реальном времени), это будет максимум 50 или 500 клиентов соответственно в любой момент времени.   -  person Amber    schedule 17.07.2010
comment
Я не знаю, что такое XMPP, но есть демонстрация Quake, в которой используются WebSockets. code.google.com/p/quake2-gwt-port   -  person zneak    schedule 17.07.2010
comment
Спасибо, Эмбер. @zneak Да, но эта демонстрация не работает на движке приложения. Меня интересует сервер для игры на iPhone / Android. Подойдет ли App Engine для такого приложения? Если да, то какой протокол я бы использовал для сервера реального времени?   -  person winduptoy    schedule 17.07.2010
comment
Простите, правда не знаю. Если бы у меня была идея получше, я бы опубликовал ответ. : /   -  person zneak    schedule 17.07.2010
comment
Подробности невелики, но Google недавно анонсировал Channel API, который позволяет отправлять сообщения через HTTP с использованием запросов с длительным опросом (а-ля Comet). Не уверен, что этого будет достаточно в реальном времени, но это возможно. googleappengine.blogspot.com/2010/05/   -  person npdoty    schedule 17.07.2010


Ответы (1)


Как указывает npdoty, мы только что анонсировали Channel API, который предназначен именно для этого варианта использования. Он еще не выпущен, но в последнем SDK доступна предварительная версия, с которой вы можете поэкспериментировать. Документации пока нет, но вы можете изучить пример приложения Trivia Quiz, чтобы узнать, как оно работает.

person Nick Johnson    schedule 19.07.2010