Ver Mensaje Individual
  #6 (permalink)  
Antiguo 11/03/2014, 06:43
Avatar de Malenko
Malenko
Moderador
 
Fecha de Ingreso: enero-2008
Mensajes: 5.323
Antigüedad: 16 años, 10 meses
Puntos: 606
Respuesta: Juego con corona SDK (LUA)

Cita:
Iniciado por Chete Ver Mensaje
Gracias por los consejos, otra duda que me queda, estoy realizando las pruebas sobre un juego tipo tamagotchi, quiero decir que digamos que algunas estadísticas del personaje del juego, deben bajar aun con el juego cerrado, es decir, si necesitamos darle de comer, necesito que aunque cierren el juego, al personaje le siga bajando el nivel de hambre y quizá avisar al usuario de que su mascota tiene hambre con un aviso.

¿Esto como podría conseguirlo?
Pou, que es una aplicación del estilo, trabaja en local (digamos con sqlite, por ejemplo) y tiene puesto que en una hora al día lanza los datos al servidor para guardar la información. En local se mantiene la información siempre y a modo de "backup" solo una vez al día, que en un juego de este tipo es más que suficiente.


Cita:
Iniciado por Chete Ver Mensaje
Tengo avanzada la idea de este tipo, pero me ha frenado eso, también tenia la idea de partidas cooperativas ONLINE, pero esta idea creo que es mucho mas complicada, así que de momento solo lo enfocare a batallas por turnos, que creo que es mas fácil.
Si al tipico juego individual del tamagotchi le quieres agregar esta funcionalidad, tendrás que hacer que guarde los datos en el servidor SOLO cuando haya una intervención por parte del usuario. Por ejemplo, si supongamos que tienes la salud al 100% tanto en el servidor como en cliente y tienes la lógica que cada 5 segundos disminuye un 1%. Yo lo que haría sería guardar el valor en el servidor junto a un timestamp de la hora del valor.

Por hacer el ejemplo fácil pongamos que está al 100% a las 12:00:00. Si el usuario no le da de comer y tiene una batalla a las 12:03:00, podemos saber que salud tiene: 3 minutos son 180 segundos, a 1% por cada 5 segundos quiere decir que le ha bajado la salud un 36%, es decir, que tiene la mascota al 64%. Y esto lo podemos saber sin que haya echo una sola petición al servidor en esos 3 minutos.

Ahora ponte que le hubiese dado una poción a las 12:02:00 para recuperar un 20% la salud. Pues tu enviarias una peticion al servidor con la información: el usuario 'x' ha tomado la poción del 20% a las 12:02:00. Solo una única petición. Entonces el php calcularía el estado de salud actual (a las 12:02:00): 2 minutos son 120 segundos, a un 1% por cada 5 segundos quiere decir que ha perdido un 24% de salud y por tanto estaba al 76%. Ok, ya tenemos que valor hay actualmente. A esto le sumamos el 20% de la poción y en el servidor pasará a estar "96% a las 12:02", en lugar de "100% a las 12:00". Y por supuesto del inventario restar la poción del 20%.

Para esto, sin contar el tema del inventario, te bastan 3 campos en la base de datos del servidor:
- uid o identificador del jugador (o mascota)
- salud (valor que indica el último % de salud informado)
- timestamp (hora en que se informó del último estado de salud)

A groso modo, y simplificando un poco, es así como funcionan los juegos de este tipo :)
__________________
Aviso: No se resuelven dudas por MP!