Hace algunos ayeres…
Segunda mitad del 2008. Me encontraba cursando el último semestre de mi carrera. En la materia Gráficos por Computadora tuvimos la oportunidad de experimentar un poco con las «primitivas geométricas», formas llamadas así por su constitución básica: cuadrado, triángulo, círculo. Combinando estas figuras es posible crear todas las demás. Utilizamos la (ahora descontinuada) tecnología de Java Applets para crear y desplegar dichas formas, así como métodos básicos de interacción con dispositivos de entrada (en este caso, el mouse y el teclado) para manipularlas.
Java, simplemente se niega a morir
Básicamente, utilizabamos la librería AWT (Abstract Window Toolkit) en conjunto con la clase Graphics (la encargada de dibujar las formas en la pantalla) y las interfaces MouseListener y KeyListener (las encargadas de «escuchar» al mouse y al teclado) para crear aplicaciones interactivas sencillas, por ejemplo, crear un cuadrado y, al mover el cursor del mouse sobre él, este cambiaba de color. El método paint() perteneciente a la clase Graphics es el encargado de «redibujar» los elementos en la pantalla cada vez que es invocado. Para una de las evaluaciones parciales, teníamos que programar una aplicación sencilla ocupando las herramientas que habíamos visto hasta ese momento. Fué así que nació el proyecto Kamikaze.
Honor a quien honor merece
El objetivo del juego es sencillo: destruir la mayor cantidad de portaviones posibles. Para lograrlo, controlas un avión kamikaze con el mouse (el avión sigue el movimiento del cursor) desde el extremo izquierdo de la pantalla hasta el extremo derecho, esquivando obstáculos estáticos (rectangulos color negro de diferentes dimensiones, los cuales son generados de manera aleatoria por cada nivel) en el camino. Al llegar al extremo derecho, debes tocar con tu avión cualquiera de los cinco objetivos, cuadrados de color amarillo o rojo, para pasar al siguiente nivel. Si tu avión toca cualquier superficie que no sean los objetivos, o se sale de la pantalla, pierdes una vida (y 1000 puntos).
Suena sencillo, ¿no?
Para ayudarte en tu misión, puedes hacer uso de misiles, los cuales disparas dejando presionado el botón izquierdo del mouse y controlas con el movimiento del cursor (mientras tu avión te espera en el punto que lo dejaste antes de usar el misil). Los misiles son mucho más pequeños que el avión, por lo que es posible pasar por espacios más reducidos. Puedes usar los misiles para destruir obstáculos o incluso cualquiera de los objetivos (aunque por una puntuación menor).
Es posible reiniciar el nivel y cargar una nueva configuración de obstáculos con un simple clic del mouse, pero te costará 500 puntos (en el caso de que aún no hayas comenzado a mover tu avión) o 500 puntos y una vida (en el caso de que ya hayas comenzado). Si pierdes tres vidas, el juego termina, mostrándote tu puntuación final así como la puntación mayor que has alcanzado. Si tu puntuación final supera tu puntuación mayor, tienes la opción de ingresar tu nombre y registrarla para reemplazar la puntuación mayor anterior. En el siguiente video se muestra un poco el funcionamiento del juego:
Un mes y medio después…
Se acercaba la evaluación final de la materia y nuevamente nos fue asignada la tarea de programar una aplicación, esta vez implementando el despliegue de primitivas geométricas, interacción con el mouse y el teclado y un timer (un contador que realiza una acción determinada n veces por segundo). En esta ocasión, el timer era la nueva herramienta más interesante. Para aprovecharla, se me ocurrió crear una especie de «secuela espiritual» para mi proyecto Kamikaze, la cual llame «Flai Cimuleitor» (sí, escrito así).
No me arrepiento de nada
¿En qué consiste? Básicamente te encuentras de nuevo controlando un avión, solo que ahora desde la persperctiva del piloto. Puedes controlar la dirección y altitud con el teclado y una mira con el mouse. El objetivo del juego es navegar los aires en busca de aviones enemigos, ayudándote de tu radar localizado en la parte inferior central. Una vez que te encuentres de frente con uno, puedes dispararle, haciendo clic con el botón izquierdo mientras posicionas la mira sobre él. Una vez que eliminas a todos los enemigos (antes de que se te terminen las balas), has ganado.
Sí, tu enemigo es ese objeto negro con un rectángulo azul enfrente de tí
El timer en este juego se aplicó de dos formas principalmente: para el movimiento de las nubes y para el movimiento de los aviones enemigos en el radar. Por ejemplo, en el caso de las nubes, son un grupo de cinco óvalos y cada óvalo tiene posiciones predefinidas en relación a los otros cuatro óvalos de su grupo, pero cada grupo es posicionado aleatoriamente. El timer va modificando sus atributos de posición y tamaño conforme va corriendo, creando el efecto de que las nubes se acercan cada vez más a la pantalla. Cuando uno presiona una de las teclas de dirección, también se modifican las posiciones de las nubes, los aviones enemigos y el horizonte, creando el efecto de que uno está cambiando de posición en el espacio.
Este juego fue creado en tan solo tres días antes de la fecha de entrega para la evaluación, por lo que carece de un final apropiado: una vez que se destruyen todos los enemigos… nada sucede. Está entre mis planes incorporar más elementos, como diferentes altitudes para cada avión enemigo y un sentido de progresión más definido, con diferentes niveles. Por lo pronto, les dejo este video para que puedan apreciar lo que ofrece el juego por ahora:
¿Deseas probarlos?
Debido a que el plug-in de Java ya no es soportado por los exploradores de internet actuales (Chrome / Firefox / Edge), la única forma de poder probar estos juegos es utilizando Internet Explorer (vaya, ¡aún es útil para algo!). El procedimiento es el siguiente:
- Utilizando IE, descarga el plug-in de Java desde su sitio oficial e instálalo.
- Una vez instalado Java, es necesario crear una excepción de seguridad para permitir que los applets corran en tu explorador. Para esto, ve a Panel de Control > Java (32 bits). Una vez ahí, ve a la pestaña de Seguridad y da clic en el botón «Editar lista de sitios…». Se abrirá una nueva ventana, da clic en el botón «Agregar» y en la nueva fila escribe «https://www.newtmagica.com» (sin comillas, no olvides la ‘s’ al final de http). Da clic en Aceptar y nuevamente Aceptar.
- ¡Listo! Solo reinicia IE y da clic en los enlaces de abajo. Aparecerá el logo de Java con una barra de progreso. El juego iniciará después de unos segundos. Si te aparece alguna advertencia de seguridad, da clic en «Permitir» o «Ejecutar».
NOTA: Asegúrate que el zoom de tu explorador esté en 100%. Es recomendable que tu monitor tenga una resolución alta para que el juego entre en la ventana de tu explorador. Si tienes la mayor resolución que te permite y aun así no entra, puedes intentar jugar en modo pantalla completa presionando F11 dentro de IE.