Ahora que ya no hay enemigos, nuestro manager va a tener trabajo porque cada vez que me quedo sin enemigos
en pantalla es el momento perfecto para generar una nueva oleada.
Cómo sabemos cuántos enemigos quedan?
Pues lo que voy a tener que hacer es buscarlos.
La ventaja de utilizar Unity, ya lo dije, es que tenéis muchas funciones que hacen la parte pesada
por vosotros.
Una de ellas es localizar objetos por nombre, por categoría, scrip, por etiqueta, por lo que sea.
Entonces nuestro manager que está por aquí no tiene Android porque me lo debí cargar en su día.
Voy a colocar un Android y el Android.
Lo que va a hacer va a ser lo siguiente voy a ayudarle a este Andreita que lleve tracking de cuántos
enemigos le quedan del siguiente modo Vamos a hacer aquí una variable arriba del todo.
Le voy a hacer pública para que veáis que va decreciendo en el editor, no porque me haga falta que
sea pública.
Public
Enemy Count Que será eso?
Enemy Count Cuántos enemigos quedan?
El conteo de enemigos dentro del aday a cada frame, aunque sea un proceso pesado, es necesario saber
cuántos enemigos quedan.
Entonces, en mi caso voy a tener que utilizar la clase monje de nuevo en mayúsculas.
Y ahora hay dos métodos que podemos utilizar.
Uno es Find Dodge o si tenéis un scrip que identifique de forma única a los enemigos y la otra es Finja
Objects with Tank.
Los enemigos están tan guiados, tienen una etiqueta si no etiqueta enemigos y los enemigos tienen un
script llamado enemy también.
Por tanto, cuál elegís?
El que os dé la gana?
Si hacéis Find Objects?
Optics entre diamantes colocados Enemy.
Esto nos va a devolver un rey como rey porque está muy plural.
Ahora es una rey.
Cuidado con el singular y el plural.
Si le pedí Find Object Singular, os devolverá al primero que encuentre por ahí perdido por la escena.
Si le pedís Find Objects of their enemy, el objects en plural os devolverá una una colección de todos
los que quedan en escena, en particular de la colección que me interesa.
Me interesa todo el array, me interesa sólo la longitud de la raíz.
Cuántos quedan entonces?
Punto.
Laing y así.
Enemy Count es exactamente cuántos enemigos quedan por ahí en pantalla?
Si.
Y ahora la condición es muy fácil.
Dentro de las 20, si Enemy Count es igual a cero, si me quedo sin enemigos.
De momento vamos a hacerlo fácil.
A ver que funciona.
Aquí ya tenemos un método que es panea oleadas, como se llama Spawn Enemy Wait y este método que está
esperando un número entero como entrada, como argumento, como parámetro.
De momento voy a hacer un Enemy Wait 1 para ver qué funciona.
Le voy a spamear un enemigo cada vez que me quedo sin enemigos es Pawnee uno nuevo y luego vamos a vamos
a usar las oleadas.
Entonces vamos a ver que esto funciona guardad.
Fijaros que es muy facil el código de códigos protocolos en el.
Cuantos enemigos quedan si no hay enemigos o enemigos?
Asi de facil.
Si el enemigo tuviera una animación de entrada tuviera un sistema de partículas que se activara estilo
bomba o demas, podríais hacer que tuvieran más gracia todavía.
Entonces venimos aquí.
El fuego que hicisteis podría hacer que aparecieran entre llamas sudor y sufrimiento, sangre, sudor
y lágrimas.
Entonces vamos a ver si me puedo cargar a estos tres.
Si vamos a probar aquí, vamos a ir echando estas cosas, es que las puedo echar.
Los dos echados.
Y el tercero a ver si lo consigo hecha vete, vete, toma.
He echado.
Ves que me ha aparecido uno nuevo.
Le hago una finta para que se caiga el telón.
Vale.
Y en teoría van a ir a la que van muriendo.
Ves que aparece cada vez uno nuevo?
Vale, constantemente.
Vale, entonces ahora constantemente vamos a tener enemigos, apareciendo, apareciendo, apareciendo,
apareciendo.
Lo que pasa que claro, si las oleadas son de un enemigo un poco cutre el juego no?
Así que lo que vamos a hacer es dinamizarlo con una variable para ello es muy fácil aquí arriba del
todo, a la par que tenemos el Public Enemy Count, tendremos el Public Enemy Huay oleada número de
oleada y lo que voy a hacer es lo siguiente.
Enemy Way empezará siendo uno.
Y voy a hacer tres cambios.
Tenéis la variable de mi cambié número uno en el estar, en lugar de empezar con tres enemigos.
Le pasáis Enemy por parametro.
Paso número 2 en el Android.
Cuando el número de enemigos llega a ser cero.
Enemy Wait más más para que haya un enemigo más bueno.
Una oleada más que antes.
Sí, y aquí le chutado un 1.
Enemy Wait vale, ya.
Si ya tenéis el número de oleadas, fijaros que de nuevo el más más super útiles para incrementar el
1, para subir en 1, para subir el 1 para subir en 1 constantemente.
Entonces guardamos, venimos aquí y a ver cuántos somos capaces de sobrevivir sin laborados.
Aquí hay un enemigo que viene a por mí.
Vamos a hacer que coja fuerza y que se caiga.
Ahora deberían aparecer dos Calleros, melones 20 aquí a la que cogen fuerza.
Como no tienen Draco, tienen poco que es fácil hacer que se caigan ahora.
Y 3 ya creo que van a empezar a coger para.
Vale cojemos, el pavo era venir ahora a caer.
Yo
no he tirado ni uno.
Qué malos hay en este juego, por Dios!
Mejor me dedico a hacer hamburguesas.
Por Dios, hoy que me tiran hay que me tiran.
Mentira.
Vale.
Y ahora aparecen cuatro.
Lo podría haber probado que más rápido.
Yo ya me tirao y ahora vienen a por mí, que ya me he tirado y sigo cayendo.
Después de cuatro vienen cinco veces que se van incrementando las oleadas.
Vale, entonces ahora ya tenemos oleadas constantemente que aparecen de enemigos para que vayan haciendo
el juego más y más y más y más y más difícil.
Pasa que llega un momento, que esto se complica bastante.
Se complica porque el número de enemigos crece bastante rápido, pero me quedo sin armas, me quedo
sin palabras.
Vale entonces en este caso para los parados, del mismo modo que instancias los enemigos podemos instancia
harpa hogueras constantemente y tras cada oleada.
El problema está claro como el power se recoge, se usa y se destruye a la siguiente oleada.
Mi jugador está totalmente en bolas, nunca mejor dicho vale.
Necesitamos escanear un pavo erat al menos uno en la posición aleatoria cada vez que iniciemos una nueva
oleada.
Ojo, voy a escanear solo uno.
Es decir, va a haber muchos enemigos, pero sólo un pavura por ronda.
Vale, lo voy a hacer para incrementar la dificultad.
Si yo colocara tantos enemigos como grabs, fijaros que la dificultad siempre sería balanceada.
De hecho, si me apuráis, los enemigos, todos vienen a por mí.
Al tener tantos power ups como enemigos, un mismo povera me serviría para cargarme 4 o 5 enemigos.
Otro para 4 o 5 enemigos sería un juego que cuanto más jugáis, más fáciles.
Y esto iría en contra del principio básico de que invisalign, que es la llamada flows, que creo que
ya os la he enseñado.
La flows son line se utiliza para balancear habilidades del jugador con dificultad del videojuego,
de modo que si el jugador tiene muchas habilidades y la dificultad del juego es muy baja, llega a la
zona de aburrimiento, de rutina, a perder el interés y a dejar el juego.
Si la tarea es demasiado difícil con un jugador que es muy manco, vale que no tiene ni puñetera idea
de jugar como yo.
Por ejemplo, es la zona de la frustración, la zona de la ansiedad, del miedo a fallar y, por tanto,
de dejar el juego.
Pero en el otro extremo, entre el aburrimiento y la frustración, está la zona de Flow, la zona de
flujo que balancea habilidades contra dificultad de la tarea.
Y, aunque no lo creas, todos los juegos hacer esto todos sin excepción.
A lo mejor algunos empiezan de forma más difícil, otros de forma más fácil.
Dark Souls ya empezaría en una zona un poco más para acá.
Candy Crash empiezan todo lo contrario.
Empieza un reto muy fácil porque Move es un caramelo y ya explota todo.
Felicidades, enhorabuena.
La hostia en verso.
Pero todos los juegos necesitan balancear y canalizar esto, porque cuanto más crece el jugador, cuanto
mejor es su habilidad en el juego, más a la par tiene que estar el reto para mantenerlo en la zona
intermedia.
Entonces, si nosotros siempre tuviéramos un enemigo contra un pavo, era al final como el power up.
Podría ser que destruye las dos enemigos 3 enemigos, 5 enemigos.
De golpe estaríamos en esta zona de aquí abajo porque tendríamos demasiados power ups para una tarea
de echar, aunque sean a muchos enemigos, lo contrario.
Ahora mismo estoy aquí, estoy aquí porque tengo un povera, vale, y me van apareciendo más enemigos,
más enemigos, más enemigos, más enemigos.
Por tanto, estoy aquí.
Si yo balanceó el pavo era versus el enemigo.
Fijaros que mi juego lo que hace es con un pavo dorado.
Tú te lo distribuye a Espara.
Va un poquito más, un poquito más, un poquito más, un poquito más, cada vez más arriba, más arriba,
en dificultad.
Y el propio jugador, a base de jugar, va aprendiendo a gestionar ese pavura de diferentes formas.
Por tanto, fijaros que lo que yo hago es mantener al jugador siempre en la zona de flow.
De hecho que había una imagen que me gustaba en la zona de Flow ponían a un surfero, que entonces era
como surfear la ola.
Me han jodido.
El invento no está, pero bueno, la idea es está.
A nivel psicológico, esto a veces se expande, que quiere decir, se expande porque hay varias entre
el aburrimiento y la ansiedad.
Hay varias por aquí, vale.
Hecho esto, no es algo que me inventé yo.
O sea, esto es algo ampliamente estudiado en el mundo de la psicología.
Lo que pasa en el mundo de los videojuegos todavía está mucho más claro, porque es una aplicación directa,
directa.
Así que, en nuestro caso, el propio ayer, además de escanear enemigos, como lleva haciendo desde
hace un buen rato, va a escanear Powerhouse.
Y para ello vamos a hacer el mismo flujo que hemos estado haciendo todo este rato variable a escanear,
publica.
Game Mob Geek Fabara Privat El pavo que vais a instancias.
Si queréis el primero para que esté justo en el centro, el primero no hace falta, lo llamais en el
START porque total como se espania al inicio, o sea como está puesto en medio al inicio, en la primera
sesión, en la primera oleada ya hay un pavo.
Era entonces lo que voy a hacer es solamente dentro del Abbey en Hemingway, C++, Spawn, Enemy, Wait
y además instancia o era fav este que acabáis de añadir conmigo en la linea quince coma en una posición
aleatoria y si tuviéramos un método que generara una posición aleatoria os a lo tenemos y tecpán positivo.
Por eso creo un método, porque ya sabía que me iba a hacer falta y con la propia rotación que tenga
el propio pafuera.
Por tanto, Povera Punto, Transform, Punto Rotation y hasta vale.
Con esta línea de código que ya empezamos a conocer porque la distancia la hemos usado bastante, podréis
generar oleadas cada vez que os haga falta.
Fijaros que aquí mi concepto de oleada es en base a pasarme la oleada previa.
Podríais hacerlo en base al tiempo, usando una rutina, palmear un enemigo cada cinco segundos, independientemente
de que se haya cargado el otro.
Entonces lo que haría sería jugar un poco por el factor tiempo para medir la frustración.
Vale para intentar que cada vez haya más, que cada vez haya más, que cada vez haya más, que cada
vez haya más.
Que suele ser el caso típico de los juegos de batalla a muerte.
Que cada vez hay más cosas hasta que acabas muriendo.
Sin embargo, en este caso iremos por oleadas.
La primera oleada un enemigo up.
Dos enemigos, tres enemigos a la que lleveis 27 27 enemigos puedan haber aquí hecho uno.
Si queréis hacer.
Varios.
Una forma sería, pues lo dejo de deberes, vale.
Sería crear aquí Nãmeros favorables.
Imaginad que queréis generar cero, uno o dos parados aleatorio random range, por ejemplo, entre cero
para dar por culo, que a veces nos ponen 3 entre 0 y 3.
Recordad que será 0, 1 o 2.
Entonces, si lo haceis así, basta que hagáis lo siguiente Fortinet igual a cero y menor que Nãmeros,
poblados y más y haceis la línea del instante.
Así, cada vez que hagáis una ronda, el número de power up será diferente entre cero, uno o dos.
Vale, vamos a ver este, ya os digo que en este caso no soy muy fan de hacerlo así, porque si lo dejáis
de la mano de Dios lo dejáis aquí, que dependa del azar.
Podría ser que durante tres rondas o Generarã.
Dos powerups cada ronda.
Luego, de repente no hubiera nada, no hubiera nada, no hubiera nada, no hubiera nada.
Y otra vez que jugara y podría ser que no hubiera nada, no hubiera nada, no hubiera nada y no llegaréis
nunca a la siguiente ronda.
Esto es el problema que tiene el azar.
Vamos a probarlo.
Recordad que ya os dije que el azar en general es la herramienta del cutre.
Vale, cuando no tenéis un 26 que sabe hacer las cosas, que sabe pensar, que sabe analizar esto.
Las curvas de flow son optics por aleatorio y cuantos enemigos va a haber?
Aleatorio, aleatorio?
Digo es la herramienta del mediocre o del cutre y lo llamo yo.
A ver, es útil, pero es útil cuando sabéis lo que estáis haciendo.
Vale, cuando no sabéis lo que estais haciendo.
Es aleatorio entre el resto.
Y esto es porque es.
Es cutre a nivel extremo.
Por eso muchas veces los grandes líderes hacen muchas simulaciones, antes hacen simulaciones y lo han
probado.
Entonces fijaros que la primera oleada sólo tengo un enemigo, el povera, que ya había en medio.
Al principio mi bola no sé si iba a echar a la otra o si me veo apurado y casi me he caído.
Fijaros, ahora no ha salido ningún povera.
Ya no, no ha salido ningún verano.
No he asignado el povera y el cutre es un manager que apesta en one mea culpa y arrastro del pobre a
Poison.
Qué cutre que soy!
Por Dios!
Le arrastró a beicon y ahora se.
A ver si conseguimos morir, si conseguimos no morir.
Caudete pelotilla de las narices, a ver que además no quiero coger el pavo, era para guardárselo,
para luego que sería la estrategia típica a la que te has hecho una o dos partidas.
Ya sabes que con una bola no cojo el pavo.
O sea, espérate pa guardárselo pa después.
Yo lo que haría como a nivel de estrategia.
Ha caído, snif, snif.
A ver si conseguimos que salgan los power ups, estos si no los voy a coger me voy a arriesgar.
Pank.
Vale, perfecto, entonces es la segunda ronda.
Mira, he tenido suerte, me han salido dos Biurrun.
Hoy apuesto que huelga no. Entonces, ahora que me han salido los dos favorables jóvenes para acá y
los hechos por allá, ya este no me ha dado tiempo a echarlo.
A ver si puedo todavía ahorrarme el segundo pago si no te.
El truco está en hacer que venga con velocidad y esquivar la bolita de las narices.
A ver si consigo que se caiga en saco fuera hecho al otro.
Toma, usted ha vuelto a tener suerte.
Me han salido dos.
UPS, otra vez me he caído.
Vale, pero ves que el número de parados cada vez es diferente.
Perfecto, pues podemos añadir un poquito de aleatoriedad.
Así, si queréis añadir aleatoriedad, si queréis que siempre haya un povera por ronda, por ronda,
por ronda, instantly.
Si quieres utilizar alguna otra regla cada 5 niveles le dais un povera más aplicate alguna fórmula matemática
redondea el cociente entre el número de ronda y el número de parados.
Bla, bla, bla, bla.
Y lo haceis así?
Vale.
Si quedaría una cosa que es cuando muere el player.
Qué hacemos con Employee?
De momento, como no hemos visto todavía cómo crear pantallas de mover y demás, vamos a hacer lo que
ya sabéis del juego anterior, es decir, sin manager.
Punto sin recarga es la escena actual.
Vale para detectar la muerte del player podéis utilizar la misma técnica.
Os acordáis que para la muerte del enemigo chequeados que la altura fuera más pequeña que menos 10 cm.
Pues en el player control haces lo mismo en el Android.
Lo único que tenéis que hacer es ir disputo transform punto positivo un punto y baja de menos.
10.
Si utilizamos la misma técnica podemos venir aquí y destroy.
El propio player si queréis o Yani destruye simplemente sin Mãnager.
Punto start que digo sin.
Y le paseis el nombre de la escena.
Cómo se llamaba fototipo IV hasta entonces la escena se recargará si en lugar de hacerlo por posición
por altura, lo queréis hacer por trigger.
Este es el ejemplo perfecto.
Os acordais que lo podéis hacer por Trigger?
Es super fácil porque mi propio, mi propio controller, ya tiene un trigger enter.
Es que aquí en el propio controller ya habíamos creado un triguera para coger el pago.
Pues aquí vamos a hacer lo mismo.
Si venís aquí, creáis un objeto vacío, lo colocas en el cero cero cero y le bajáis a la altura menos
10 para que se destruya igual que el otro.
Es tan simple como añadir componente Boggs colíder.
Entonces aquí tenéis el objeto.
El colíder diminuto visto desde arriba, lo podéis editar o lo voy a hacer aquí a mano.
El tamaño va a incrementarse?
Pues yo que sé, en 20 unidades en X no le bastan 50 unidades, en X ya le bastan 50 en Z.
Entonces fijaros que mi colíder ahora rodea toda la isla.
Lo veis?
Esto es la zona de muerte, la killo.
Si queréis estar seguros de que no sale disparado fuera del aquí.
Oye, metéis estoma.
Grandes y listos.
También ten cuidado porque si la colocá es muy abajo, muy abajo, muy abajo, muy abajo.
No está muy abajo, está correcta, pero si la colocarã es muy abajo, recordad que los objetos caen
por gravedad.
La gravedad acelera, los cuerpos cada vez caen más rápido si el tipo de cálculo fuera discreto.
Es decir, si vosotros en una posición estáis aquí por gravedad, en la siguiente estáis aquí de un
frame.
Al siguiente podría ser que os alvares los típicos frames de invulnerabilidad que suelen ocurrir en
los videojuegos.
Entonces, como esto no paga impuestos, le subís a la altura la anchura de esta cosa, que en lugar
de ser solo un metro sean 10 metros y lo bajáis un poco más listos.
Vale, lo bajáis al menos 20.
Y listos.
Entonces, si a esta cosa la llamo o la etiquetó como queráis, le voy a llamar como sólo hay quienes
son quienes son.
Si hubiera 20 jóvenes, etiquetarse lo de siempre.
Si yo la llamo quilón, ahora es tan fácil como en lugar de que la muerte va a ocurrir en el Android.
Pues no, no va a estar en el Android.
En el propio Triguera.
Lo único que hago es joder.
Punto G punto.
Nein.
Punto com per tu kil.
Si el otro objeto contra el cual comparó con perto truquillos a uno es igual a cero, es decir, el
otro objeto se llama quin son.
Lo que hacemos es recargar sin Mãnager.
Punto.
Si era prototipo 4 y ya está.
Así de fácil.
Vale, entonces aquí lo hemos hecho por objeto, por trigger.
Por cierto, que sea triguera, porque acabo de colocar una caja.
Y no le ha activado el Thrive.
Vale.
En particular esta técnica.
Si en lugar de colocar triggers para morir, colocar Strikers fuera del escenario para que os salve
del estilo que rebota y si podéis volver a medio, podríais darle otra oportunidad.
Entonces ahora este me tirará.
Yo voy a caer y ves que se reinicia la escena.
Habéis visto particular?
Fijaros a ver si consigo seleccionar al player.
Aquí está el player.
Fijaros en mi escena, me tira, me tira, caigo, caigo, caigo, resetean.
Lo veis?
Ya os digo que lo más normal sería colocar un menú con un botón de reset, pero como no vamos a ver
interfaces hasta el próximo videojuego, ahora el siguiente sí que será todo en base a interfases.
Esta es la forma sencilla de hacerlo.
Lo entendéis?
Pues si no me equivoco, hemos Cavaleiro.
Literalmente hemos acabado el juego.
Esto es todo lo que quería hacer, sobre todo quería mostrar el spawn indio, oleadas tanto de enemigos
como de pão traps.
Hemos visto un poquito más de aleatoriedad.
Habéis visto cómo incrementar, en qué oleadas nos encontramos y, sobre todo importante los bucles
For y Fortich que hemos estado utilizando constantemente.
El operador más más.
También han aparecido un montón, sobre todo en el spawn manager para incrementar la oleada y dentro
de los bucles for para añadir otro más, otro más, otro más, otro más, temas más.
Por cierto, no lo he dicho, pero también hay un menos, menos, menos, menos uno y el más, más sumando.
Hemos visto métodos personalizados.
Algunos devuelven nada.
La mayoría intenta que siempre devuelvan algo.
Hemos visto la documentación importante para poder documentar métodos y demás, y hemos sido capaces
de conseguir un gameplay diferente en base a coordenadas relativas a ese punto central, a ese focal
point que ha sido un poco la clave, el foco, el puente al final es el que dictamina el gameplay.
En este caso, si el focal point en lugar de estar en medio, lo colocas en una esquina.
El gameplay es absolutamente diferente y de hecho, más complicado.
La ventaja de estar en el centro es que, claro, como siempre Rotax en el centro, la zona de visión
es la misma.
Si Rother respecto a una esquina, pues lo que tenéis al otro lado es mucho más difícil de ver.
Lo veis?
Es mucho más difícil.
Y de hecho, si empezáis a mover el focal point.
Cada vez le cambies el sistema de referencia podría ser un pavo, era un pavo, era malo, de hecho
vale un povera terremoto, que el terremoto te cambia el focal point a una posición aleatoria durante
X tiempo lo podrías hacer?
Sería todavía más difícil.
Pero para que veáis diferentes gameplays, diferentes estrategias y ahora vais a tener que hacer el
reto vosotros, que ahora os contaré de que va.