Noticias

¡RECUERDA QUE SI ERES UN NUEVO USUARIO, DEBES PRESENTARTE PARA PODER PUBLICAR MENSAJES! | TENEMOS CANAL OFICIAL DE TELEGRAM: t.me/unity3dspain

Posiciones NPC y enemigos

Iniciado por Mcloud, Noviembre 16, 2018, 04:46:31 PM

Tema anterior - Siguiente tema
Buenas, 
 
Estoy creando un RPG en 2D, y quisiera saber cual es la mejor manera de guardar posiciones de NPCs, ya sea personajillos que no hacen nada(pero si se mueven) o enemigos que van "patrullando" por el mapa o simplemente andando libremente. EL problema se me ha plantea al cambiar de escena principalmente, tengo 2, una con el mapa y la interfaz de juego y otra con el inventario, ahora mismo hablo con un NPC y al acabar la conversación este se mueve para dejarme paso, pero si por lo que sea yo voy a la otra escena y vuelvo al mapa después....lo tengo donde empezó...
 
He pensado guardarlo en BBDD, la del personaje la guardo al cambiar de escena, pero no se si con enemigos es viable ya que en el mapa que estoy creando ahora pretendo meter 50-60 enemigos serian bastantes consultas a la vez entiendo, he pensado también en guardarlas en un xml, pero no se si es viable andar leyendo/escribiendo en ellos, actualmente los uso para las conversaciones y objetos predefinidos para misiones, solo de lectura.
 
Muchas gracias
 
 

Y guardarlos en un binario (con binaryFormater), junto con los datos de la partida? en un formato tipo xml o json no creo que quede lindo, además de que es "modificable" (ya se, un binario también lo es pero no se entiende nada)

Cita de: lightbug date=1542385440Y guardarlos en un binario (con binaryFormater), junto con los datos de la partida? en un formato tipo xml o json no creo que quede lindo, además de que es "modificable" (ya se, un binario también lo es pero no se entiende nada)
   


Gracias por la respuesta.
 
Tengo la intención de hacerlo multijugador en algun aspecto y de ahí el guardar al personaje en BBDD, bueno, el personaje y todo su equipo(arma, armadura...etc), estoy mas familiarizado con los xml, me preocupa lo que comentas de que sea modificable....eso me tira para atrás la verdad....

Ah bueno, del mundo Multijugador no te puedo aportar nada, pero un xml o un json te podés meter y toquetear lo que quieras, son texto.

 
 
Cita de: lightbug date=1542388514Ah bueno, del mundo Multijugador no te puedo aportar nada, pero un xml o un json te podés meter y toquetear lo que quieras, son texto.
   


Bueno, segun lo tengo pensado solo sera 1 parte del juego, todo esto de ahora sera individual, estoy probando a guardar los xml, pero me surge una duda, para poder leer y sobre todo escribir, he visto que hay que guardarlos tomando como ruta "Application.persistentDataPath" es por esto porque son fácilmente modificables no? se puede meter cualquiera y ponerse a tocar, cierto? si los guardo dentro de "Resources" no me dejara luego escribir a la hora de generar la apk? lo he entendido bien?
 
 
 
Muchas gracias

En un móvil no se, si te fijas en cada dispositivo tenés la ruta, en Android
 
Android: Application.persistentDataPath points to /storage/emulated/0/Android/data/<packagename>/files on most devices (some older phones might point to location on SD card if present), the path is resolved using android.content.Context.getExternalFilesDir.
 
Si el usuario puede acceder y si el dispositivo te permite modificar el archivo no veo por que no lo podría modificar, no soy muy ducho con los móviles así que más que esto no te puedo decir, lo mejor sería que pruebes autohackearte jaja.
 
Resources la carpeta del proyecto? si es así no está pensada para guardar cosas, es más bien un almacen de assets/recursos utililes para luego cargarlos pero una vez que compilaste las cosas de resource se incluyen en tu build (todo lo que no uses del proyecto no se incluye) quizás si estás haciendo pruebas te confunda el uso de esta carpeta (ya que es facil poner textos de pruebas y cargarlos mientras programás) pero en general hace de almacén de recursos (como su nombre lo indica) y todo su contenido se incluye en la build, sea que lo uses o no. Si te referis a la carpeta de la build (del mismo nombre), mmm puede ser, es un lugar más, vos podés guardar un archivo sea el que sea donde quieras siempre que tengas los permisos del SO o que se los otorgues.
 
Saludos
 
 

Cita de: lightbug date=1542396030En un móvil no se, si te fijas en cada dispositivo tenés la ruta, en Android
   
   
      Android: Application.persistentDataPath points to /storage/emulated/0/Android/data/<packagename>/files on most devices (some older phones might point to location on SD card if present), the path is resolved using android.content.Context.getExternalFilesDir.
   
   
      Si el usuario puede acceder y si el dispositivo te permite modificar el archivo no veo por que no lo podría modificar, no soy muy ducho con los móviles así que más que esto no te puedo decir, lo mejor sería que pruebes autohackearte jaja.
   
   
      Resources la carpeta del proyecto? si es así no está pensada para guardar cosas, es más bien un almacen de assets/recursos utililes para luego cargarlos pero una vez que compilaste las cosas de resource se incluyen en tu build (todo lo que no uses del proyecto no se incluye) quizás si estás haciendo pruebas te confunda el uso de esta carpeta (ya que es facil poner textos de pruebas y cargarlos mientras programás) pero en general hace de almacén de recursos (como su nombre lo indica) y todo su contenido se incluye en la build, sea que lo uses o no. Si te referis a la carpeta de la build (del mismo nombre), mmm puede ser, es un lugar más, vos podés guardar un archivo sea el que sea donde quieras siempre que tengas los permisos del SO o que se los otorgues.
   
   
      Saludos
   
   
       
   


Disculpa que no te haya podido contestar antes, finde de niños....
 
Si, a esa carpeta de refería, pero si, es como dices...he leído que luego da problemas si quiero escribir en el xml, vamos que no deja...
 
Es posible hacer alguna codificación del xml? no he mirado nada, voy a ver, también lo único que guardo son las posiciones, no es nada muy relevante la verdad....
 
Otra duda que me surge es si guardo las posiciones de todos en 1 único xml o hago 1 por cada con el nombre del npc para que no haya problemas de lectura/escritura....
 
Muchas gracias

Cita de: Mcloud date=1542530284Disculpa que no te haya podido contestar antes, finde de niños....
   


Oh ... Respect!  jajaj
 
Cita de: Mcloud date=1542530284Es posible hacer alguna codificación del xml?
   


Es un texto, podrías hacerle lo que quieras para luego a la hora de leerlo hacerle la inversa, es una posibilidad supongo. No se, por ej cada tantos bloques ponés un numerito, ese número corresponde al offset de caracteres que tenés luego, pasas unos Y bloques, luego te encontras con otro número y así y así, o un unico offset, podés ser creativo aca.
 
Cita de: Mcloud date=1542530284Otra duda que me surge es si guardo las posiciones de todos en 1 único xml o hago 1 por cada con el nombre del npc para que no haya problemas de lectura/escritura....
   


definitivamente iría por la primera, todo de una, separá a cada NPC por un ID, esa es la ventaja que te dan esos formatos, incluso creo que hablando de arreglos/estructuras los JSON son más amigables (desde mi experiencia con ellos, xml los usé una vez mucho no te puedo decir mucho de estos)
 
Saludos

Cita de: lightbug date=1542541166Oh ... Respect!  jajaj
   
   
      Es un texto, podrías hacerle lo que quieras para luego a la hora de leerlo hacerle la inversa, es una posibilidad supongo. No se, por ej cada tantos bloques ponés un numerito, ese número corresponde al offset de caracteres que tenés luego, pasas unos Y bloques, luego te encontras con otro número y así y así, o un unico offset, podés ser creativo aca.
   
   
      definitivamente iría por la primera, todo de una, separá a cada NPC por un ID, esa es la ventaja que te dan esos formatos, incluso creo que hablando de arreglos/estructuras los JSON son más amigables (desde mi experiencia con ellos, xml los usé una vez mucho no te puedo decir mucho de estos)
   
   
      Saludos
   


Muchas gracias Ligthbug por todo, estoy mas familiarizado con los xml, creo que los usare, he visto un post de iRobb también que codifica clases, igual puedo usarlo para codificar el xml también, voy a investigarlo un poco a ver
 
De nuevo gracias

Etiquetas: