El ascensor no funciona. Eso sería una molestia para millones de personas que viven en edificios, pero el juego Elevator Saga lo presenta como un desafío orientado a programadores JavaScript. Cada nivel tiene requerimientos específicos, y el objetivo es cumplirlos ya sea agregando o modificando el código que sea necesario.
En el pasado hemos visto algunos ejemplos de alto nivel como Code Hero, el excelente CodeCombat, el adictivo Untrusted y los pequeños TwilioQuest y JSRobot, entre otros. Los primeros dos juegos se enfocan sobre el aprendizaje de JavaScript, mientras que en el caso de Untrusted es necesario un entendimiento más avanzado del lenguaje. ¿Por qué enseñar a escribir código utilizando juegos? Las razones son obvias. Todos están de acuerdo en que la programación debería tener un lugar crítico entre los métodos tradicionales de educación.
El déficit de programadores es cada vez más amplio, y la complejidad natural de esta carrera provoca que muchos la rechacen de inmediato sin siquiera dar un segundo vistazo. Transformar a una tarea difícil en un juego tiene el potencial de atraer a los más pequeños, y refinar sus habilidades a medida que ganan conocimiento.
El acertijo de los ascensores
Pero Elevator Saga es un poco diferente. De modo similar a Untrusted, saber programar en JavaScript no es el todo optativo. Básicamente, el problema es un ascensor que no funciona correctamente. Al no visitar todos los pisos del edificio, los residentes no pueden desplazarse en tiempo y forma. El primer nivel requiere una reparación básica del ascensor que le permita llegar al segundo piso, y transportar quince personas en 60 segundos o menos. A medida que avanzamos, el edificio gana más pisos, y más personas necesitan moverse, por lo que el código debe incrementar su eficiencia para que el ascensor no pierda tiempo visitando un piso a la vez.
Mis conocimientos sobre JavaScript son prácticamente nulos, y esto ha provocado que me quede estancado en el segundo nivel (humillación total, lo sé). De acuerdo a la wiki de Elevator Saga, el total de niveles asciende a 17, y en el último ya es necesario administrar diez ascensores al mismo tiempo. La clave aquí es eficiencia. Si el viaje del ascensor tiene demasiadas pausas innecesarias, el reloj se convierte en enemigo. Voy a insistir una vez más: Elevator Saga no está pensado para novatos, pero si crees que sabes lo suficiente de JavaScript como para derrotarlo, ¿qué estás esperando?