Introducción
Karel Wars es un juego, donde tu haces un robot virtual, y debes hacer que con sus 4 guerreros capture la bandera de otros equipos.
El primer torneo de KarelWars se celebro en San Luis Potosi en el contexto de la Olimpada Mexicana de Informatica, donde ganó el equipo "Chuzpa Reloaded", recibiendo un reconocimiento y un libro de regalo a los programadores, pertenecientes a los estados "Estado de México" y "Distrito Federal".
En segundo lugar quedó "madrolos", el cual le ganaba en 4 de cada 10 juegos a chuzpa.
Despues del exito obtenido con KarelWars, la OMI ha organizado subtorneos virtuales desde su página web, en la cual cada quien sube sus guerreros y estos son probados en la sede del COMI (Comite de la OMI).
Funcionamiento
El programa KarelArena.exe llama a los guerreros como librerias de vinculos dinamicos (DLL).
Para cada evento, llama cierta función predefinida en cada DLL de cada jugador.
La API puede ser descargada aqui.
Aun cuando es completamente inseguro el uso de llamadas a funciones de DLL modificables por el usuario, y al no solicitar el código fuente, es inminente el secuestro de memoria y corromper el programa, el juego es bastante divertido, aunque les prometo que no voy a correr ningun DLL que me manden, se van a divertir.
El juego es de la siguiente manera:
Tienes una base en un lugar diferente cada vez que inicia el juego, tu recibes las posiciones de los robots enemigos y bases enemigas y la posición de los tuyos.
Las siguientes acciones estan disponibles:
- Avanza Norte
- Avanza Este
- Avanza Sur
- Avanza Oeste
- Ve Hacia el Norte
- Ve Hacia el Este
- Ve Hacia el Sur
- Ve Hacia el Oeste
- Dispara
- Explota
Las banderas enemigas son capturadas cuando pasas sobre ellas, y tu bandera es regresada a la base cuando pasas sobre ella. Sin embargo para poder capturarla o regresarla a la base debe estar en el piso, es decir, si otro robot la tiene debes matarlo primero.
Cuando disparas se le baja 1 punto de vida a los guerreros que esten en el eje y hacia la dirección hacia la que esta apuntando tu guerrero en ese momento.
Cuando explotas el robot desaparece y destruye lo que este en un radio de 3 cuadros hacia los 4 lados es decir, abarca 49 espacios.
CHEAT!
Si 2 (o mas) robots llegan a una base enemiga al mismo tiempo, los 4 obtendran la bandera y se tomara en cuenta como 2(o mas) banderas capturadas, este error ya fue corregido en la ultima version de KarelWars.
La tech!
La capacidad de hacer estrategias y tacticas son ilimitadas, aun cuando el equipo ganador (chuzpa) solo defenida la base disparando hubiera alguien o no, se han desarrollado robots capaces de ejecutar estrategias muy elaboradas y muy interesantes.
Un ejemplo es un robot que imita los movimientos de "jaque" en ajedrez con 2 Torres, un Caballo y una Dama.
Jaque-Match
2 robots van a la esquina inferior derecha, uno se coloca apuntando al Norte y otro al Oeste.
Ambos robots disparan 3 veces, y despues avanzan hacia el Oeste una casilla y hacia el Norte otra, respectivamente.
Una ves que llegan al limite de la "Arena" regresan y repiten la misma acción.
Otro de los robots se encargaba de ir a la posición de las banderas enemigas e ir por su bandera regresando por la zona asegurada por las torres, haciendo movimientos en forma de L para evadir cualquier tipo de disparo.
El ultimo robot, se queda en la base disparar a quien pueda, si roban la bandera explota, para evitar que se la lleven.
Otra de las tecnicas que se han usado es usando "guardaespaldas", funciona de esta manera:
Karel-Warros
Hay 3 modalidades de robot.
1.- Defensor
2.- Atacante
3.- Escolta
El robot 1 se queda en la base y su escolta (robot 2) en el mismo lugar pero apuntando hacia el lado opuesto, este robot 1 espera a poder disparar y si alguien dispara al robot 1, el robot 2 persigue al atacante hasta matarlo 4 veces, al igual si alguien se roba la bandera el robot1 y el 2 lo persiguen hasta matarlo y recuperar la bandera, si por algun motivo, el otro robot logra llegar a su base, el robot escolta lo mata hasta que el equipo "Karel-Warros" haya capturado 2 banderas mas.
El robot 3 es el encargado de capturar banderas enemigas, y su escolta va 4 pasos delante de el, cuando esta a la distancia necesaria explota, para destruir cualquier robot enemigo que este esperando en la base enemiga, y despues llega el robot 3 y captura la bandera sin contratiempos, despues la escolta trata de asegurar el camino hacia la base.
Una estrategia mas, muy efectiva y extremadamente simple
Floricienta
3 robots se quedan en la base disparando hacia zonas diferentes, uno mas va dando pasos en forma de ZigZag hasta llegar a la base enemiga y despues se va rodeando el mundo hasta llegar a la base.
Como ustedes ven es muy facil hacer estos robots, y cualquiera puede hacer su estrategia conociendo la sintaxis basica de C o Pascal.
Mas adelante agragaré un pequeño manual de como hacer un robot en C.
Saludos!!