La agencia maravillas

Tras siete temporadas, más de 100 episodios y pasar por Aranda de Duero, el primer serial de acción real del MCU toca a su fin.

La serie sigue las aventuras de, como su nombre indica, un conjunto de agentes de S.H.I.E.L.D, la omnipresente organización benévola secreta del universo Marvel.

No intentaré resumir el argumento (superhéroes y espías) ni entrar en detalle. Hay temporadas más fuertes y más flojas; en particular la última deja un excelente sabor de boca con una serie de episodios con viajes en el tiempo en la que se lo pasan pipa con topicazos de varias décadas (por supuesto, los 80 son lo mejor, pero el homenaje setentero a los uniformes clásicos de S.H.I.E.L.D en los tebeos es francamente destacable). Como todo lo Marvel, inevitablemente el rollo cósmico acaba por cansar y creo que la serie funciona mejor cuando se deja de grandilocuencias y combina con gracia el humor con los espías y los superpoderes.

El reparto es irregular; soy fan absoluto de Phil Coulson (espléndido y destacable en las películas, aquí protagonista), Melinda May (interpretada por… la Chun-Li de la peli de Street Fighter del 94) y secundarios como Enoch (el más carismático de los inexpresivos Cronicoms) o el dúo Lance Hunter/Bobbi Morse (tan buenos que los sacaron de la serie para hacer un spin-off que no fue a ningún sitio). Quizá el exceso de buenismo (y sosismo) de los buenos y la falta de villanos carismáticos son lo que impide a los agentes competir en la misma liga que Jessica Jones/El Castigador de Netflix, pero aun así, Agents of S.H.I.E.L.D ha sabido entretenernos durante unas buenas temporadas.

Sospecho que la estrategia televisiva de Marvel seguirá apostando por series de pocas temporadas, pero creo que los agentes demuestran que es posible seguir el modelo de los cómics impresos, con series que pueden mantenernos enganchados durante mucho tiempo y encadenar arcos argumentales, e ir mutando. Eso sí, no sé si el mundo está preparado para culebrones de superhéroes de 10.000 episodios (no es una exageración, Coronation Street va por el 10.107).

Pero para los que quieren aventuras con superhéroes y espías, vale la pena ver Agents of S.H.I.E.L.D.

La saltarina monarquía persa

En lo que quizá podría ser un récord, este fin de semana me he pasado un juego que salió hace 31 años.

El ultrafamoso Prince of Persia salió para el Apple II en 1989, pero aunque hubo versión para Amiga y MS-DOS, nunca había jugado, hasta que vi anunciado una versión para RetroFW y decidí jugar en la RG 300 de las que os hablé recientemente. Jordan Mechner, el autor, publicó el código fuente en Github hace ya tiempo, y existen infinidad de maneras de jugar (en Google se encuentran rápido maneras de jugar en un navegador).

Aunque yo no soy mucho de plataformas, la verdad que el juego engancha desde el primer momento. Lo primero que llama la atención es la fantástica animación, a base de rotoscopia del hermano del autor y de una peli de Robin Hood del 38. Yo diría que pocos sprites de la época se debían mover con la fluidez del príncipe dando brincos por ahí.

El juego combina plataformeo con niveles donde hay que encadenar endiabladas secuencias de saltos que pueden acabar con la paciencia de cualquiera, con duelos a espada sorprendentemente entretenidos (cada villano tiene una “personalidad” distinta que yo he tenido que descifrar a base de muchas muertes) y algún puzzle que me ha costado bastante sacar.

Es realmente notable como a partir de un conjunto muy limitado de elementos (carrera, pasos, saltos y dos movimientos de espada) se construye un juego tan variado, entretenido y adictivo. Debo confesar que he tenido que consultar Youtube dos o tres veces para salir de algún atolladero, pero el juego es bastante “descubrible” y progresivo, complicando las mecánicas poco a poco con mucho acierto.

Jordan Mechner pretendía un juego cinematográfico y creo que, con las limitaciones del Apple II, entre la animación, un buen guion de secuencias de acción (a parte de poder estocar a nuestros enemigos, les podemos hacer caer hasta su muerte) y alguna sorpresa que, a pesar de tener 30 años, prefiero no desvelar… aunque obviamente no puede obrar milagros, consigue un juego que supera a muchos, muchísimos juegos hechos por pequeños ejércitos y que corren plataformas con las que ni se soñaba en 1989.

Para los pacientes (la verdad que el juego me ha parecido la mar de difícil y me ha costado mucho acabármelo) que no hayan gozado de esta pequeña maravilla, vale la pena escarbar para encontrar la manera de jugar al Prince of Persia.

Sistemas oxidados

Dentro de mi complicado impulso por aprender Rust, estas navidades pensé que disponer de un sistema físico de potencia limitada me ayudaría a tener una excusa para no programar en mis lenguajes habituales.

O esa fue mi excusa para pedirme por navidades una Retro Game 300, un simpático cacharrito en la categoría “emuladores pirata”. Se trata de una consola portátil con un formato similar a la clásica Game Boy de dudosa procedencia (lleva un procesador JZ4760B de arquitectura MIPS que salió hace una década y, aparentemente, una pantalla destinada a cámaras fotográficas baratas. A saber quién encontró alijos de esos componentes y decidió fabricar una consola portátil).

Existe un ecosistema razonablemente boyante de este tipo de dispositivos a los que se portan una buena variedad de emuladores de sistemas de videojuegos antiguos que, si uno disfruta de una cierta ambigüedad moral o una buena excusa, nos permite gozar de un amplio catálogo de juegos de otras eras de una manera relativamente sencilla (o al menos, más sencilla que hacerlo por las buenas).

La RG300 cuenta con una pantalla 4:3 de 320×480 (en general mostrando 320×240 doblados), un D-Pad, cuatro botones redondos estilo Nintendo (A, B, X e Y), dos gatillos, botones de Select y Start, dos botones adicionales, conmutador de encendido y ruedecilla de volumen. Monta una batería BP-5L (es decir, la que llevaban los móviles Nokia clásicos) y cuenta con dos ranuras de MicroSD; una debajo de la batería y una en un lateral, fácilmente accesible.

La mencionada CPU MIPS cuenta con unos 128Mb de RAM que pese a ser varias órdenes de magnitud menos de lo que cuenta cualquier móvil de gama baja de hoy en día, es a la vez suficiente para los sistemas antiguos que emula e insuficiente como para ejecutar software “normal” (con lo que cumple el propósito de separarnos de lenguajes como Python o Java y atraernos hacia C/C++ o Rust).

Al menos la que recibí venía con una MicroSD con la típica colección de emuladores y videojuegos inacabable, pero tampoco infinita. Traía también una versión antigua de RetroFW, una distribución de Linux enfocada a esta familia de dispositivos.

Es razonablemente simple (y poco arriesgado- siempre podemos formatear la MicroSD interna y empezar de nuevo) actualizar a una versión más moderna de RetroFW con alguna mejora importante de calidad de vida (como por ejemplo poder transferir ficheros por FTP mediante una conexión de red USB), meter más emuladores y ROMs y demás. También existen bastantes ports de todos esos juegos con código fuente que andan por ahí (el catálogo antiguo de Id Software, por ejemplo). La web de RetroFW incluye un completo listado del software disponible.

La experiencia jugando suele ser buena. La pantalla es de buena calidad y los controles (más allá de que el que escribe prefiere los joystick de bola tipo arcade a los D-Pad) son más que decentes- para los juegos que se adaptan al esquema de control- que deberían ser todos los sistemas anteriores al DualShock. Quizá el formato Game Boy no es el más ergonómico, pero personalmente me parece más entrañable que el formato PS Vita de otros modelos de la familia.

Si queremos usar la consola para desarrollar, la historia cambia un poco. Al no usar un procesador de la familia x86, la dificultad sube un poco al tener que hacer compilación cruzada. RetroFW es una distribución de Linux basada en Buildroot, que resuelve bastante bien el tema de la compilación cruzada, pero que requiere de cierto tiempo para hacerlo funcionar (es sencillo, pero hay que compilar bastante con el tiempo que ello conlleva) y que no es tan simple como otras plataformas de desarrollo. Además, RetroFW en la RG300 sólo soporta el framebuffer Linux… así que básicamente la única librería gráfica de alto nivel que podemos usar es SDL 1, pasada de moda hace una eternidad.

Específicamente para Rust es aún más problemático; la versión de Rust que incluye Buildroot es algo antigua y conseguir una más moderna no es trivial. Además, Rust retiró el soporte para la versión específica de MIPS que lleva la RG300, con lo que hay que parchear. Súmese a esto tener que usar librerías no muy populares, como los bindings a Rust de SDL 1 o de libao. Sin embargo, se puede (he colgado unas instrucciones que deberían ser completas en https://github.com/alexpdp7/retrofw2-rust), aunque quizá sea posible encontrar alternativas mejores, como algo basado en ARM (que suele estar mejor soportado)… aunque quizá no en estos precios.

Pero el mayor factor a la hora de evaluar la RG300 es su precio. A 50 euros (precio probablemente debido en gran medida a la exótica combinación de hardware de pocas prestaciones) es difícil arrepentirse de su compra, a pesar de los numerosos defectos y limitaciones que hemos apuntado, y muy probablemente resultará una inversión la mar de rentable en entretenimiento proporcionado.