2012-06-02 21 views
5

Quiero intentar escribir un juego simple para la web, utilizando las tecnologías websockets y HTML-5, y estoy pensando en hacer esto con Play framework y Scala. Sin embargo, el tipo de juego que quiero hacer es uno con un mundo persistente donde las cosas suceden por sí mismas, y no solo como consecuencias de acción del jugador, lo que significa que no se ajusta a la filosofía sin estado de Play. He intentado iniciar un hilo por separado en la aplicación Play, que actuaría como un servidor de juego persistente habitual con un mundo en funcionamiento, y parece funcionar. ¿Cómo puedes comentar sobre eso?Play framework como servidor de juegos

  • ¿Debo enfrentar algunos grandes problemas con este enfoque?
  • ¿Existe una mejor solución y configuración para eso? ¿Qué suele utilizar la gente para estas cosas aparte de los servidores de juegos independientes (no http)?
  • ¿Puede compartir alguna experiencia interesante teniendo en cuenta un problema similar?
+5

Creo que encajará perfectamente. Sin estado en este sentido significa que no hay estado en una sesión de usuario retenida entre las solicitudes. Pero, por supuesto, tiene estado, persistentemente en una base de datos o de forma transitoria en un caché de actores Akka con estado. Este último es tu camino, en mi humilde opinión ;-) –

+0

Gran comentario, en realidad cabría la respuesta, especialmente mirando la actividad))) Gracias por el estímulo, voy a ir a la pila Typesafe entonces. – noncom

+0

¡Buena suerte ;-) Háganos saber cómo funciona en el grupo de Google! –

Respuesta

4

No ensucie hasta persistente con un "hilo siempre se ejecuta la actualización de información".

La mayoría de las veces, estos juegos solo guardan la última actualización y calculan nuevos valores según el tiempo transcurrido desde ahora hasta la última actualización. Cualquier marco web o tecnología puede hacer eso. Incluso si soy un fanático/adicto al gran playframework, no creo que el argumento persistente en sí mismo sea suficiente.

Pero si necesita:

  • buena integración websockets,
  • apoyo tráfico pesado,
  • concurrencia masiva y sin servidores masivos

entonces sí, Playframework podría ser su elección.

+0

Entiendo lo que dice, sobre el cálculo del estado a partir del momento. Pero se supone que hay una gran cantidad de objetos mutables y el enfoque funcional es computacionalmente ineficiente ... Todo estará respaldado por MongoDB, pero literalmente quiero decir que - "respaldado" - solo quiero usarlo * * para instantáneas diarias y para el caso de cierre del servidor. Creo que Play hará. Implementé con éxito una solución de prueba de concepto. Ahora solo es cuestión de criarlo. – noncom

+0

Buena suerte en ese caso;) –