La cuestión es poco a poco ir mejorando el sistema, de primeras va a tener muchos fallos, pero una vez que empieces a coger carrerilla verás como cada vez te gusta más y se te ocurren más cosas para hacerlo mejor.
En el ejemplo que te he mandado, se me ocurren unas cuantas cosas para mejorarlo.
Por ejemplo, que si un texto está abierto no puedas abrir otro hasta que acabe, que el texto no se cierre solo sino que tengas que pulsar un botón o hacer click. Que un personaje pueda hablarte en dos veces, por ejemplo, usando un array en vez de un string para la frase...
Además de eso, existen muchas formas de personalizar tu texto, yo estuve haciendo un juego de palabras y me sorprendí de la cantidad de cosas que se pueden hacer. Incluyendo seguramente mejorar el problema que dices de que las líneas se salten solas, con un sencillo cálculo de cuánto mide la frase y cuánto puede medir cada línea.
Evita eso de los espacios porque lo único que vas a hacer es complicarte la vida, el objetivo es que todo lo puedas hacer con el menor número de cambios posible y que al final, solo tengas que cambiar la frase a poner sin preocuparte de nada más.
Si quieres, ponme un privado con tu email y te mando el código del ejemplo que te puse. (ya que lo hice en horas de trabajo que al menos le sirva a alguien
)