Construir mi propio server de juegos para un juego de iPhone multijugador basado en turnos

De la Guía de progtwigción de Game Kit …

El modo multijugador les permite a los jugadores interesados ​​en jugar un juego multijugador en línea descubrirse y conectarse en un partido. Dependiendo de sus necesidades, su aplicación puede usar Game Kit para conectar a todos los participantes, o tener Game Kit para entregarle una list de jugadores. En este último caso, proporcionaría su propia implementación de networking que conecta los reproductores con un server que proporciona

Me gustaría build un juego multijugador, basado en turnos para el Game Center y necesitaré escribir mi propio server de juegos. Planeo usar Game Center API para authentication de jugadores, marcadores y emparejamiento de jugadores, pero aún tendré que crear mi propio server de juegos por turnos para controlar la comunicación multijugador. Es un juego basado en el time, por lo que el server manejará cosas como sincronizar el inicio del juego y notificar a los jugadores cuando se complete el juego, junto con los resultados del partido. En este punto, solo estoy tratando de averiguar dónde comenzar con la construcción del server del juego y realmente estoy luchando por encontrar buenos resources que cubran …

  1. Cómo se estructuran e implementan los serveres de juegos basados ​​en turnos. Lo ideal sería que me gustaría encontrar un libro o artículo en línea que tenga un código de examen, pero cada libro que lea sobre los juegos multijugador en el iPhone dice lo mismo: "Desarrollar un server web está fuera del scope de este libro, pero nosotros Se centrará en el código del lado del cliente necesario para conectarse a dicho server ". . ¿Dónde puedo encontrar la información sobre el desarrollo del server web?

  2. Buenas bibliotecas / API para usar

  3. Preocupaciones de security y soluciones comunes
  4. Paquetes de código abierto existentes
  5. He estado esperando aprender Ruby on Rails para otros proyectos futuros y me gustaría matar dos pájaros de un tiro, ¿podría este marco funcionar bien para implementar un server de juegos basado en turnos?

¿Alguien puede ayudarme a dirigirme hacia algunos buenos libros o resources en línea que cubran este tema? ¿O responde mis preguntas directamente? Debo pensar que el desarrollo de un server de juegos es un problema muy común para cualquiera que construya juegos para iOS Game Center, ya que la mayoría de ellos son multijugador, pero no puedo entender por qué no hay resources que cubran cómo se hace.

Muchas gracias de antemano por su ayuda!

Hiciste varias preguntas por separado, así que daré respuestas breves.

Cómo se estructuran e implementan los serveres de juegos basados ​​en turnos
Como cualquier otro server, escucha conexiones, procesa requestes y envía respuestas.
Es bastante fácil escribir un service web que use JSON / XML. ¡Creo que esta será la mejor y más rápida solución a su problema (subjetivo)!

Buenas bibliotecas / API para usar Aunque hay varios buenos frameworks y bibliotecas en el lado de escritorio de la progtwigción de juegos, no puedo pensar en ninguna biblioteca "basada en web".

Preocupaciones de security y soluciones comunes
Basic Authentifcation y OAuth son dos de varias posibilidades para asegurar su service web.

Paquetes de código abierto existentes
Ya mencionaste Ruby on Rails, pero recomiendo a Django, ya que es una excelente documentation para comenzar. Construí mi service web para iPhone en torno a Django Piston , que es un excelente mini marco.

He estado esperando aprender Ruby on Rails para otros proyectos futuros y me gustaría matar dos pájaros de un tiro, ¿podría este marco funcionar bien para implementar un server de juegos basado en turnos? Sí, vea mi respuesta arriba.

iOS 5.0 agrega soporte para juegos por turnos, consulte http://developer.apple.com/technologies/ios5/ .

Hay un par de ofertas de serveres multijugador en el mercado que podría utilizar para crear su propio server basado en turnos.

Puedes echar un vistazo a unionplatform.com. Al parecer, aún no hay un SDK de cliente para el iPhone. Pero la comunidad está comenzando a pensar en build uno (ver http://www.unionplatform.com/?p=1446 ).

También echa un vistazo a OpenFeint. Tal vez cubren lo que necesitas.

Sé que esto no es una respuesta completa, pero estoy seguro de que otros lo elaborarán.