Разрабатывая сетевую игру для Android, возможно ли использовать App Engine для сервера? - PullRequest
1 голос
/ 23 февраля 2010

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

Это не является проблемой для меня, но я не хочу, чтобы это выглядело как браузерная игра (я хочу живой чат, более динамичное взаимодействие / движение / бой). Я искал AJAX / Java в качестве возможного решения, но у меня возникли проблемы с визуализацией того, как я на самом деле подключу приложение к серверу, поскольку все найденные мною tutroals кажутся размещенными веб-приложениями. Есть ли ресурсы для приложений Android, которые прозрачно подключаются к сервисам App Engine?

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

Спасибо! (если мне было что-то неясно, дайте мне знать)

Ответы [ 3 ]

3 голосов
/ 23 февраля 2010

AppEngine полностью предвосхищает доставку веб-приложений: HTTP-вход, HTTP-выход. Таким образом, до тех пор, пока вы можете спроектировать коммуникационный уровень своей игры, чтобы он мог быть реализован в HTTP (запросы без состояния, запросы с конечным сроком службы), нет никаких причин, по которым это не сработает.

Ваша игра не должна запускаться в браузере, чтобы использовать HTTP-интерфейс для взаимодействия с сервером. Я сомневаюсь, что есть какие-то специальные «прозрачные» коммуникационные библиотеки между Andriod и AppEngine, так как стиль веб-запросов, который возможен с AppEngine, эффективно неотличим от тех же методов, которые использовались бы для взаимодействия с любым другим API на основе HTTP. работает на любой платформе.

1 голос
/ 04 марта 2010

В настоящее время я разрабатываю приложение, которое будет включать веб-приложение на основе браузера, а также «установленное приложение» для iphone (это терминология Google), которое подключается к службе GAE. Я просто получаю / POST XML для базового сервлета, и он работает нормально. Просто имейте в виду, что для поддержания быстродействия клиента вам придется широко использовать memcache, поскольку даже незначительные вызовы в хранилище данных, как правило, занимают много времени, и диалог ожидания в установленном приложении начинает очень быстро стареть. Я бы попытался широко использовать memcache (в отличие от хранилища данных) для хранения данных о состоянии игры, так как эти данные, вероятно, не должны сохраняться «постоянно», а memcache значительно быстрее, чем хранилище данных.

Кроме того, я не думаю, что клиенты могут получать какие-либо уведомления об изменениях состояния игры, движок приложения не выполняет «push», поэтому всем клиентам придется запрашивать обновления.

0 голосов
/ 23 февраля 2010

Вы можете использовать классы Http Component , которые находятся в пакетах org.apache.http.HttpConnect. *, В Android SDK.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...