Sistema de diálogos

Ayer fue un día bastante malo en lo personal. Lleno de malas noticias, problemas que salen a flote nuevamente... Nada, cosas de la vida que tenemos que enfrentar. Aún así logré sobreponerme para trabajar un poco en las ideas que tenía para el sistema de diálogo.
En un principio pensaba implementarlo de la forma siguiente: cada diálogo es un script lua que recibe un parámetro. Este parámetro indica el lugar donde estamos, es "root" si el diálogo se inicia, o es otro valor que indica la respuesta que el jugador escoge. El script retornaba una lista de pares de posibles respuestas/códigos y la próxima línea del diálogo del NPC. Esto no funcionó y se hacía un poco complicado recuperar la tabla con las opciones.
Así que me decanté por una idea diferente. Ahora hay una clase contenedor cuyo objetivo es contener la línea y respuestas actuales del diálogo. A partir de ahí lo mismo, cuando seleccionamos una respuesta se vuelve a ejecutar el script, esta vez pasádole el código de la respuesta seleccionada, y el mismo nos limpia el contenedor y lo llena con la próxima ronda.
Por supuesto el script del diálogo puede llegar a ser complejo, pero no veo otra solución para lograr un sistema flexible.
Esto significa que ya estoy un paso más cerca de lograr un sistema básico de quests y a su vez algo más cerca de alcanzar la jugabilidad mínima.

Comentarios

  1. hola, yo también estoy haciendo un sistema de diálogos y tengo algunas ideas. Ponte en contacto conmigo y podemos echarnos una mano mutuamente.

    cinitaprida@gmail.com

    ResponderEliminar

Publicar un comentario