Un aspecto fundamental del movimiento demoscene es que los proyectos presentados son limitados artificialmente, de modo tal que nunca deben superar una cantidad específica de kilobytes. Esa clase de restricciones hacen muy interesante a cualquier competencia, y uno de los mejores ejemplos allá afuera es JS1k, que lleva ocho años en actividad. El objetivo de los participantes es crear una pequeña demo en JavaScript, sin elementos externos, y que nunca supere los 1.024 bytes. Hoy vamos a conocer a los ganadores. La página oficial explica que JS1k comenzó en el año 2010 como una especie de broma recurrente, pero no tomó demasiado tiempo para que se convierta en una competencia real. Las reglas son muy claras: Ningún elemento externo. Una demo contenida con 1.024 bytes de puro JavaScript, que puede usar cualquier tecnología web disponible. Un jurado (con miembros de los movimientos demoscene y JavaScript) que se actualiza cada año escoge a las demos ganadoras. ¿Te gustaría conocerlos?
JS1k 2010: «Primera»
La primera competición de JS1k tuvo como ganador a Marijn Haverbeke con su juego Legend of the Bouncing Beholder, en el que debes controlar a una esfera y recolectar monedas sin parar. El segundo lugar se lo quedó Óscar Toledo G. con un Mini Ajedrez que juega bien, pero tiene algunas limitaciones (no soporte enroque). El podio lo cerró Sjoerd Visscher con una versión perturbadora del Tetris que acelera la partida (y la música) a medida que van cayendo las fichas.
JS1k 2010: «Xmas»
Inspirado en la Navidad, el segundo JS1k de 2010 coronó a Román Cortés, quien logró crear un árbol de Navidad animado en 1.024 bytes exactos. La segunda ubicación fue para Jeremy Clarke con una animación interactiva que acumula nieve en la parte inferior de la pantalla, y el tercer lugar se lo quedó Rebecca, con un complejo rompecabezas hanjie.
JS1k 2011: «Oregon Trail»
Curiosamente, dos de los tres ganadores no están relacionados con el clásico juego educativo. Al tope de la lista aparece el juego Flexidroid de Taras Zlotnikov, en el que debemos usar los tres símbolos para tocar las estrellas con la punta de la cuerda. Mathieu Henri reclamó el segundo lugar con un render de 7.000 partículas de la carreta que usamos en Oregon Trail, y el tercer lugar lo ocupó Alexander Vedernikov con Battle in the Sky, un juego de aviones.
JS1k 2012: «Love»
Con una importante cantidad de euros y una placa Arduino como premios, la edición 2012 de JS1k tomó al amor de referencia. El primer lugar fue para Philip Buchanan con su formidable animación Autumn Evening, Román Cortés salió segundo con A Rose is a Rose, y Mathieu Henri quedó tercero con un sintetizador de voz JavaScript, que no parece funcionar en este momento. Lástima.
JS1k 2013: «Spring!»
El JS1k 2013 tuvo como ganador a Philippe Deschaseaux y su impresionante demo Stange Crystals II. Román Cortés y Mathieu Henri volvieron a reclamar segundo y tercer puesto respectivamente, el primero con Furbee, get out of that tunnel ASAP!, y el segundo con 3013: The 䕵 space-time fracture.
JS1k 2014: «Dragons»
Otro evento destacado por sus notables premios, el JS1k 2014 colocó en la cima a Felix Woitzel y su renderizador de fractales DragonDrop. El segundo puesto fue para Highway at Night de Jani Ylikangas, y Reinder Nijhoff tomó el último escalón con un render especial de Minecraft que incluye árboles, niebla, agua y colinas. Highway at Night es el más agradable a nivel estético, pero también hay que considerar el aspecto técnico.
JS1k 2015: «Hype Train»
El ganador de la edición 2015 no está necesariamente basado en trenes. De hecho, el trabajo de Keith Clark nos presenta a un clon bastante fiel del clásico Defender. Mysterious Monorail es la única animación en el podio, cortesía de homecoded / DESiRE. En el tercer lugar vemos de regreso a Mathieu Henri con su adictivo Impossible Road. ¿Crees poder mantener a la esfera en el camino? No pierdes nada con intentarlo…
JS1k 2016: «Elemental»
La mejor animación de todo el JS1k hasta ahora (sin dudas pelea con Autumn Evening) probablemente sea Romanesco 2.0, creada por Lara & HellMod y ganadora de la edición 2016. La variedad de colores y la forma de la animación cambia con el movimiento del cursor, sin perder la suavidad de su movimiento. La demo Voxeling de Raimon Ràfols demuestra el poder de su motor de voxels en JavaScript, y Rebecca regresó al tercer puesto con Firewatch, un pequeño juego en el que debemos apagar incendios forestales.
JS1k 2017: «Magic»
Finalmente, Mathieu Henri llegó al primer puesto en la JS1k 2017 con el proyecto DWITTER—SON1K, un entorno audiovisual de programación «para la generación Twitter». Solar System Game de Viktor Kovacs es un simulador de sistema solar en el que debemos colocar en órbita múltiples planetas, y Rebecca cierra nuevamente el podio con Leap of Faith, juego en el que un hechicero necesita llegar la cima de su torre a puro salto.
JS1k 2018: «Coin Mine»
No te preocupes, no hay mineros en segundo plano aquí. La edición más reciente de JS1k dio como ganador a Román Cortés y su excelente render del busto de Nefertiti. En la segunda posición encontramos otra animación, Solar Quartet, a cargo de Yonatan. El tercer lugar fue para Jani Ylikangas y su Cyber Auroras, que también incluye una lluvia de meteoros.
A modo de cierre, recomiendo una combinación de Firefox y Chrome para visualizar a todas las demos correctamente. Las principales diferencias son de velocidad, pero hay ocasiones en las que una demo se niega a cargar en un navegador, y funciona de maravillas en otro. ¡Disfruta!