как подойти к проекту многопользовательской игры на Facebook? - PullRequest
3 голосов
/ 16 июня 2011

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

Я хочу настроить таргетинг, скажем, на 10 000 пользователей одновременно.

Я планирую написать игру на стороне клиента во Flash.

Я хотел знать, как эти клиенты общаются друг с другом.

Могут ли эти клиенты напрямую общаться друг с другом, или я должен использовать подход «сервер как посредник»? Я хочу, чтобы игра работала даже в «ограниченных» сетях.

если сервер, как мне работать с облачным сервисом Google App Engine? я сталкивался с API канала, я должен использовать это? это будет работать с флэш-клиентом?

спасибо,

Ответы [ 3 ]

3 голосов
/ 16 июня 2011

Не следует полагаться на то, что клиенты напрямую общаются друг с другом - с помощью NAT это трудно или невозможно, не говоря уже о проблемах с песочницей в браузере.Вместо этого общайтесь через сервер.Если вам нужна асинхронная (запускаемая сервером) связь, то да, вам нужно будет использовать что-то вроде API канала или внешнюю службу, такую ​​как PubNub.

Что касается использования API канала во Flash, это не напрямуювозможно, но у вас может быть Javascript shim, который получает сообщения API канала и отправляет их во флэш-приложение.Или напишите свое приложение на Javascript - HTML5 - это путь вперед!

1 голос
/ 16 июня 2011

Как именно должны работать коммуникации, зависит от того, что именно происходит в вашей игре. В целом, хотя в игре на Facebook игроки должны взаимодействовать через сервер и не общаться друг с другом напрямую.

Что касается того, как использовать Google App Engine, как уже упоминалось, проект GAE SWF специально разработан для этого.

1 голос
/ 16 июня 2011

http://gaeswf.appspot.com/

Проект GAE SWF - это ресурс знаний о Flash и Flex, специально предназначенный для быстрого начала работы с Google App Engine, замечательной платформой для создания и развертывания масштабируемых приложений Flash и Flex.

...