Open danielrossyamitrano opened 3 years ago
Otra opción (para los mapas) sería crear una nueva carpeta en data con cada archivo de salvado, en donde se guarden jsons con la data relevante de cada mapa. El engine luego los mezclaría mediante update() para obtener el mapa completo actualizado.
Debido a que desde hace un par de revisiones se puede borrar archivos de guardado desde el mismo Menú Cargar, estas carpetas también deberían ser eliminadas si su asosciado archivo de guardado no existe, por lo que sólo habría 1 o 2 carpetas correspondientes a 1 o 2 Saves en cualquier momento.
Con los mobs no podemos hacer eso porque ya de por sí los mob.json no declaran objetos (lo cual sería territorio del issue #156).
asi es como despues los archivos de guardado pesan 5gb :p (aunque eso tiene mas que ver con sloppiness)
Pero basicamente no veo ningun problema con guardar el inventario actual de cada mob.
sobre lo de guardar carpetas, las carpetas serian el archivo de guardado (no tiene que ser un archivo per se, es solo un concepto)
On Tue, Mar 30, 2021 at 3:58 PM Daniel @.***> wrote:
Otra opción (para los mapas) sería crear una nueva carpeta en data con cada archivo de salvado, en donde se guarden jsons con la data relevante de cada mapa. El engine luego los mezclaría mediante update() para obtener el mapa completo actualizado.
Debido a que desde hace un par de revisiones se puede borrar archivos de guardado desde el mismo Menú Cargar, estas carpetas también deberían ser eliminadas si su asosciado archivo de guardado no existe, por lo que sólo habría 1 o 2 carpetas correspondientes a 1 o 2 Saves en cualquier momento.
Con los mobs no podemos hacer eso porque ya de por sí los mob.json no declaran objetos (lo cual sería territorio del issue #156 https://github.com/ludica-squamata/mano-gift/issues/156).
— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ludica-squamata/mano-gift/issues/155#issuecomment-810276388, or unsubscribe https://github.com/notifications/unsubscribe-auth/AALWRIUDFRBKHPPMPJGGZV3TGHKI3ANCNFSM42CCX3WA .
asi es como despues los archivos de guardado pesan 5gb :p (aunque eso tiene mas que ver con sloppiness)
La única otra forma de guardar sería segmentar el juego en niveles o algo así, pero me parece que eso no concuerda con el engine como lo venimos definiendo.
Una cosa que se me ocuría mientras viajaba es que lo que se guarde sea solo el ID del item. Los ID son dinámicos, pero tranquilamente se podría guardar también un dict donde aparezcan los items y su numero de ID, para ese savefile en particular. Claro, en el ID tendrían que estar de algun modo las modificaciones, pero para items que no se modifican (como la banana) esto podría servir.
Al respecto, algo similar pasa con los mobs. En el mapa se pueden declarar múltiples instancias del Mob Commoner por ejemplo (con cada instancia en un lugar diferente) que tienen todos exactamente las mismas caracterísitcas. Eso me hizo pensar. Cuando jugabamos rol, el DM podía crear NPCs en el aire, que realmente no tenían más atributos que su nombre (y en nuestro caso, un sprite) y algunas lineas de diálogo.
Podríamos hacer algo así también, y en el caso de que se necesite un atributo, se podría generar on the fly. No tiene realmente mucho que ver con este issue, pero bueh, necesitaba un lugar para escribirlo.
asi es como despues los archivos de guardado pesan 5gb :p (aunque eso tiene mas que ver con sloppiness)
La única otra forma de guardar sería segmentar el juego en niveles o algo así, pero me parece que eso no concuerda con el engine como lo venimos definiendo.
"Niveles" en cuanto espacio no, pero en cuanto a storyline (pienso en Chapters) sí podría andar.
Al respecto, algo similar pasa con los mobs. En el mapa se pueden declarar múltiples instancias del Mob Commoner por ejemplo (con cada instancia en un lugar diferente) que tienen todos exactamente las mismas caracterísitcas. Eso me hizo pensar. Cuando jugabamos rol, el DM podía crear NPCs en el aire, que realmente no tenían más atributos que su nombre (y en nuestro caso, un sprite) y algunas lineas de diálogo.
Podríamos hacer algo así también, y en el caso de que se necesite un atributo, se podría generar on the fly. No tiene realmente mucho que ver con este issue, pero bueh, necesitaba un lugar para escribirlo.
Si fueran a usarse niveles entonces éstos se pueden usar para calcular las características de los mobs. Esto comprimiría un poco la definición del mob.json, y permitiría también generar caracteríticas aleatorias basadas en el nivel (algo circular, lo sé, pero creo que funcionaría).
La pregunta acá pasa por cómo agregamos el inventario de todos los mobs, más los props cuya posición haya cambiado, o no estén, en el mapa. Me gustaría poder guardar toda esa información en un solo string o un numero y que el engine luego lo reinterprete y regenere el mapa como estaba.