Создание собственного игрового сервера для пошаговой многопользовательской игры для iPhone

Из Руководство по программированию Game Kit...

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

Я хотел бы создать многопользовательскую, пошаговую игру для iPhone Game Center, и мне нужно будет написать собственный игровой сервер. Я планирую использовать API Game Center для аутентификации игроков, табло и сопряжения с игроками, но мне все равно придется создавать собственный пошаговый игровой сервер для управления многопользовательской связью. Это временная игра, поэтому сервер будет обрабатывать такие вещи, как синхронизация начала игры и уведомление игроков, когда игра будет завершена, а также результаты матча. На данный момент я просто пытаюсь выяснить, с чего начать с создания игрового сервера, и я действительно изо всех сил стараюсь найти любые хорошие ресурсы, которые покрывают...

  • Как построены и реализованы игровые серверы на основе поворота. В идеале я хотел бы найти книгу или онлайн-статью с кодом экзамена, но каждая прочитанная книга, в которой обсуждаются многопользовательские игры на iPhone, говорит то же самое: "Разработка веб-сервера выходит за рамки этой книги, но хорошо сфокусируйтесь на код клиентской стороны, необходимый для подключения к такому серверу". Где я могу найти информацию о разработке веб-сервера?!

  • Хорошие библиотеки /API для использования

  • Проблемы безопасности и общие решения
  • Существующие пакеты с открытым исходным кодом
  • Мне хотелось узнать Ruby on Rails для других предстоящих проектов, и я бы хотел убить двух птиц одним камнем, может ли эта структура работать хорошо для реализации пошагового игрового сервера?

Может ли кто-нибудь помочь мне направить некоторые хорошие книги или онлайн-ресурсы, которые охватывают эту тему? Или ответьте на мои вопросы напрямую? Я должен думать, что разработка игрового сервера - очень распространенная проблема для тех, кто строит игры для iOS Game Center, поскольку большинство из них многопользовательские, но я не могу понять, почему нет ресурсов, которые покрывают то, как это делается.

Большое спасибо за вашу помощь!

Ответы

Ответ 1

Вы задали несколько отдельных вопросов, поэтому я дам краткие ответы.

Как структурированы и внедрены серверы игры по очереди
  Как и любой другой сервер, он прослушивает подключения, обрабатывает запросы и отправляет ответы.
  Очень легко написать веб-сервис, который использует JSON/XML. Я думаю, это будет   лучшее и быстрое решение вашей проблемы (субъективное)!

     

Хорошие библиотеки /API для использования  Хотя на настольной стороне игрового программирования есть несколько хороших фреймворков и библиотек, я не могу придумать какую-либо "веб-библиотеку".

     

Проблемы безопасности и общие решения
  Основные Authentifcation и OAuth - две из нескольких возможностей для защиты вашего веб-сервиса.

     

Существующие пакеты с открытым исходным кодом
  Вы уже упоминали Ruby on Rails, но я рекомендую Django для получения отличной документации, чтобы вы начали. Я построил свой веб-сервис iPhone вокруг Django Piston, который является отличной мини-картой.

     

Я хотел научиться Ruby on Rails для других предстоящих проектов, и я хотел бы убить двух зайцев одним выстрелом, может ли эта структура хорошо работать для создания пошагового игрового сервера?  Да, см. Мой ответ выше.

Ответ 3

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

Вы можете взглянуть на unionplatform.com. По-видимому, для iPhone нет клиентского SDK. Но сообщество начинает думать о создании одного (см. http://www.unionplatform.com/?p=1446).

Также проверьте OpenFeint. Возможно, они покрывают то, что вам нужно.

Я знаю, что это не исчерпывающий ответ, но я уверен, что другие будут развиваться.