Bueno. Mi primer videojuego multijugador desarrollado en “Makecode Arcade”. Un desafío interesante en donde, para que todo salga bien, tuve que convertir a los personajes en “comida” durante algunos milisegundos. Sí. Cómo leyeron. A mis estudiantes también les pareció loco, pero funcionó. Más adelante verán y entenderán el porqué de este trucazo. De momento, dejemos correr la intriga.
“1 vs 1” es un simple juego multijugador en donde dos personajes deben lanzarse “piedritas” entre sí, hasta que uno de los dos… ¡Chau! ¡Kaput! Y es haciendo uso de diferentes categorías de objetos, la extensión “multiplayer” y algunos truquitos más; que hacemos que todo funcione correctamente. Vamos a verlo.
El player 1 se mueve con las teclas “WASD” y dispara con el espacio, mientras que el player 2 se mueve con las teclas “IJKL” y dispara con el enter.
Link ACÁ (Botones de "Show Code" y "Edit Code" disponibles).
Si chusmearon el código, verán que es un juego relativamente simple. Pusimos una imagen de fondo, dos personajes, sus posiciones iniciales dentro del mapa, controles para cada uno (teclas de movimiento, botones de disparo, etc) y eventos disparadores para que cada vez que un jugador sea impactado por una piedrita se vaya a “dormir”. Lo raro está en cambiar la categoría de los objetos “player” a “comida” cada vez que éstos disparan. Veamos por qué hice esto. Presten atención a estos bloques:
Dicho en criollo, si al jugador 1 le impacta una piedrita; habrá ganado el jugador 2. Caso contrario, el ganador será el jugador 1. El problema está en que las piedritas salen desde "dentro" del cuerpo de los personajes a la hora de ser disparadas. Por ende, durante la salida de las piedras; éstas tocan el cuerpo de los personajes "auto-exterminándolos". Así, si convertimos a los personajes en un objeto que no sea de tipo jugador (ej. comida) sólo durante la salida de la piedra; el proyectil saldrá perfecto sin dañarlos (dado que no está tocando a ningún objeto de tipo "player") y quedará a la espera de impactar con el verdadero enemigo (que, a no ser que justo esté tocando el botón de disparo en ese preciso instante, tendrá la categoría de "player" y será eliminado con normalidad).
¿Se entendió el "truquito mágico"? Fue muy divertido encontrarle la vuelta. Sin embargo, acepto variaciones menos enredadas si las hay. Podría ser que me esté perdiendo de algún dato o instrucción importante.
Como siempre, profes queridos, espero que les haya gustado la actividad. Hoy es 17 de septiembre así que, desde acá, aprovecho para desearles un muy feliz día.
Saludos gigantes.
~ Marcos.
Comments