Escribo un juego en javascript, y para evitar hacer trampas, hago que el juego se juegue en el servidor (es un juego de mesa como las damas más complicadas). Dado que el juego es bastante complejo, necesito almacenar el estado del juego para validar las acciones del cliente.node.js almacenando gamestate, ¿cómo?
¿Es posible almacenar el estado del juego en la memoria? ¿Eso es inteligente? ¿Debo hacer eso? ¿Si es así, cómo? No sé cómo funcionaría eso.
También puedo almacenar en redis. Y ese tipo de cosas es bastante familiar para mí y no requiere explicación. Pero si almaceno en redis, el problema es que en cada movimiento, el juego necesitaría obtener los datos de redis e interpretar y analizar esos datos para recrear el estado del juego desde cero. Pero como las mudanzas ocurren con mucha frecuencia, esto me parece muy estúpido.
¿Qué debo hacer?
Esto realmente no tiene nada que ver con JavaScript. Básicamente, solo necesitas un servidor que pueda tratar con todos los clientes conectados diferentes, y dado que un programa se ejecuta en la memoria, ¡será rápido! Solo guarde el estado del juego en una base de datos si necesita "guardar" el juego. Representa el estado de tu juego en el código! –
@Marcus gracias, estoy pidiendo consejos sobre la implementación, ya que no es tan obvio para mí. ¿Cómo represento el estado del juego en el código? – expressnoob
@expressnoob variables y clases. Estas son las herramientas, úsalas para representar objetos en tu juego, como "Juego", "Jugador", "Pieza", etc. El diseño depende de ti y es específico de tu juego. –