Mi shooter 3D (en el móvil)
Capítulo 1Base Infernal
En este tutorial vas a hacer un shooter en primera persona al estilo de los clásicos de los 90, como Doom: pasillos de una base, demonios que te persiguen, una pistola, botiquines, munición, una llave roja y una puerta que solo se abre con ella. Sin escribir ni una línea de código, y todo desde el móvil.

Por el camino aprenderás:
- Formas: construir el nivel dentro del propio editor, con suelos, paredes, escaleras y texturas, y abrir puertas en las paredes.
- Luces: dar ambiente con luces de colores.
- Objetos de juego 3D: el jugador en primera persona, los enemigos y los objetos para recoger, listos para usar.
- BreynFlow en 3D: moverse, mirar, disparar, perseguir, morder, recoger y abrir puertas.
- Controles táctiles: un joystick para andar y un botón para disparar, y el dedo para mirar.
Es la versión del tutorial para la interfaz táctil del editor, con capturas del móvil. Si aún no conoces las pestañas de abajo (Escena, Vista, Inspector, Proyecto, Más), la barra de entornos y los gestos, mira el capítulo El editor en el móvil de Mi primer juego: ahí se explica también cómo funcionan las reglas de BreynFlow. Aquí iremos un poco más rápido.
Capítulo 2El proyecto
El editor se abre en la vista 3D con la escena main: un cielo, una luz (el sol), una cámara y un plano.
Vamos a hacer el nivel con formas, y el jugador traerá su propia cámara, así que borra lo que sobra: en la pestaña Escena, mantén el dedo sobre Main Camera y elige Borrar. Haz lo mismo con Plane.
Los dibujos y los sonidos
Para no tener que dibujarlo todo, este tutorial trae los dibujos y los sonidos del juego. Con tu proyecto abierto, toca ☰ > Ayuda > Tutoriales > Mi shooter 3D (tutorial) y elige Copiar y abrir: BreynGINE los copia al proyecto y vuelve a abrir esta página. (También puedes descargarlos aquí (descargar el ZIP).)
En la pestaña Proyecto aparecen dos carpetas: sprites (el demonio, el arma, el fogonazo, el botiquín, la munición y la llave) y sonidos (el disparo, el dolor, la muerte, el golpe, recoger y la puerta).
Capítulo 3Moverse por el mundo 3D
En la pestaña Vista, con la vista 3D:
- Un dedo toca para seleccionar y arrastra las flechas de colores para mover lo seleccionado.
- Dos dedos: pellizca para acercarte o alejarte, y arrastra para girar la cámara alrededor.
- El cubo de ejes de arriba a la derecha (X, Y, Z) pone la cámara mirando de frente, desde arriba o de lado con un toque. Desde arriba (Y) es como mejor se ve el plano del nivel.
- ⋮ Perspectiva > Foco en Selección lleva la cámara hasta el objeto seleccionado.

Capítulo 4El suelo
El nivel tendrá tres salas en fila: la de inicio, la de los demonios y la sala final, con la salida. Mide 12 metros de ancho y 30 de largo.
Arriba de la vista 3D está el botón Formas. Tócalo:


Las texturas se miden en metros: por mucho que estires una forma, nunca se deforman, y siguen de una forma a la de al lado. La primera vez que usas una, se copia a la carpeta textures del proyecto.
Capítulo 5Las paredes
- Pared norte: z = -24.
- Pared centro: z = -6 (separa la primera sala de la segunda).
- Pared de la puerta: z = -18 (separa la segunda sala de la final).

Capítulo 6Puertas en las paredes
Ahora no se puede pasar de una sala a otra. Vamos a abrir un hueco en las dos paredes del centro, con la herramienta Hacer un hueco: una forma «muerde» a otra.


El Hueco ahora está dentro de la Pared centro: si lo mueves, el hueco se mueve. Haz lo mismo con la Pared de la puerta: otro cubo, Hueco puerta, igual pero en z = -18.
Capítulo 7Techo, escaleras y una plataforma
El techo: Formas > Suelo, llamado Techo, con Size 12, 0.2, 30, Position 0, 3.1, -9 y la textura Techo. Ya no se ve el interior desde arriba: toca el ojo del Techo en la Jerarquía para esconderlo mientras construyes (y vuelve a mostrarlo al terminar).
Las escaleras: en la segunda sala, unas escaleras suben a una plataforma donde estará la llave.

Capítulo 8Las luces
Con el techo puesto, dentro está oscuro: el sol no entra. Mejor: así damos ambiente con luces.

Capítulo 9El jugador

Trae su cuerpo, su colisión con forma de cápsula y una Cámara a la altura de los ojos: lo que ve el jugador. Ya está en el grupo player.
- CUANDO: Cada fotograma.
- HAZ: Mover con los controles. Toca plataformas y, en la ficha, elige el estilo primera persona y Velocidad 5 (en 3D se mide en metros por segundo).

Los controles táctiles
En el móvil no hay ratón ni teclado: hacen falta un joystick para andar y un botón para disparar. Con el Jugador seleccionado, crea otra regla:
- Controles táctiles. CUANDO: Empieza la escena. HAZ: Controles táctiles (escribe tactil en el buscador).
La acción viene como «mostrar los controles táctiles (joystick sí, botones A = ui_accept)». Toca A = ui_accept y, en la ficha, toca Botones. Escribe Disparar en Nueva Clave y mouse_left en Nuevo Valor (el clic izquierdo del ratón, con el que se dispara en el ordenador), toca Agregar Par Clave/Valor y borra la A con su papelera.

Así se juega en el móvil:
- El joystick, a la izquierda: aparece donde apoyas el pulgar y te mueve como WASD: hacia delante, hacia atrás y de lado.
- Un dedo en cualquier otro sitio de la pantalla mira: arrástralo para girar la vista, como el ratón en el ordenador.
- Disparar, abajo a la derecha. Todavía no hace nada: la regla de disparar viene enseguida.
¡A probarlo!
Guarda (💾) y toca ▶. Camina con el joystick y mira con el otro pulgar. Pasa por las puertas y sube a la plataforma. Para parar, toca ■.

Capítulo 10La pantalla del jugador
Ahora, lo que se ve encima del juego: el arma, la mira, la salud y las balas. Antes, dos ajustes para que se vea bien en cualquier pantalla. Abre ☰ > Proyecto > Configuración del Proyecto:
- Escribe stretch en el buscador, toca Ventana y pon Estirar > Modo en canvas_items: la pantalla del jugador crece con la ventana.
- Escribe filtro de textura, toca Texturas (en Renderizado) y pon Filtro de Textura Predeterminado en Nearest: los píxeles se ven nítidos.
Ve a la vista 2D (en la barra de entornos): ahí se coloca la pantalla del jugador. El rectángulo azul es la pantalla, de 1152 × 648.

Capítulo 11Disparar
Las balas y la salud son variables globales: las usan el jugador, los enemigos y los objetos. Añade BreynFlow al texto Salud con estas reglas:
- Empezar. CUANDO: Empieza la escena. HAZ: Cambiar variable salud (global): poner a 100; balas (global): poner a 20; llave (global): poner a 0.
- Mostrar la salud. CUANDO: Cambia una variable: salud (global). HAZ: Cambiar texto de este objeto a SALUD: {salud}.
- Mostrar las balas. CUANDO: Cambia una variable: balas (global). HAZ: Cambiar texto del texto Balas a BALAS: {balas}.
Ahora, en el Jugador, una regla nueva, Disparar:
- CUANDO: Tecla o botón. Toca ui_accept y elige mouse_left: el botón Disparar en el móvil, y el clic izquierdo en el ordenador.
- SI: Comparar variable balas (global) mayor que 0.
- HAZ: Disparar. En la ficha, cambia health por vida: el disparo quitará 25 a la variable «vida» de lo que alcance.
- HAZ: Cambiar variable balas (global): restar 1.
- HAZ: Reproducir sonido sonidos/disparo.wav (flechita del campo > Carga Rápida... > disparo).
- HAZ: Mostrar u ocultar: mostrar el Fogonazo; Esperar 0.05 s; ocultar el Fogonazo.

Pruébalo: cada toque de Disparar suena, sale el fogonazo y baja el contador de balas. Con 0 balas, ya no dispara. El disparo va a donde apunta la mira, el centro de la pantalla: apunta girando la vista con el dedo.
Capítulo 12El demonio

- Empezar. CUANDO: Empieza la escena. HAZ: Cambiar variable vida (del objeto: cada demonio tiene la suya): poner a 50. Dos disparos y cae.
- Perseguir. CUANDO: Cada fotograma. SI: Distancia de este objeto al Jugador menor que 12. HAZ: Mover hacia (seguir) el Jugador, velocidad 2.5, distancia de parada 1.2. En 3D camina por el suelo y no atraviesa las paredes.
- Morder. CUANDO: Pasa el tiempo: cada 1 s. SI: Distancia al Jugador menor que 1.8. HAZ: salud (global): restar 10; Reproducir sonido herido.wav; mostrar el panel Daño, esperar 0.15 s y ocultarlo.
Capítulo 13Herido y derrotado
Cuando un disparo alcanza al demonio, le quita 25 de su «vida» y le manda el mensaje hit. Dos reglas más para el Demonio:
- Herido. CUANDO: Llega un mensaje: hit. HAZ: Reproducir sonido dolor.wav; Cambiar propiedad modulate del Dibujo a #ff5050 (rojo); esperar 0.12 s; modulate a white.
- Derrotado. CUANDO: Cambia una variable: vida (del objeto). SI: vida (del objeto) menor o igual que 0. HAZ: Reproducir sonido muerte.wav; Destruir este objeto.

Ahora, una horda: mantén el dedo sobre el Demonio y elige Duplicar, dos veces. Pon una copia en 3, 0, -15 y otra en la sala final, en 2.5, 0, -20.5. Las copias comparten las reglas, pero cada una tiene su propia vida.

Capítulo 14Botiquines y munición

Capítulo 15La llave roja y la puerta
La llave: otro objeto para recoger, Llave, sobre la plataforma: 4.25, 1.5, -13, con sprites/llave.png. Su regla: CUANDO: Choque con player. HAZ: llave (global): poner a 1; Mostrar mensaje «¡Tienes la llave roja!» durante 2 s; sonido recoger.wav; Destruir.
La puerta: toca Main y Formas > Cubo, llamado Puerta, con Size 2.4, 2.8, 0.3 y Position 0, 1.3, -18: tapa el hueco de la Pared de la puerta. En Aspecto, la textura Puerta metálica (sale una vez por cara). Añádele BreynFlow:
- Empezar. CUANDO: Empieza la escena. HAZ: abierta (del objeto): poner a 0.
- Abrir. CUANDO: Cada fotograma. SI: Distancia de este objeto al Jugador menor que 3; llave (global) igual a 1; abierta (del objeto) igual a 0. HAZ: abierta: poner a 1; sonido puerta.wav; Mover a: este objeto, desplazando (0, 2.8, 0) en 1 s. Sube y deja pasar.
- Cerrada. CUANDO: Pasa el tiempo: cada 2 s. SI: Distancia al Jugador menor que 3; llave (global) igual a 0. HAZ: Mostrar mensaje «Necesitas la llave roja» durante 1.5 s.
Capítulo 16La salida y la derrota
La salida: Formas > Cilindro, llamado Salida, en la sala final: Radius 1, Height 0.1 y Position 0, 0.05, -22.5, con un color verde en Aspecto. Añádele BreynFlow:
- Ganar. CUANDO: Cada fotograma. SI: Distancia de este objeto al Jugador menor que 1.2; ganado (del objeto) distinto de 1. HAZ: ganado: poner a 1; Mostrar mensaje «¡NIVEL COMPLETADO!» durante 3 s; Esperar 3 s; Reiniciar la escena.
La derrota: en el texto Salud, una última regla:
- Morir. CUANDO: Cambia una variable: salud (global). SI: salud (global) menor o igual que 0. HAZ: Activar o desactivar: desactivar al Jugador; Mostrar mensaje «¡HAS MUERTO!» durante 2 s; Esperar 2 s; Reiniciar la escena.

Capítulo 17¡A jugar!
Muestra el Techo (el ojo de la Jerarquía), guarda (💾) y toca ▶.

Cuando pares el juego, mira la vista BreynFlow: cada regla cuenta cuántas veces se ha ejecutado. Si algo no funciona, ahí se ve qué condición no se cumple.
Capítulo 18Y ahora, ¿qué?
¡Tienes tu propio shooter! Algunas ideas para seguir:
- Más niveles: crea otra escena con otras formas y, al ganar, usa Cambiar de escena en vez de reiniciar.
- Lava: un suelo con la textura Lava y una regla «Cada fotograma, si la distancia al Jugador es menor que 2: salud restar 1».
- Más armas: otro botón táctil, Fuerte = mouse_right, y una regla con «Tecla o botón» mouse_right para un disparo más fuerte que gasta más balas.
- Música: una regla «Empieza la escena» con Reproducir música.
- Tus dibujos: abre los sprites en la vista Sprites y hazlos tuyos, o dibuja otros enemigos.
- Convertir en malla: cuando el nivel esté terminado, Formas > Convertir en malla lo hace más ligero para el móvil.
