Unity Spain

Mesa de ayuda => Unity3D => Otros => Mensaje iniciado por: maauri16 en Marzo 16, 2020, 02:47:10 AM

Título: Guarda y carga de partidas, sistema "extensible".
Publicado por: maauri16 en Marzo 16, 2020, 02:47:10 AM
Hola, estoy trabajando en el sistema para guardar y cargar partidas en un pequeño juego. Pero tengo ciertas dudas de como hacerlo.
 
Lo que necesito:
 

Lo pensaba hacer con archivos binarios. Mis dudas vienen de que, necesito que lo que haga ahora sea extensible. A lo que me refiero es que si por ejemplo si hoy tengo 10 niveles y mañana quiero agregar 5 nuevos lo pueda hacer sin dañar las partidas que ya existen.
 
Entonces,
 



Muchas gracias!
Título: Guarda y carga de partidas, sistema "extensible".
Publicado por: francoe1 en Marzo 16, 2020, 10:01:01 PM
Hola @maauri16, siempre es recomendable utilizar un formato de dato relacionado para que la pérdida de información sea controlada.
 
¿Que puedes utilizar?
 
Deberías ver XML, JSON y YAML, en ese orden y quedarte con cual mejor te quede. 
 
¿Como no perder información?
 
Lo mejor para perder información es crear un archivo independiente que guarde únicamente la última versión del BUILD que se utilizó, y crear un sistema de actualización por versión, esto debería funcionar de forma recursiva.
 
Por ejemplo la primer versión es 0.1 y se crear el archivo de guardado, la versión 0.2 contiene el código de migración de 0.1 a 0.2, la versión 0.5 contiene el código de migración de 0.1, 0.2, 0.3,0.4,0.5,0.6. Y así sucesivamente, sin embargo, no es necesario actualizar siempre el código de migración, solo cuando cambie la estructura de datos.
 
¿Se puede realizar de forma dinámica?
 
Si, con YAML y JSON puede serializar y deserializar un objeto sin tener que importar la pérdida de datos, de esta forma no sería controlado pero el juego seguiría funcionando.
 
 
Título: Guarda y carga de partidas, sistema "extensible".
Publicado por: maauri16 en Marzo 16, 2020, 11:56:03 PM
Hola @francoe1 , gracias por tu respuesta. Voy a investigar lo que dijiste.
 
Lo de las versiones creo que es exactamente lo que necesitaba, sin duda me sera de ayuda.
 
Saludos,