Noticias

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

Temas recientes

Sistema de diálogos ficheros .txt

Iniciado por Rapper, Abril 03, 2019, 06:30:42 PM

Tema anterior - Siguiente tema
Hola,
 
Hace poco he empezado a colaborar con unos amigos que están desarrollando un videojuego y me han pedido que realice el sistema de diálogo a través de código y de unos documentos .txt que contendrán las frases de los personajes (así será más fácil realizar la traducción de idiomas) al estilo arrays y demás (he encontrado este link que es algo parecido a lo que quieren -> https://forum.unity.com/threads/dialogue-arrays.429499/ ).
 
La cuestión es que todos somos unos novatos y éste será nuestro primer videojuego, así que me gustaría que me diérais vuestra opinión acerca de este sistema de diálogos o si conocéis algún otro que sea mejor o más práctico.
 
¡Muchas gracias! 

Primero no tengo experiencia con dialogos aunque supongo que muchos te van a decir JSON o xml, o incluso el mismo Unity con ScriptableObjects , no lo se, debe haber mejores métodos. A modo de ejemplo te dejo el que usa el juego "Celeste", no solo para dialogos incluso para elementos del menu, muy interesante incluso este txt tiene tantas cosas, hasta efectos de dialogo creados por caracteres especiales (creo!), obviamente necesitas (como todo formato propio) un parser especial para leerlo, no es como un JSON que todo está estructurado de tal manera que cualquier lector de JSON va a funcionar. En fin acá van algunos fragmentos, este es el "Spanish", pero están las versiones en otros idiomas:
 

 
 
 
Opciones:
 

# Options
OPTIONS_TITLE=         OPCIONES
OPTIONS_CONTROLS=      CONTROLES
OPTIONS_RUMBLE_PC=      Vibración
OPTIONS_RUMBLE_PS4=      Vibración
OPTIONS_RUMBLE_XB1=      Vibración
OPTIONS_RUMBLE_NS=      Vibración
OPTIONS_KEYCONFIG=      Config. Teclado
OPTIONS_VIDEO=         VÍDEO
OPTIONS_FULLSCREEN=      Pantalla completa
OPTIONS_WINDOW=         Escala ventana
OPTIONS_VSYNC=         Sinc. vertical
OPTIONS_VIEWPORT_NS=   Ajustar tamaño de la pantalla
OPTIONS_VIEWPORT_PS4=   Ajustar tamaño de la pantalla
OPTIONS_VIEWPORT_XB1=   Ajustar tamaño de la pantalla
OPTIONS_VIEWPORT_PC=   Ajustar tamaño de la pantalla
OPTIONS_DISABLE_FLASH=   Modo fotosensible
... etc ....

 
 
 

# Assist Mode
ASSIST_MODE_0=
   {# 44adf7}El modo Asistencia{#} te permite modificar las reglas del juego para reducir la dificultad.{n}
   Incluye opciones como reducir la velocidad del juego, hacerte{n}
   invencible o dar resistencia infinita y saltarse capítulos enteros.
ASSIST_MODE_1=
   Celeste es un juego diseñado para presentar desafíos y ser accesible al mismo tiempo.{n}
   Creemos que la dificultad es esencial para la experiencia del juego.{n}
   La primera vez, recomendamos jugar sin el {# 44adf7}modo Asistencia{#}.
ASSIST_MODE_2=
   No obstante, sabemos que cada jugador es diferente.{n}
   Si Celeste te resulta inaccesible por su nivel de dificultad,{n}
   esperamos que el {# 44adf7}modo Asistencia{#} te permita disfrutar de él.
ASSIST_ASK=      ¿Quieres jugar con el {# 44adf7}modo Asistencia{#}?
ASSIST_YES=      Sí
ASSIST_NO=      No
ASSIST_SKIP=   Ayudar{n}Omitir

 
 
 
Dialogos:
 

# ================================== IN-GAME DIALOG BEGINS HERE! ==================================
# *** Prologue ***
CH0_INTRO=
   Ya está, {+MADELINE}.
   Respira hondo.
   ¿A qué vienen tantos nervios?
CH0_GRANNY=
   {anchor top}
   [MADELINE left normal]
   Perdón, ¿señora?
   {trigger 0 Madeline walks forward}
   [MADELINE left normal]
   El cartel de la entrada está roto...{n}¿Esta es la pista de la {+mountain}?
   [GRANNY right normal]
   Ya casi has llegado.{n}Está al otro lado del puente.
   {trigger 1 Madeline walks to the right of the house, turns left}
   
   [MADELINE right sad]
   Por cierto, deberías llamar a alguien por lo de la entrada. La cresta se ha derrumbado y casi me mato.
   {trigger 2 Granny laughs}
   [GRANNY left laugh]
   Si casi te matas en mi {>> 0.3}"entrada"{>>}{0.2}, puede{n}que la {+mountain} sea demasiado para ti.
   {trigger 3 Laugh Continues}
   [MADELINE right upset]
   {0.5}...{0.2}

 
 

Cita de: lightbug date=1554319520Primero no tengo experiencia con dialogos aunque supongo que muchos te van a decir JSON o xml, o incluso el mismo Unity con ScriptableObjects , no lo se, debe haber mejores métodos. A modo de ejemplo te dejo el que usa el juego "Celeste", no solo para dialogos incluso para elementos del menu, muy interesante incluso este txt tiene tantas cosas, hasta efectos de dialogo creados por caracteres especiales (creo!), obviamente necesitas (como todo formato propio) un parser especial para leerlo, no es como un JSON que todo está estructurado de tal manera que cualquier lector de JSON va a funcionar. En fin acá van algunos fragmentos, este es el "Spanish", pero están las versiones en otros idiomas:
   
   
      
   
       
   
   
      Opciones:
   
   

# Options
OPTIONS_TITLE=         OPCIONES
OPTIONS_CONTROLS=      CONTROLES
OPTIONS_RUMBLE_PC=      Vibración
OPTIONS_RUMBLE_PS4=      Vibración
OPTIONS_RUMBLE_XB1=      Vibración
OPTIONS_RUMBLE_NS=      Vibración
OPTIONS_KEYCONFIG=      Config. Teclado
OPTIONS_VIDEO=         VÍDEO
OPTIONS_FULLSCREEN=      Pantalla completa
OPTIONS_WINDOW=         Escala ventana
OPTIONS_VSYNC=         Sinc. vertical
OPTIONS_VIEWPORT_NS=   Ajustar tamaño de la pantalla
OPTIONS_VIEWPORT_PS4=   Ajustar tamaño de la pantalla
OPTIONS_VIEWPORT_XB1=   Ajustar tamaño de la pantalla
OPTIONS_VIEWPORT_PC=   Ajustar tamaño de la pantalla
OPTIONS_DISABLE_FLASH=   Modo fotosensible
... etc ....

   
       
   
   

# Assist Mode
ASSIST_MODE_0=
   {# 44adf7}El modo Asistencia{#} te permite modificar las reglas del juego para reducir la dificultad.{n}
   Incluye opciones como reducir la velocidad del juego, hacerte{n}
   invencible o dar resistencia infinita y saltarse capítulos enteros.
ASSIST_MODE_1=
   Celeste es un juego diseñado para presentar desafíos y ser accesible al mismo tiempo.{n}
   Creemos que la dificultad es esencial para la experiencia del juego.{n}
   La primera vez, recomendamos jugar sin el {# 44adf7}modo Asistencia{#}.
ASSIST_MODE_2=
   No obstante, sabemos que cada jugador es diferente.{n}
   Si Celeste te resulta inaccesible por su nivel de dificultad,{n}
   esperamos que el {# 44adf7}modo Asistencia{#} te permita disfrutar de él.
ASSIST_ASK=      ¿Quieres jugar con el {# 44adf7}modo Asistencia{#}?
ASSIST_YES=      Sí
ASSIST_NO=      No
ASSIST_SKIP=   Ayudar{n}Omitir

   
       
   
   
      Dialogos:
   
   

# ================================== IN-GAME DIALOG BEGINS HERE! ==================================
# *** Prologue ***
CH0_INTRO=
   Ya está, {+MADELINE}.
   Respira hondo.
   ¿A qué vienen tantos nervios?
CH0_GRANNY=
   {anchor top}
   [MADELINE left normal]
   Perdón, ¿señora?
   {trigger 0 Madeline walks forward}
   [MADELINE left normal]
   El cartel de la entrada está roto...{n}¿Esta es la pista de la {+mountain}?
   [GRANNY right normal]
   Ya casi has llegado.{n}Está al otro lado del puente.
   {trigger 1 Madeline walks to the right of the house, turns left}
   
   [MADELINE right sad]
   Por cierto, deberías llamar a alguien por lo de la entrada. La cresta se ha derrumbado y casi me mato.
   {trigger 2 Granny laughs}
   [GRANNY left laugh]
   Si casi te matas en mi {>> 0.3}"entrada"{>>}{0.2}, puede{n}que la {+mountain} sea demasiado para ti.
   {trigger 3 Laugh Continues}
   [MADELINE right upset]
   {0.5}...{0.2}

   
       
   


Es muy muy interesante, lo miraremos con calma, ¡muchísimas gracias! 

Etiquetas: