BreynGINE

Mi aventura en la jungla (tutorial)

Estás leyendo el tutorial en la web. En el editor del ordenador está en Ayuda > Tutoriales, al lado de tu proyecto. Los enlaces que en el editor copian dibujos y sonidos a tu proyecto, aquí los descargan en ZIP; en el móvil, BreynGINE te ofrece copiarlos al abrir el tutorial.

Capítulo 1El Templo Perdido

En este tutorial vas a hacer una aventura en tercera persona al estilo de Tomb Raider, en un mundo hecho de bloques: una exploradora, una jungla, una pirámide maya con la entrada cerrada… y un mecanismo antiguo para abrirla: empuja la piedra hasta la losa. Dentro te espera el Ídolo de Oro. Sin escribir ni una línea de código.

«El Templo Perdido», el juego que vas a hacer.
«El Templo Perdido», el juego que vas a hacer.

Por el camino aprenderás:

  • Mundos de bloques (estilo vóxel): poner y quitar bloques como en un juego de construcción, y generar una jungla entera con su pirámide en un momento.
  • Tercera persona: una exploradora con su cámara detrás y animaciones para andar, saltar y estar quieta.
  • Piezas nuevas de BreynFlow: Empujar bloques, el evento Losa de presión y el Temblor de cámara.
  • Y en la segunda parte: variables que cambian el salto y la velocidad, una pantalla con la vida y la munición, armas y balas que se reciclan (object pooling), daño por caídas y enemigos que despiertan con un mensaje.
Consejo: si todavía no has hecho el tutorial de bienvenida, échale un vistazo antes: ahí se explica cómo funcionan las reglas de BreynFlow. Y si quieres saber más de las formas y los juegos 3D, el tutorial del shooter los cuenta paso a paso.
Consejo: ¿quieres verlo terminado antes de empezar? En la pestaña Tienda de Assets del Administrador de proyectos, descarga la plantilla Aventura en la jungla, de bloques: es el juego de este tutorial, listo para jugar y para curiosear sus reglas.

Cuando quieras, pulsa Siguiente.

Capítulo 2El proyecto

1
En el administrador de proyectos, pulsa Crear.
2
Nombre: El Templo Perdido. Plantilla: 3D (cámara, luz y cielo).
3
Pulsa Crear.

El editor se abre en la pestaña 3D con la escena main: un cielo, el sol, una cámara y un plano.

La exploradora trae su propia cámara y el suelo serán bloques, así que borra lo que sobra: en la Jerarquía, haz clic en Main Camera, luego Ctrl+clic en Plane, y pulsa Supr.

Los dibujos y los sonidos

Este tutorial trae el dibujo del ídolo y los sonidos del juego: copia los dibujos y sonidos al proyecto (descargar el ZIP).

En el panel Proyecto aparecen dos carpetas: sprites (el ídolo) y sonidos (la losa, la piedra arrastrándose, la puerta del templo, el salto, el tesoro y el ambiente de la selva).

Capítulo 3El mundo de bloques

Arriba del visor 3D está el botón Formas. Ábrelo: abajo del todo está la sección Bloques (vóxel).

Formas: ahora también mundos de bloques, un bloque para empujar y una losa de presión.
Formas: ahora también mundos de bloques, un bloque para empujar y una losa de presión.

Elige Mundo de bloques. En la Jerarquía aparece Bloques, y debajo del visor se abre su paleta: hierba, tierra, piedra, piedra con musgo, piedra tallada, tronco, hojas, tablones, arena, agua, oro, hierba alta y flores.

El mundo de bloques, todavía vacío, y su paleta.
El mundo de bloques, todavía vacío, y su paleta.

Cada bloque mide 1 metro y tiene su dibujo arriba, a los lados y abajo, como en los juegos de construcción: la hierba es verde por arriba y de tierra por los lados. Los dibujos se copian a la carpeta blocks del proyecto la primera vez.

Consejo: los bloques ya son sólidos: la exploradora podrá andar por ellos y chocar con ellos. Las plantas y el agua, no: se pueden atravesar.

Capítulo 4Generar la jungla

Poner miles de bloques a mano llevaría días. Para empezar, deja que BreynGINE haga la jungla: Formas > Generar jungla...

Tamaño, semilla y qué poner.
Tamaño, semilla y qué poner.
  • Tamaño: cuántos bloques mide de lado. Deja 48.
  • Semilla: cada número hace una jungla distinta (el mismo número, la misma jungla). Deja 1, para que todo quede donde dice el tutorial.
  • Deja marcadas las cuatro casillas: el suelo con colinas y charcas, los árboles, las plantas y la pirámide maya.

Pulsa Generar.

Una jungla entera, con montañas alrededor, árboles con lianas y la pirámide en un claro.
Una jungla entera, con montañas alrededor, árboles con lianas y la pirámide en un claro.

La pirámide tiene cuatro pisos con bandas talladas, una gran escalinata al sur y un templo arriba. Por dentro esconde un pasillo y una cámara del tesoro. La entrada está al pie de la escalinata, mirando al sur (hacia +Z), y un camino de arena lleva hasta ella.

Consejo: ¿no te gusta? Ctrl+Z la deshace. Prueba otras semillas con el botón Otra: la pirámide siempre sale en el mismo sitio, pero los árboles y las colinas cambian.

Capítulo 5Construir bloque a bloque

Ahora, a mano: dos columnas a la entrada del claro, una a cada lado del camino.

1
Con Bloques seleccionado, elige Piedra tallada en la paleta: se activa el pincel.
2
Pasa el ratón por el visor: un bloque transparente te enseña dónde irá, y abajo a la izquierda ves su posición. Haz clic en la hierba a la izquierda del camino, donde ponga (-3, 0, 11).
3
Haz clic encima del bloque nuevo: el siguiente se apila sobre él. Así funciona Sobre los bloques (el botón de la barra de la paleta): el bloque nuevo se pega a la cara del bloque en el que haces clic.
4
Elige Oro y pon un tercer bloque arriba.
5
Haz lo mismo a la derecha del camino, en (4, 0, 11).
La segunda columna, a punto de terminar: el bloque de oro transparente enseña dónde irá.
La segunda columna, a punto de terminar: el bloque de oro transparente enseña dónde irá.

Para borrar, elige la goma (o pulsa W) y haz clic en el bloque que quieras quitar. E vuelve al pincel, y R (el cuentagotas) coge el bloque en el que haces clic, para seguir pintando con él.

Consejo: si haces clic sobre una planta o en el agua, el bloque nuevo la sustituye. Y si apagas Sobre los bloques, se pinta en un piso fijo de la cuadrícula (se cambia con el número de la barra, o con 1 y 3): útil para hacer suelos grandes arrastrando.

Capítulo 6La exploradora

1
En el panel Jerarquía (arriba a la izquierda), haz clic en Main, la primera línea: es la raíz de la escena, y lo que crees se pone dentro de ella. Pulsa el + de ese mismo panel y, en Juego 3D, elige Jugador (tercera persona).
El nuevo jugador en tercera persona, al final de Juego 3D.
El nuevo jugador en tercera persona, al final de Juego 3D.
2
Llámala Jugadora (F2, o doble clic en la Jerarquía).
3
Ahora, su posición: 0.5, 0, 15, en el camino, mirando a la pirámide. Ojo: los primeros números que ves en el Inspector (a la derecha) son Up Direction, que no es la posición. Baja con la rueda del ratón por el Inspector hasta la sección Transform (en Node3D), haz clic en ella para desplegarla y escribe los valores en Position: x, y, z.
Consejo: más rápido: escribe position en el campo Filtrar Propiedades de arriba del Inspector y solo verás esa propiedad. Cuando termines, borra la búsqueda con la X del campo para volver a verlo todo (o déjala, si vas a colocar más objetos). Esto vale para cualquier propiedad de este tutorial: Size, Radius, Energy...
Una exploradora hecha de bloques, con su coleta y su mochila.
Una exploradora hecha de bloques, con su coleta y su mochila.

Trae todo lo que necesita:

  • Su Colisión (una cápsula) y su Cuerpo: cajas de colores con las piernas y los brazos colgando de sus articulaciones.
  • Un Pivote de cámara con un Brazo de cámara (un SpringArm3D) y la Cámara en la punta: la cámara va detrás y, si hay una pared en medio, se acerca en vez de atravesarla.
  • Un AnimationPlayer con tres animaciones: quieto, andar y saltar.
  • Ya está en el grupo player.

Capítulo 7Moverse, empujar y saltar

Con la Jugadora seleccionada en la Jerarquía, añádele BreynFlow (Inspector > Añadir componente) y crea estas reglas:

  • Moverse. CUANDO: Cada fotograma. HAZ: Mover con los controles: en la ficha, el estilo tercera persona, Velocidad 5 y, en Aspecto, las animaciones quieto, andar y saltar. Y otra acción: Empujar bloques (ya viene con el grupo pushable).
  • Saltar. CUANDO: Tecla o botón ui_accept (Espacio o Intro). SI: Está en el suelo. HAZ: Saltar con fuerza 6; Reproducir sonido sonidos/salto.wav (ver el consejo de abajo).
  • Música de la selva. CUANDO: Empieza la escena. HAZ: Reproducir música sonidos/selva.wav, repitiéndola entera.
Consejo: para elegir un sonido, una textura o una imagen, en vez de arrastrarlo desde el panel Proyecto, pulsa el icono Carga rápida que hay junto al campo (en la ficha de la pieza o en el Inspector): se abre una lista con los archivos del proyecto que sirven ahí, y basta con escribir parte del nombre (salto, selva...) y pulsar Intro.

En tercera persona, el ratón gira la cámara alrededor de la exploradora, WASD (o las flechas) la mueve hacia donde mira la cámara, y ella se gira hacia donde anda. Empujar bloques va justo después de moverse, en la misma regla: si camina contra un bloque del grupo pushable, lo empuja.

¡A probarlo!

Guarda (Ctrl+S) y pulsa ▶. Haz clic en el juego para atrapar el ratón. Pasea por el claro, salta con Espacio y sube por la escalinata de la pirámide a saltos. Con Esc sueltas el ratón.

Con la niebla de la selva, que pondremos al final.
Con la niebla de la selva, que pondremos al final.
Consejo: el salto de fuerza 6 sube casi 2 metros: lo justo para subir un bloque con holgura. Para saltos más largos, súbelo a 7 u 8.

Capítulo 8La puerta, la losa y la piedra

Ahora, el mecanismo del templo.

La puerta: Formas > Cubo, llamado Puerta, con Size 3, 4, 1 (arriba del Inspector) y Position 0.5, 2, 1.5 (en Transform): tapa la entrada justo bajo el dintel tallado. En Aspecto, la textura Piedra.

La piedra para empujar: Formas > Bloque empujable. Llámalo Bloque y ponle Position 8, 0, 13. Es un bloque de piedra de 2 × 2 × 2 metros que ya está en el grupo pushable.

La losa: Formas > Losa de presión. Llámala Losa y ponle Position 8, 0, 9: dos empujones más allá del bloque, hacia la pirámide.

Desde arriba: la puerta, la losa, el bloque y la exploradora.
Desde arriba: la puerta, la losa, el bloque y la exploradora.
Consejo: el Bloque y la Losa se colocan siempre en metros enteros, como los bloques del mundo, para que encajen con la cuadrícula.

Capítulo 9El mecanismo

Añade BreynFlow al Bloque, con una regla:

  • Arrastrar. CUANDO: Llega un mensaje: pushed (cada vez que lo empujan le llega este mensaje). HAZ: Reproducir sonido sonidos/piedra.wav.

Y a la Losa, la regla que abre el templo:

  • Abrir el templo. CUANDO: Losa de presión. La pieza dice «cualquier cosa pisa este objeto»: tiene dos huecos, y hay que cambiar el primero. Haz clic en cualquier cosa (en la ficha es el campo Con: lo que pisa) y elige Un grupo... > pushable. El segundo, este objeto (el campo Losa: la losa que se pisa), se queda como está, porque las reglas son de la propia Losa. Queda «el grupo «pushable» pisa este objeto»: así la losa no se activa cuando la pisa la exploradora, solo con la piedra.
  • HAZ: Reproducir sonido losa.wav; otro Reproducir sonido puerta.wav; Temblor de cámara 3 s con fuerza 0.3; Mostrar mensaje «¡La entrada del templo se abre!» durante 3 s; Mover a: la Puerta, desplazando (0, -3.9, 0) en 3 s. La puerta se hunde despacio en el suelo y deja asomar solo un borde de piedra, por encima del que pasa la exploradora.
Las reglas del Bloque y de la Losa.
Las reglas del Bloque y de la Losa.

Cómo funciona Empujar bloques: cuando la exploradora camina contra la piedra durante un momento, la piedra se desliza lo que mide (2 metros), si hay sitio. Si delante hay una pared, un árbol u otro bloque, no se mueve. Y la losa se hunde un poquito mientras tiene algo encima.

Consejo: el evento Losa de presión también puede saltar cuando se deja de pisar: con él puedes cerrar la puerta otra vez si alguien quita la piedra, para puzles más difíciles.

Capítulo 10El tesoro

1
En la Jerarquía, selecciona Main, y luego + > Objeto para recoger (3D). Llámalo Ídolo y ponle Position 0.5, 1, -5.5: sobre el pedestal de oro de la cámara del tesoro.
2
Despliega el Ídolo en la Jerarquía (la flechita de su izquierda). Selecciona su Dibujo y ponle la textura sprites/idolo.png (con Carga rápida: escribe idolo) y Position y = 0.5. Luego selecciona su Colisión: en el Inspector, en Shape, haz clic en SphereShape3D para abrirla y pon Radius 0.9. Así se coge desde el borde del pedestal.
3
Vuelve a seleccionar el Ídolo en la Jerarquía (no su Colisión, que es lo último que has tocado: el BreynFlow va en el Ídolo). Añádele BreynFlow con la regla Coger el tesoro: CUANDO: Choque (ya viene «toca el grupo player»). HAZ: Reproducir sonido tesoro.wav; Mostrar mensaje «¡Has encontrado el Ídolo de Oro!» durante 4 s; Destruir este objeto.

Las antorchas: + > Luz > Luz puntual, llamada Antorcha, en 0.5, 3.5, -5.5. Color naranja (255, 170, 80), Energy 2, Range 7 y Shadow apagado (las sombras de las luces puntuales cuestan mucho, y aquí no hacen falta). Duplícala (Ctrl+D): Antorcha 2, en 0.5, 3, 0, para el pasillo.

La cámara del tesoro: el ídolo sobre su pedestal, con un bloque de oro en cada esquina.
La cámara del tesoro: el ídolo sobre su pedestal, con un bloque de oro en cada esquina.

Capítulo 11La niebla de la selva

El toque final: niebla. En la Jerarquía, selecciona WorldEnvironment, haz clic en su Environment para abrirlo y, en Fog:

  • Enabled: activado.
  • Light Color: un verde muy claro (158, 189, 158).
  • Density: 0.008.

Los árboles del fondo se pierden en la bruma, y el claro de la pirámide parece más escondido.

Capítulo 12¡A jugar!

Guarda (Ctrl+S) y pulsa ▶.

1
Camina hasta la piedra (a la derecha de la entrada) y rodéala hasta ponerte detrás, por el lado del camino.
2
Empuja hacia la pirámide: cada empujón la desliza 2 metros. Con dos, llega a la losa.
Empujando la piedra.
Empujando la piedra.
3
¡Clac! La tierra tiembla y la puerta del templo se hunde.
La entrada del templo se abre.
La entrada del templo se abre.
4
Entra por el pasillo hasta la cámara del tesoro y coge el Ídolo de Oro.
El pasillo, con el ídolo al fondo.
El pasillo, con el ídolo al fondo.

Mientras juegas, mira la pestaña BreynFlow: cada regla parpadea cuando se ejecuta.

Capítulo 13Segunda parte: los tres ídolos

El Templo Perdido ya funciona. Ahora vamos a convertirlo en una aventura de verdad: tres ídolos en vez de uno (y el poder que dan), una pantalla con la vida y la munición, daño al caer desde muy alto, dos armas con balas que se reciclan, bolsas de munición y dos guardianes de piedra que despiertan cuando se abre el templo.

Hace falta más material. Vuelve a pulsar copia los dibujos y sonidos al proyecto (descargar el ZIP): los archivos que ya tenías se quedan como están, y aparecen los nuevos. En sprites: la bala, la bolsa de munición, el guardián, la pistola y la escopeta. En armas: la pistola y la escopeta en 3D, para ponérselas en la mano. En sonidos: el disparo, la escopeta, el cambio de arma, recoger, herido, el rugido, el derrumbe, la caída y el poder de los ídolos.

Variables para correr y saltar

Para que los ídolos puedan hacer a la exploradora más rápida y más saltarina, su velocidad y su salto tienen que vivir en variables, no en números fijos. Selecciona la Jugadora y, en sus reglas:

1
A la regla Música de la selva llámala Empezar (haz clic en su nombre) y añádele tres acciones Cambiar variable: velocidad (del objeto) poner a 5; salto (del objeto) poner a 6; e idolos (global) poner a 0. Las dos primeras son de la exploradora; la cuenta de ídolos es global para que la puedan leer todos.
2
En Moverse, abre la ficha de Mover con los controles (el menú ⋮ de la acción > Editar todos los ajustes) y pon Origen de la velocidad: Variable del objeto, y Variable de la velocidad: velocidad.
3
En Saltar, lo mismo con la acción Saltar: Origen de la fuerza: Variable del objeto, y Variable de la fuerza: salto.
La ficha de Saltar: la fuerza sale de la variable «salto».
La ficha de Saltar: la fuerza sale de la variable «salto».

Las frases cambian a «velocidad velocidad» y «fuerza salto». El juego se ve igual que antes, pero ahora cualquier regla puede cambiar esos números mientras se juega.

Los ídolos cuentan

Selecciona el Ídolo y, en su regla Coger el tesoro, añade justo después del sonido un Cambiar variable: idolos (global) sumar 1 (arrástralo con el asa ≡ hasta el segundo puesto). Y cambia el mensaje por «¡Ídolo de oro {idolos} de 3!», durante 3 s: entre llaves, el mensaje enseña el valor de la variable, así cada ídolo dice cuál es.

Ahora, los otros dos. Con el Ídolo seleccionado, duplícalo (Ctrl+D): sale Ídolo 2, con las mismas reglas. Ponle Position 0.5, 8, -5.5: dentro del templo de la cima, al que se sube por la escalinata.

El segundo ídolo, en el templo de la cima.
El segundo ídolo, en el templo de la cima.

El tercero va aún más alto. Selecciona Bloques, coge el pincel y la textura Oro de la paleta, y pinta un bloque de oro en lo más alto de la pirámide, sobre el remate del tejado del templo (en la casilla 0, 13, -6). Luego duplica otra vez el Ídolo: Ídolo 3, en 0.5, 14, -5.5, encima del oro.

El bloque de oro sobre el remate de la pirámide.
El bloque de oro sobre el remate de la pirámide.
El tercer ídolo, en la cumbre.
El tercer ídolo, en la cumbre.

El poder de los ídolos

Hasta la cumbre no se llega con un salto de fuerza 6: el muro del templo mide 3 metros. Los dos primeros ídolos darán a la exploradora el poder de subir. Selecciona la Jugadora y crea dos reglas:

  • El poder de los ídolos. CUANDO: Cambia una variable: idolos (global). SI: Comparar variable: idolos (global) es igual a 2. HAZ: Reproducir sonido poder.wav; Mostrar mensaje «¡Sientes el poder de los ídolos! Saltas más alto y corres más.» durante 4 s; Cambiar variable salto (del objeto) poner a 9.5; Cambiar variable velocidad (del objeto) poner a 7; y un Estallido de partículas de 60 partículas, tamaño 1.5, durante 1 s, en este objeto.
  • Los tres ídolos. CUANDO: Cambia una variable idolos (global). SI: idolos es igual a 3. HAZ: Reproducir sonido tesoro.wav; Mostrar mensaje «¡Has reunido los tres ídolos! El Templo Perdido es tuyo.» durante 6 s.
Las reglas del poder: con dos ídolos, salto 9.5 y velocidad 7.
Las reglas del poder: con dos ídolos, salto 9.5 y velocidad 7.

Da igual en qué orden se cojan los dos primeros: en cuanto la cuenta llega a 2, el salto sube de 6 a 9.5 (casi 5 metros) y ya se puede subir del patio del templo a su muro, de ahí al tejado y de ahí al oro de la cumbre.

Consejo: Cambia una variable salta cada vez que la variable cambia, en cualquier objeto. Por eso la regla vive en la Jugadora aunque el que suma sea el ídolo: lo que importa es la variable, no quién la toca.

Capítulo 14La vida y la pantalla

Vamos a poner en pantalla la vida y la munición. Antes, dos ajustes para que se vea bien en cualquier ventana. Abre Proyecto > Configuración del proyecto:

  • Escribe stretch en el buscador, haz clic en Ventana y pon Estirar > Modo en canvas_items: la pantalla crece con la ventana.
  • Escribe filtro de textura, haz clic en Texturas (en Renderizado) y pon Filtro de Textura Predeterminado en Nearest: los píxeles se ven nítidos.

Ve a la pestaña 2D: el rectángulo azul es la pantalla, de 1152 × 648. Selecciona Main y, con + > Interfaz, añade cuatro cosas:

  • Texto llamado Vida: con el texto VIDA: 100, tamaño de letra 28 (Theme Overrides > Font Sizes), en Position 24, 596 (abajo a la izquierda).
  • Texto llamado Munición: BALAS: 12 CARTUCHOS: 4, tamaño 28, Position 580, 596 (así, aunque haya muchas balas, el texto no llega al dibujo del arma).
  • Imagen llamada Pistola: sprites/pistola.png en su Texture, Expand Mode en Ignore Size y, en Layout > Transform, Size 96, 52 y Position 1032, 584 (abajo a la derecha).
  • Imagen llamada Escopeta: sprites/escopeta.png, Ignore Size, Size 128, 48, Position 1008, 588. Escóndela con el ojo de la Jerarquía: se empieza con la pistola.
La pantalla, abajo: la vida, la munición y el arma.
La pantalla, abajo: la vida, la munición y el arma.

Las reglas de la pantalla

Añade BreynFlow al texto Vida con estas reglas:

  • Empezar. CUANDO: Empieza la escena. HAZ: cuatro Cambiar variable, todas globales: vida poner a 100, balas poner a 12, cartuchos poner a 4 y arma poner a «pistola» (escribe la palabra, entre comillas no hace falta).
  • Mostrar la vida. CUANDO: Cambia una variable: vida (global). HAZ: Cambiar texto de este objeto a «VIDA: {vida}».
  • Mostrar la munición. CUANDO: Cambia una variable: balas (global). HAZ: Cambiar texto del objeto Munición a «BALAS: {balas} CARTUCHOS: {cartuchos}».
  • Mostrar los cartuchos: igual, pero CUANDO cambia cartuchos.
  • Mostrar el arma. CUANDO: Cambia una variable: arma (global). HAZ: Si / si no. Dentro, la condición Comparar variable: arma (global) es igual a «pistola». En entonces: Mostrar u ocultar Pistola (mostrar) y Mostrar u ocultar Escopeta (ocultar). En si no: al revés.
Las reglas de la pantalla.
Las reglas de la pantalla.
«Si / si no»: con la pistola en la mano se ve la pistola; si no, la escopeta.
«Si / si no»: con la pistola en la mano se ve la pistola; si no, la escopeta.
Consejo: un texto entre llaves, como {vida}, se cambia por el valor de la variable al enseñarlo. Vale en Cambiar texto y en Mostrar mensaje.

Caer desde alto

Una pirámide alta y un salto de 5 metros piden un poco de cuidado. Selecciona la Jugadora y añade:

  • Caída. CUANDO: Aterriza o choca con una pared (viene como «este objeto aterriza»). SI: Comparar variable: fall_height (del objeto) es mayor que 3.5. HAZ: Cambiar variable vida (global) restar 20; Reproducir sonido caida.wav; Temblor de cámara 0.5 s con fuerza 0.2; Parpadear este objeto durante 1 s.
  • Morir. CUANDO: Cambia una variable: vida (global). SI: vida (global) es menor o igual que 0. HAZ: Mostrar mensaje «Has caído en el Templo Perdido...» durante 2 s; Fundido de pantalla hacia el color en 1.5 s; Reiniciar la escena.
Caída y muerte.
Caída y muerte.

Cada vez que un personaje aterriza, BreynFlow apunta en su variable fall_height cuántos metros ha aterrizado por debajo del sitio donde dejó el suelo: un salto en llano es 0, por alto que sea; bajar de un escalón, 1; caer del tejado del templo al patio, 4. El fundido tarda 1.5 s en cubrir la pantalla, y entonces la escena vuelve a empezar: la regla Empezar de la Vida pone de nuevo la vida a 100.

Capítulo 15Las armas

La bala

Primero, el proyectil. Es un objeto pequeño con sus propias reglas, que guardaremos como prefab (una escena aparte) para que la exploradora pueda lanzar copias.

1
Selecciona Main y añade + > Objeto para recoger (3D). Llámalo Bala y ponlo delante de la exploradora, en 0.5, 1.2, 13.5, para verlo bien.
2
A su Dibujo, la textura sprites/bala.png y Position 0, 0, 0. A su Colisión, Position 0, 0, 0 y, en su SphereShape3D, Radius 0.15: una bolita del tamaño de la bala.
La bala, delante de la exploradora.
La bala, delante de la exploradora.
3
Selecciona la Bala y añádele BreynFlow con dos reglas:
  • Golpear. CUANDO: Choque: haz clic en el grupo «player» y cámbialo por el grupo enemies. HAZ: Enviar mensaje «herido» a el otro objeto (el campo A: lo que ha tocado); Estallido de partículas de 16 partículas de color naranja en el otro objeto; Destruir este objeto.
  • Chocar. CUANDO: Choque, pero esta vez borra el grupo (en la ficha, el campo Con vacío: «toca cualquier cosa»). SI: Está en un grupo: el otro objeto está en el grupo player... y en el menú ⋮ de la condición marca Invertir (NO): la bala se destruye al tocar cualquier cosa que no sea la exploradora (así no choca con ella al salir). HAZ: Destruir este objeto.
Las reglas de la bala: golpear a un enemigo o chocar con una pared.
Las reglas de la bala: golpear a un enemigo o chocar con una pared.
4
Ahora conviértela en prefab: haz clic derecho en la Bala en la Jerarquía y elige Guardar Rama como Escena.... Guárdala como bala.tscn. En el panel Proyecto aparece el archivo. Y borra la Bala de Main (selecciónala y pulsa Supr): en el juego no hay balas hasta que se dispara.
Las balas viven ahora en bala.tscn.
Las balas viven ahora en bala.tscn.

La tecla para cambiar de arma

Las acciones de entrada (las teclas) se definen en Proyecto > Configuración del proyecto > Mapa de entrada. Un proyecto nuevo ya trae jump, shoot, interact y pause. Añade una: escribe cambiar_arma en Añadir nueva acción y pulsa Añadir. Luego, en su fila, el botón +, pulsa la tecla Q y acepta.

El Mapa de entrada, con la acción «cambiar_arma» y su tecla.
El Mapa de entrada, con la acción «cambiar_arma» y su tecla.

Las armas en la mano

En el panel Proyecto, la carpeta armas trae dos modelos hechos con cajas: pistola.tscn y escopeta.tscn. En la Jerarquía, despliega la Jugadora y su Cuerpo. Arrastra pistola.tscn desde el panel Proyecto y suéltala encima de Brazo derecho: queda dentro del brazo. Ponle Position 0, -0.8, -0.05: ya la lleva en la mano. Haz lo mismo con escopeta.tscn, con Position 0, -1.05, -0.05, y escóndela con el ojo: se empieza con la pistola.

La pistola, en la mano derecha de la exploradora.
La pistola, en la mano derecha de la exploradora.

El origen de cada arma (el punto que mueves con su Position) está en la boca del cañón: de ahí saldrán las balas. Y como el arma va dentro del brazo, se mueve con él: al andar se balancea, y al apuntar sube con el brazo.

Apuntar

Primero, la cámara al hombro. En la Jerarquía, despliega el Pivote de cámara de la Jugadora, selecciona el Brazo de cámara y ponle Position 0.9, 0, 0: la cámara se desplaza al hombro derecho de la exploradora y ya no la tiene justo delante. Los disparos van a donde apunta el centro de la pantalla, así que así se ve a dónde van.

Ahora selecciona la Jugadora y añade dos reglas:

  • Apuntar. CUANDO: Tecla o botón: mouse_right (el botón derecho del ratón) se pulsa. HAZ: Apuntar (en Personajes y física): viene como «este objeto empieza a apuntar».
  • Dejar de apuntar. CUANDO: Tecla o botón: mouse_right se suelta. HAZ: Apuntar, cambiando «empieza a apuntar» por deja de apuntar.
Apuntar mientras se mantiene el botón derecho.
Apuntar mientras se mantiene el botón derecho.

Mientras mantienes el botón derecho, la exploradora se gira hacia donde mira la cámara y levanta el brazo con el arma hacia el centro de la pantalla; la cámara se acerca por encima del hombro, sale una mira en el centro y ella anda más despacio. Todo eso se ajusta en la ficha de Apuntar: cuánto se acerca la cámara, cuánto se aparta hacia el hombro, la velocidad al apuntar y si hay mira. El brazo que levanta lo encuentra solo (el Brazo derecho); si tu personaje es otro, elígelo en Brazo.

Disparar

Selecciona la Jugadora y añade tres reglas más:

  • Cambiar de arma. CUANDO: Tecla o botón: cambiar_arma se pulsa. HAZ: Reproducir sonido cambiar.wav; Si / si no con la condición arma (global) es igual a «pistola»; en entonces: Cambiar variable arma poner a «escopeta», Mostrar u ocultar Cuerpo/Brazo derecho/Pistola (ocultar) y Mostrar u ocultar Cuerpo/Brazo derecho/Escopeta (mostrar); en si no: arma poner a «pistola» y las dos armas al revés. La pantalla se entera sola, por su regla Mostrar el arma.
  • Disparar con la pistola. CUANDO: Tecla o botón: mouse_left se pulsa. SI: arma (global) es igual a «pistola», y balas (global) es mayor que 0. HAZ: Apuntar con apunta un momento (0.4 s: si disparas sin mantener el botón derecho, levanta el arma para el disparo); Lanzar (proyectil): en la ficha, Escena bala.tscn, Desde el objeto Cuerpo/Brazo derecho/Pistola (la bala sale de la boca de la pistola), Dirección hacia donde mira la cámara, Velocidad 25; Cambiar variable balas restar 1; Reproducir sonido disparo.wav.
  • Disparar con la escopeta. CUANDO: mouse_left se pulsa. SI: arma es igual a «escopeta», y cartuchos (global) es mayor que 0. HAZ: Apuntar con apunta un momento, como en la pistola; tres Lanzar (proyectil) iguales que el de la pistola, pero Desde Cuerpo/Brazo derecho/Escopeta y con Propagación 12 grados (cada bala se desvía un poco al azar: un abanico de perdigones); Cambiar variable cartuchos restar 1; Reproducir sonido escopeta.wav; Temblor de cámara 0.2 s con fuerza 0.15.
Cambiar de arma: la variable y el arma de la mano.
Cambiar de arma: la variable y el arma de la mano.
Disparar: primero se apunta, y la bala sale de la boca del arma.
Disparar: primero se apunta, y la bala sale de la boca del arma.
Consejo: en una regla con varias acciones iguales, pon a punto la primera y luego usa su menú ⋮ > Duplicar.

Las balas se reciclan: cuando una sale de la pantalla o se destruye, no desaparece del todo, sino que vuelve a una reserva (un object pool) y el siguiente disparo la reutiliza en vez de crear otra. Con cientos de disparos, el juego no se atasca creando y borrando objetos. Es el ajuste Reutilizar de Lanzar, que viene activado.

Munición

Las balas se acaban. Selecciona Main y añade + > Objeto para recoger (3D), llamado Bolsa, en -4, 0, 12, con la textura sprites/municion.png en su Dibujo. Su regla:

  • Recoger. CUANDO: Choque (toca el grupo player). HAZ: Cambiar variable balas (global) sumar 12; cartuchos (global) sumar 4; Reproducir sonido recoger.wav; Destruir este objeto.
Una bolsa de munición.
Una bolsa de munición.
La regla de la bolsa.
La regla de la bolsa.

Duplícala dos veces: Bolsa 2 en 5, 0, 16 (junto al camino) y Bolsa 3 en 0.5, 0, -3.5 (dentro de la cámara del tesoro, justo al salir del pasillo: la vas a necesitar).

Capítulo 16Los guardianes del templo

Dentro de la cámara del tesoro, dos jaguares de piedra esperan a que alguien abra la puerta.

1
Selecciona Main y añade + > Enemigo (3D). Llámalo Guardián, ponlo en -2, 0, -8 (al fondo de la cámara, a la izquierda del pedestal) y dale a su Dibujo la textura sprites/guardian.png. Ya está en el grupo enemies.
Un guardián de piedra.
Un guardián de piedra.
2
Añádele BreynFlow con seis reglas:
  • Empezar. CUANDO: Empieza la escena. HAZ: Cambiar variable vida (del objeto) poner a 100; despierto (del objeto) poner a 0.
  • Despertar. CUANDO: Llega un mensaje: despertar. HAZ: despierto poner a 1; Reproducir sonido rugido.wav.
  • Perseguir. CUANDO: Cada fotograma. SI: despierto (del objeto) es igual a 1. HAZ: Mover hacia (seguir): hacia la Jugadora, velocidad 3.5, y en la ficha Distancia de parada 1.2 (se queda pegado, sin meterse dentro).
  • Morder. CUANDO: Pasa el tiempo: cada 1 s. SI: despierto es igual a 1, y Distancia de este objeto a la Jugadora menor que 1.8. HAZ: Cambiar variable vida (global: la de la exploradora) restar 15; Reproducir sonido herido.wav; Parpadear la Jugadora 0.5 s; Temblor de cámara 0.3 s con fuerza 0.25.
  • Herido. CUANDO: Llega un mensaje: herido (el que manda la bala). HAZ: vida (del objeto) restar 34; Parpadear este objeto 0.2 s.
  • Derrotado. CUANDO: Cambia una variable: vida (del objeto). SI: vida (del objeto) es menor o igual que 0. HAZ: Reproducir sonido derrumbe.wav; Estallido de partículas de 40 partículas grises, tamaño 1.5; Destruir este objeto.
Las reglas del guardián: dormido hasta que llega el mensaje.
Las reglas del guardián: dormido hasta que llega el mensaje.
Perseguir y morder: solo despierto, y solo de cerca.
Perseguir y morder: solo despierto, y solo de cerca.

Fíjate en las dos vidas: la vida del objeto es la del guardián (cada uno tiene la suya, aunque compartan reglas) y la vida global es la de la exploradora. Tres balas de pistola (34 × 3) o un buen cartuchazo de cerca acaban con un guardián.

3
Selecciona el Guardián y duplícalo: Guardián 2, en 3, 0, -8, al otro lado.
Los dos guardianes, al fondo de la cámara, a los lados del ídolo.
Los dos guardianes, al fondo de la cámara, a los lados del ídolo.
4
Falta despertarlos. Selecciona la Losa y, al final de su regla Abrir el templo, añade Enviar mensaje «despertar» al grupo enemies: en cuanto la piedra pisa la losa, los dos rugen y van a por ti.
La losa abre la puerta y despierta a los guardianes.
La losa abre la puerta y despierta a los guardianes.
Consejo: los mensajes son la forma de que unos objetos hablen con otros sin conocerse: la losa no sabe cuántos guardianes hay, ni la bala a quién ha dado. Para hacer un tercer guardián solo hay que duplicar uno; para una trampa que los despierte, otra regla que mande «despertar».

Capítulo 17Jugar en el móvil

En un móvil o una tablet no hay teclado ni ratón. La exploradora se maneja con controles táctiles: un joystick para andar y un botón para cada acción. BreynFlow los pone con una sola acción, y solo aparecen cuando el juego se juega en una pantalla táctil: en el ordenador todo sigue igual.

Selecciona la Jugadora y añade una regla más:

  • Controles táctiles. CUANDO: Empieza la escena. HAZ: Controles táctiles (en Controles). Viene como «mostrar los controles táctiles (joystick sí, botones A = ui_accept)». Haz clic en los botones: cada uno es una pareja, su texto y la acción que pulsa. Cambia la A por Saltar y añade los demás con Nueva Clave (el texto), Nuevo Valor (la acción) y Agregar Par Clave/Valor: Disparar = mouse_left, Apuntar = mouse_right y Arma = cambiar_arma.
Los controles táctiles: el joystick a la izquierda y un botón para cada acción.
Los controles táctiles: el joystick a la izquierda y un botón para cada acción.

Así quedan:

  • El joystick, a la izquierda: aparece donde apoyas el pulgar y mueve a la exploradora como las flechas (Mover con los controles lo lee sin tocar nada).
  • Saltar, en la esquina de abajo a la derecha, pulsa ui_accept, como el Espacio: la regla Saltar funciona tal cual.
  • Disparar y Apuntar pulsan los botones del ratón (mouse_left y mouse_right): las reglas de las armas tampoco cambian. Mientras mantienes Apuntar, apunta; al soltarlo, deja de apuntar.
  • Arma pulsa cambiar_arma, como la Q.

Con los controles en pantalla, tocar la pantalla no dispara: un dedo fuera del joystick y de los botones solo gira la cámara, como el ratón en el ordenador. Y se pueden usar varios dedos a la vez: andar con el joystick, girar la cámara con el otro pulgar y saltar o disparar.

Consejo: para probarlos en el ordenador, desmarca solo táctil en la ficha de la acción: salen también ahí, y el ratón hace de dedo. Con tamaño los haces más grandes o más pequeños. Si en un juego tuyo quieres otra cosa en el móvil (otro menú, otros textos), la condición La plataforma es dice si se juega en un móvil o una tablet.

Capítulo 18¡A jugar! (segunda parte)

Guarda (Ctrl+S) y pulsa ▶. La pantalla dice VIDA: 100 y BALAS: 12, con la pistola.

1
Prueba los disparos en el claro: clic izquierdo para la pistola, Q y clic para la escopeta (la cámara tiembla y salen tres perdigones). Mantén el botón derecho para apuntar: la cámara se pone sobre el hombro y sale la mira. Coge la bolsa de la izquierda.
Apuntando con la escopeta: un abanico de perdigones.
Apuntando con la escopeta: un abanico de perdigones.
2
Sube por la escalinata (por un lado, que por el centro está el túnel) hasta el templo de la cima y coge el segundo ídolo... o déjalo para después: el orden da igual.
3
Empuja la piedra hasta la losa. Al abrirse la puerta, oirás dos rugidos desde dentro.
4
Entra con cuidado: los guardianes salen a tu encuentro por el pasillo. Dispara mientras retrocedes; con la escopeta, de cerca, caen antes. Si te muerden, la pantalla tiembla y la vida baja de 15 en 15.
Los guardianes, en el pasillo.
Los guardianes, en el pasillo.
5
Coge el ídolo del pedestal (y la bolsa de munición). Con dos ídolos, llega el poder: el mensaje, las partículas y un salto que sube casi 5 metros.
¡El poder de los ídolos!
¡El poder de los ídolos!
6
Vuelve al templo de la cima, salta del patio al muro, del muro al tejado y del tejado al oro: el tercer ídolo es tuyo.
La cumbre de la pirámide, con el tercer ídolo.
La cumbre de la pirámide, con el tercer ídolo.
7
Para bajar, mejor por donde subiste: si te tiras del tejado al patio del templo (4 metros, o 6 desde el oro), la caída te cuesta 20 de vida.
Una caída de más de 3,5 metros duele.
Una caída de más de 3,5 metros duele.

Si la vida llega a 0, la pantalla se funde en negro y la aventura vuelve a empezar.

Capítulo 19Y ahora, ¿qué?

¡Tienes tu propia aventura! Algunas ideas para seguir:

  • Un puzle de dos losas: dos piedras, dos losas y una variable que cuenta cuántas están pisadas; la puerta solo se abre con las dos.
  • Trampas: una losa escondida en el pasillo que, al pisarla la exploradora, hace caer un bloque o reinicia la escena.
  • Guardianes en la jungla: duplica un Guardián, ponlo entre los árboles y cámbiale la regla Despertar por una Distancia a la exploradora: patrulla dormido hasta que te acercas.
  • Otra arma: un arco con Lanzar (proyectil) a menos velocidad y un prefab de flecha que haga más daño, o granadas con un RigidBody3D, que caen con la gravedad.
  • Puntos: una variable global que suba con cada guardián derrotado y se muestre en la pantalla.
  • Construye: un puente de tablones sobre una charca, una cabaña en un árbol... con la paleta y Sobre los bloques.
  • Otra jungla: Formas > Generar jungla con otra semilla o más grande (sin marcar la pirámide, si ya has colocado tus cosas).
Consejo: en Ver como código (en las reglas), BreynFlow te enseña cómo serían en C#: la cámara en tercera persona, empujar bloques, la losa de presión, el lanzamiento de balas con su reserva (pool) y la altura de las caídas, por dentro.

← Todos los tutoriales