| Bueno, quizás 2000 conversaciones sí son demasiados, incluso para un AAA. Pero ponle 500, o 100... si tienes que hacer 100 copias de un blueprint con sus cajitas y líneas y editarlas todas... es ese tipo de cosas que yo trato de evitar.
Con el sistema que tengo hecho sólo hay un par de funciones y el resto es rellenar líneas de texto en un array en forma de árbol, con sus ramitas y hojitas y demás, por ejemplo, esta es la estructura:
. ¿Por dónde se va al baño? .. Tira para el fondo y luego a mano derecha . ¿Tienes algo a la venta? .. Sí, tengo un poco de todo. ... Pues a ver qué tienes .... Armas, comida, etc. ..... ¿Qué armas? ..... Ponme una pesicola ...... ¿Y de tapa?
cada "." es un nivel, así que el sistema primero recorre los ".", luego los "..", los "...", etc. De esa manera puedes tener todas las respuestas que desees (o que quepan en la pantalla), y el NPC tendrá su respuesta preparada. Por ejemplo fíjate que tengo dos "." iniciales, eso sería un menú con dos opciones a escoger. En cada línea además le puedo poner un sonido (directamente un wav, no hay que hacer cues para cada línea), una acción ejecutable, una animación para la cara, otra para el cuerpo, etc.
Empecé poniendo el array editable desde el editor, en cada personaje, pero luego lo puse dentro de los scripts, porque así varios personajes pueden compartir el mismo diálogo, y me es más fácil cambiar el idioma. Y al ser programación pura y dura, los diálogos pueden ser dinámicos y cambiar según las circunstancias, objetivos cumplidos, si tienes algún objeto requerido para alguna misión, etc. Lo que quiero hacer ahora, cuando acabe otras cosillas, es algún tipo de mega-diálogo todo dinámico, según la actitud del NPC hacía el player y sus valores de personalidad, de modo que cada NPC con el que te cruces tenga un diálogo diferente.
Tengo casi cero experiencia con blueprints, pero se me antoja que hacer todo eso debe ser un spaguetti-caos considerable.
|