en Ren'Py

Tutorial de Ren’Py – Empezando

Al abrir el programa de edición de texto nos encontraremos con tres scripts por defecto. script.rpy, options.rpy y screens.rpy. En options,rpy se cambian detalles del juego como el nombre que sale en la ventana (Está comentado así que no hay problema en navegar por acá), screens.rpy es la sección donde están programadas las screens como el menú de guardado/cargado/configuración, el yes/no al salir o el main menu (No toquemos nada acá todavía). El que nos interesa, sin embargo, es script.rpy.

Enfoquémonos en la sección que dice «label start:» (La sección extra de este tutorial hablará mejor sobre los labels). Este es el punto por defecto en el cual inicia el juego al darle Game Start en el menú principal. El juego continuará hasta que no se consiga más cosas que ejecutar en el archivo o hasta que se le coloque «return».

El juego detectará como «Dialogo que mostrar» a cualquier texto que esté entre comillas luego del label. Hagan la prueba, hagan 2 diálogos entre comillas y ejecuten el juego (En la ventana de Ren’Py darle a «Launch Project»). Acá tenemos un ejemplo simple de código.



label start:

    "¡Goldion Hammer aprobado!"

    "¡Enterado! Goldion Hammer, safety device RELEASE!"

    return


El «return» es opcional en este momento, pero es bueno cultivar buenos hábitos y tener todo organizado.

Verán que con eso tenemos ya dialogos, pero no vemos QUIEN dice las cosas, así que vamos a la parte justo antes del label start y escribamos esto:



define g = Character("Gai")


Con esto, si escribimos g antes de un dialogo, estos mostrarán el nombre «Gai» en pantalla. Esto tiene otras ventajas, con este método podemos inclusive decir que cierto personaje utilice un cuadro de dialogo distinto o una fuente diferente… pero esto es algo que detallaremos luego. Volvamos al código.

Agreguemos una nueva linea usando g para mostrar el nombre.



define g = Character("Gai")

label start:

    "¡Goldion Hammer aprobado!"

    "¡Enterado! Goldion Hammer, safety device RELEASE!"

    g "HAMMER CONNECT!"

    return


Ahora «Hammer Connect!» aparecerá dicho por «Gai», y pueden hacer eso con cuantos personajes quieran.

¿Pero que es una Visual Novel sin opciones a escoger? Es ahí donde entrá la función de menu. He acá un ejemplo simple.



menu:

    "¿Que hacer?"

    "Hammer Hell":

        g "HAMMER HELL!"

    "Hammer Heaven":

        g "HAMMER HEAVEN!"

    "Hikari ni Nare":

        g "HIKARI NI NAREEEEEEEEEEEE!"


Notarán ya un patrón en el código de «Luego de cada : la siguiente linea está con mas separación». El motivo es que Python organiza el código entendiendo que algo es un «Bloque» distinto por estar separado en otro nivel. Ya veremos mejor ese tema en el siguiente tutorial, por el momento enfoquémonos en el codigo a la mano.

El código para menu es simple. Cada «Opción» es una frase entre comillas seguida de : y en la siguiente linea se coloca que ocurre luego de haber escogido esa opción. Sin embargo, si la primera linea (Solo la primera linea luego de menu:) no termina con : entonces será un dialogo que se muestre junto al menú de opciones (Puede incluso decirlo un personaje).

Veamoslo en conjunto al código que ya habíamos incluido.



define g = Character("Gai")

label start:

    "¡Goldion Hammer aprobado!"

    "¡Enterado! Goldion Hammer, safety device RELEASE!"

    g "HAMMER CONNECT!"

    menu:

        "¿Que hacer?"

        "Hammer Hell":

            g "HAMMER HELL!"

        "Hammer Heaven":
 
            g "HAMMER HEAVEN!"

        "Hikari ni Nare":

            g "HIKARI NI NAREEEEEEEEEEEE!"

    g "Todo listo"

    return


En este punto, el juego mostrará todos los diálogos y al llegar a «menu» le dará a escoger al jugador entre 3 opciones, al escoger una mostrará un mensaje distinto, tras lo cual muestra «Todo listo» y termina el juego (Nótese como «Todo listo» está al mismo nivel de espaciado que los primeros diálogos, esto porque no pertenece al «Bloque» del menu o sus opciones sino al flujo normal del juego).

¡Voila! Tenemos una Visual Novel que muestra que personajes dicen que cosa y tiene menús para opciones. Pero no es una visual novel que recuerde que fue lo que escogió el jugador o que guarde cosas como su nombre o puntos de afecto. eso será el punto para el próximo tutorial.