Avanzando con la sintaxis de Ink


Éste artículo es el segundo de una serie dedicada a aprender la sintaxis Ink y el framework Inky. Se trata de un sistema muy sencillo para hacer tus propias aventuras conversacionales o ficciones interactivas.

Si quieres empezar desde el principio, ve a este artículo.

Si estás interesado en integrar Ink con Unity, echa un ojo a este artículo:Integración de Ink con Unity

Los nudos

 En el artículo anterior vimos cómo crear un programa en Inky, añadir algunas opciones de diálogo y compilarlo para web. Sólo con esas herramientas ya podríamos crear una historia interactiva decente, sin embargo Ink nos ofrece una serie de "potenciadores" que nos permiten muchísima más agilidad y versatilidad a la hora de crear historias completas.

Los nudos son la primera de esas ventajas. Nos permiten estructurar el contenido en escenas. Para usarlos, sólo tenemos que escribir

=== MiNudo1 ===

Lo que escribamos debajo de la "bandera" del nudo, pertenecerá a ese nudo, hasta que escribamos el siguiente. Veamos un ejemplo de nudos:

 Como puedes ver, el programa tienes 2 bloques grandes: "=== Entrada ===" y "=== Jardín ===". Ésto nos permite para separa escenas o bloques temáticos y reutilizarlos. Para saltar a cualquier nudo, sólo tienes que usar la instrucción desvío "->". Si te fijas, al inicio de la historia he puesto un desvío hacia la Entrada (-> Entrada). Ésto hace que se lea la primera línea y saltemos al nudo "Entrada". Aquí se presentan 2 opciones (recuerda el tuto anterior). Una de ellas es entrar al jardín, así que usamos el desvío al jardín (-> Jardin). Ojo, no pongas tildes en los nombres de los nudos. Cosas de programadores. La segunda opción es Irse, y aplica el desvío a END. Cuando quieras que acabe la historia y estés dentro de un nodo, tienes que usar -> END para que Inky no siga leyendo código.

Ten en cuenta que los desvíos son invisibles, no aparecerán en la ejecución final. Además, cada vez que se produce un desvío a un nuevo nudo, Inky inserta una línea nueva. Si quieres evitar este comportamiento, tienes que usar el pegamento <>. Por ejemplo:

=== Puerta ===
La puerta parecía pesada. 
-> Abrir

=== Abrir ===
Un poco de fuerza hizo que girase sobre sus goznes

La ejecució normal de la estructura anterior genera:
La puerta parecía pesada.
Un poco de fuerza hizo que girase sobre sus goznes

Pero si añadimos el pegamento:

=== Puerta ===
La puerta parecía pesada. <>
-> Abrir

=== Abrir ===
Un poco de fuerza hizo que girase sobre sus goznes

La ejecución queda como sigue:
La puerta parecía pesada. Un poco de fuerza hizo que girase sobre sus goznes

Bucles
Si te has fijado en el nudo del jardín, los nudos y los desvíos pueden usarse para generar bucles. Ésta utilidad es muy interesante, ya que en la mayoría de los juegos, el bucle es el núcleo. En el caso del jardín, las opciónes 2 y 3

* Buscar al jardinero
    Buscas al jardinero, para parece haberse desvanecido.
    -> Jardin
* Oler las flores
    Las flores huelen a primavera y sueños inalcanzados.
    -> Jardin

Remiten de nuevo al nudo del jardín. Esto genera un bucle. Lo mejor de los bucles es que las opciones que ya has seleccionado no vuelven a aparecer a menos que se lo especifiquemos, pero eso irá en un artículo diferente donde profundicemos en los bucles.




 Espero que este artículo te sirva. Si creas alguna historia con Ink, ¡pon el enlace en comentarios!



Comentarios

  1. Me estás salvando la vida para jam. Si sigues creando tutoriales no tendré excusa para no crear el juego que tengo en la cabeza.

    ResponderEliminar
    Respuestas
    1. Me alegro de que te esté sirviendo. Me queda uno de Unity-ink y con eso serían 4. Si tienes alguna sugerencia o petición dímelo e intento hacer un post sobre ello :)

      Eliminar

Publicar un comentario