El concepto de aprender jugando no es sencillo de dominar para los lenguajes de programación, sin embargo, el proyecto CodeCombat es una excelente alternativa didáctica que permite a todo el que esté interesado conocer un poco más sobre JavaScript de forma entretenida, y casi diría adictiva.
Si yo tratara de transmitir la idea de que una persona puede aprender un lenguaje de programación asignando órdenes a un soldado para que acabe con cada ogro que se encuentra en su camino, tal vez piensen que estoy loco. Pero eso es exactamente lo que han logrado los responsables del proyecto CodeCombat. Todos sabemos que el código intimida, y eso no va a cambiar en el corto plazo. Se han desarrollado campañas enteras que nos recuerdan la necesidad de crear nuevos programadores, porque la demanda aumenta, y la mano de obra calificada no está creciendo con la velocidad suficiente. A pesar del alcance de esas campañas, decir algo como “haz el esfuerzo, aprende código” no es suficiente, y la gran mayoría de los lenguajes carecen de un método didáctico adecuado, en especial si se busca atraer a las mentes más jóvenes.
CodeCombat permite a los visitantes aprender JavaScript de una forma muy particular. En vez de arrojarse de cabeza sobre el código, cada jugador asume el rol de un mago, que a su vez controla a un soldado llamado Tharin. Los “conjuros” para comandar a Tharin son en realidad pequeñas líneas de código JavaScript, y si son aplicadas de la forma correcta, Tharin podrá pasar a la siguiente fase en una pieza. CodeCombat está compuesto por siete lecciones/niveles básicos, más otros tres niveles con comandos un poco más elaborados. A medida que avanza, el jugador comienza a tener a su disposición una mayor cantidad de órdenes, como desplazarse por coordenadas (en vez de usar “izquierda” y “derecha”), y controlar a un grupo de soldados.
CodeCombat lleva algunos meses en desarrollo, y ha tenido una excelente recepción hasta ahora, pero necesita un poco de ayuda por parte la comunidad, ya sea a través de beta testing, creación de niveles, traducciones, o contribuciones a su código en GitHub. En lo personal, cuando lo jugué, no me detuve hasta completar todos los niveles básicos. Un proyecto para seguir de cerca, sin lugar a dudas.