PicsArt_1586225017755

La App Makers

Bien chicos, ya estamos en el Post #7 de este Hilo/Tutorial!. Ya es momento de que comencemos a añadir algo que nos gusta a muchos de los que somos jugadores de Visual Novels. Hablo de las Tomas de Decisiones en la historia que estamos jugando!.

Ok compañeros de tertulias, menos drama y más acción!. A PROGRAMAR!!!.


1. TOMAS DE DECISIONES?

Sip, en un juego de tipo Novela Visual, es perfecto de que contenga tomas de decisiones. Por ejemplo, se está desencadenando un conflicto en la historia y se necesita buscar una solución para contrarrestar los efectos de ese conflicto. En ese momento se puede concurrir al jugador para que este pueda decidir qué opción es la más viable

[Una de las tomas de decisiones en Doki Doki Literature Club! : Purist MOD]

Lo interesante de ejecutar una toma de decisión, es que esa decisión pueda significar un final bueno, o un final malo en la novela, pero eso se queda a la imaginación literaria del mismo programador. Te daré un ejemplo de una toma de decisión :

La personaje X del juego, decide confesarse al jugador. El jugador debe decidir entre aceptar los sentimientos de la personaje X, o rechazarla con un “Te quiero, pero solo como amiga…”

#OffTopic : La última decisión, se le conoce comúnmente como la Friendzone xD, y si, es algo doloroso en la vida real.

Ese es una de las formas en que el jugador pueda tomar una decisión. Puedes hacer algo incluso más trágico que una confesión de amor, por ejemplo : Una decisión que puede hacer la diferencia entre la vida o la muerte del jugador. ESO SI QUE ES INTENSO xD.

Pero bueno, ahora viene la mejor parte de este post, la de crear estas tomas de decisiones en el código!. Vamos allá!.


2. IMPLEMENTAR TOMAS DE DECISIONES CON MENÚS DE ELECCIÓN

Esta parte es sin duda la mejor. Suele ser la más divertida de todas pero tanta diversión, significa un buen esfuerzo para crear las rutas que tendrá cada decisión.

Yo apoyaré con la parte de enseñarte a crear menús de elección. Tú, te vas a encargar de hacer un muy bonito juego con una atractiva historia!.

Hay dos formas de crear rutas para una toma de decisiones en el código, mediante el uso de saltos hacia otros label, o declarando variables y condiciones. Te mostraré!.

2.1 CREAR MENÚ DE ELECCIÓN USANDO SALTOS A LABELS :

Esta forma de crear una toma de decisiones, emplea el uso de label para escribir la ruta de una de las alternativas, y jump para hacer saltar a la ruta de la alternativa elegida. Sigue leyendo para entender este proceso :

[Screenshot de ejemplo para los pasos a seguir]

Paso 1 : Lo principal, antes de crear una toma de decisiones, es el encontrar el punto correcto de la historia para crear un Menú de Elección para ejecutar una decisión.

Paso 2 : Cuando hallemos el punto perfecto, debemos declarar un bloque menu para decir a Ren’Py que en ese punto se usarán alternativas para continuar jugando. Recuerda que para crear un bloque y ser indentado dentro de el, debes colocar al final de menu, los dos puntos y presionar Enter.

Paso 3 : Dentro del código, podemos crear un menú de esta forma :

menu:

    player “Qué debo responder a Kaori?…”

    “Amanecí con todas mis energías!…”:

         jump respuesta_positiva

    “Tengo mucho sueño…”:

         jump respuesta_negativa

Desglosado sería así :

menu Es la declaración de Menú dentro del código.

[Cadenas de Texto] : Texto visible para el jugador. Las últimas dos cadenas son las alternativas, que son convertidas en bloques para que Ren’Py las vea como si fueran un botón.

jump Propiedad que toma el nombre de un label para saltar hacia el.

[Nombre del label] El nombre seguido de jump corresponde al nombre del label al que el jugador saltará si presiona esa alternativa.

Si arrancamos el juego, ese código se verá de esta forma :

Paso 4 : Luego de haber terminado el menú, debemos crear las rutas que tendrá cada alternativa. Recordemos que cada alternativa tenía un label al cual debe saltar el jugador al ejecutar su decisión.

Entonces creamos un label para cada alternativa, con el nombre que colocamos al costado de jump. Para crear los labels debemos salirnos del bloque de menú. Ahora, crearemos los labels de cada ruta.

Si el jugador elige la alternativa “Amanecí con todas mis energías!…”, crearemos el label llamado respuesta_positiva, de esta forma :

label respuesta_positiva:

    kaori “Genial!!!…”

Por lo que al elegir esa opción, el juego saltará al label de destino y se nos verá así :

Lo mismo debemos hacer, pero con la respuesta negativa.

Si el jugador elige la alternativa “Tengo mucho sueño…”, crearemos el label llamado respuesta_negativa, de esta forma :

label respuesta_negativa:

    kaori “Eso te pasa por quedarte despierto hasta tarde…”

Por lo que al elegir esa opción, el juego saltará al label de destino y se nos verá así :

Así es como se crean las rutas en una Novela Visual. No obtendrás la misma respuesta en las dos alternativas.

Ahora, te mostraré la segunda manera de hacer un menú de elección.

2.2 CREAR MENÚ DE ELECCIÓN DECLARANDO VARIABLES Y USANDO CONDICIONES PARA ESTA :

Puede que esto se escuche como si se tratara de algo complicado, pero es una de las cosas más básicas que uno aprende en el mundo de la programación. Con esto me refiero a las variables y condiciones.

Para hacer rutas basadas en variables y condiciones, debemos hacerlo de la siguiente forma :

[Screenshot de ejemplo para los pasos a seguir]

Paso 1 : Antes de declarar el bloque de menú, debemos inicializar/declarar la variable que manejará las rutas de cada alternativa. Para esto ocuparemos declaraciones de variables de Python de 1 sola línea. Por ejemplo, haré una variable que se llame respuesta_1 usando el símbolo de dólar, de esta forma :

$ respuesta_1 = None

Desglosado sería así :

El símbolo de Dólar, invoca a Python de forma directa desde el entorno de Ren’Py.

respuesta_1 Este es el nombre de la variable. Se le asigna un nombre para que pueda ser ocupado más adelante.

None : Comúnmente se usan las variables para generar respuestas booleanas como el True (Verdadero) o False (Falso). En este caso None hace que la variable sea neutra por el momento.

Paso 2 : Ya que tenemos la variable neutra establecida, podemos declarar el menú con sus alternativas, solo que en esta oportunidad, las alternativas no saltarán con un jump, sino que tendrán “Flags” o banderas que alternarán el estado booleano de la variable llamada respuesta_1.

Esto será posible si escribimos el menú de esta forma :

menu:

    player “Qué debo responder a Kaori?…”

    “Amanecí con todas mis energías!…”:

         $ respuesta_1 = True

    “Tengo mucho sueño…”:

        $ respuesta_1 = False

Paso 3 : Luego nos salimos del bloque de menú, y establecemos las condiciones para usar la variable. Para gestionar una variable con una condición, se utiliza el if, que toma el nombre de la variable, y decide qué hacer en caso que sea verdadera o falsa.

Las rutas con condiciones, las haremos de esta forma :

if respuesta_1:

    kaori “Genial!!!…”

else:

    kaori “Eso te pasa por quedarte despierto hasta tarde…”

Desglosado sería así :

if [Nombre variable] : if toma a la variable que se le asignó. Si es verdadera, no debes anteponer nada, solo escribir if más el nombre de tu variable, seguido de los dos puntos para crear el bloque. Entonces si la variable es True, la alternativa saltará a este punto del código.

else : else toma la condición de if solo que en este caso, si la variable es False, la alternativa saltará a este punto del código.

El comportamiento del código, es absolutamente el mismo que en el caso anterior donde usamos labels para generar los saltos. Puedes hacer rutas y sacar provecho de estas dos formas ya que las dos son bastante confiables a la hora de usarlos en Menús de Elección.


Oh yeah!. Post #7 declarado oficialmente como finalizado!!!.

Espero que hayas entendido el cómo hacer Menús de Elección. Si hay algo que no entendiste, no dudes en comunicarme!.

NOTA : Es posible que la App Makers no pueda redireccionar correctamente a un link, o puede que no esté preparado para descargar archivos. Intenta abrir los siguientes links en un navegador como Google Chrome.

Entra a la web de Ren’Py y descarga la última versión del motor!

También estoy desarrollando una Novela Visual!. Visita el blog de mi juego y entérate de mi bitácora de desarrollo!

Todavía tienes dudas?. Hablame al interno por Telegram!

Siguiente post? Les enseñaré a crear pausas no forzosas y forzosas para ciertos momentos en la historia!. Esto será muy útil para hacer esperar de forma obligatoria para continuar jugando. Me despido de todos ustedes!. Piquen mucho código!.


Navega entre los posts de este hilo!

<< Ir al Post #6Ir al Post #8 >>

<< Eres nuevo? Click aquí para ir al Post #1 >>


ElectroBasicsYT – CharlieFuu69 Creations!

  • Tutorial
  • Programación | Programas, aplicaciones
3 Comentarios
  1. Daniel01
    Daniel01 2 años

    Hola CharlieFuu69, cuando tenes previsto la salida de tu juego.? Abrazo Amigo.

    1+
    • ElectroBasicsYT Autor
      ElectroBasicsYT 2 años

      Hola!.
      En este momento voy en el Mes #7 que vengo desarrollando el proyecto TTFL, y ya estoy prácticamente ‘ad portas’ de terminarlo ??.
      Creo que a mediados de Mayo o inicios de Junio, el juego estará completo. Eso sí, tendrá una alta dosis de azúcar ???.

      Saludos Dani! Gracias por comentar!

      1+

Contesta

CONTACTANOS

Esta es su red social de tecnología para compartir tus ideas y proyectos .Puedes enviarnos un correo si tienes dudas.Nos vemos

Enviando

Nuevo informe

Cerrar

Inicia Sesión con tu Usuario y Contraseña

o    

¿Olvidó sus datos?

Create Account