¡VAPF!


¡Vete al peo, Fede!

Cómo convertir un vídeo en un GIF animado con ffmpeg en macOS

En algunos análisis de videojuegos he puesto vídeos cortos para ilustrar algún momento concreto, generalmente un bug. Lo podría haber hecho subiendo el vídeo a Youtube o, más sencillo, enlazándolo directamente, ya que hoy día todos los navegadores permiten reproducir vídeos de manera nativa.

No obstante, por el motivo que sea, he preferido convertirlos en GIFs animados. Aunque existen herramientas online que permiten realizar la transformación, yo la he hecho desde el ordenador con el siguiente script (requiere tener instalado ffmpeg):

ffmpeg -i video-original.mp4 -vf "fps=10,scale=600:-1:flags=lanczos,split[s0][s1];[s0]palettegen[p];[s1][p]paletteuse" -loop 0 gif-animado.gif

El script lo encontré, cómo no, buscando en Stack Overflow (más concretamente, en su web hermana Superuser).


Juegos: Assassin's Creed Origins

En 2009 compré un juego titulado Assassin's Creed para PlayStation 3. Hoy, 11 años después, acabo de terminar el décimo título que he jugado de esta serie, casi a juego por año. Es un caso paradigmático del "me planto aquí", pero sigo jugando. De hecho, y me anticipo, éste no me ha entusiasmado —y me diréis, más tonto eres tú, que le has metido 40 horas— y lo que he hecho ha sido ponerme a continuación con la siguiente entrega, Assassin's Creed Odyssey. Luego explicaré los motivos.

El caso es que la saga ha cambiado bastante, sobre todo en este capítulo, para el que Ubi Soft abandonó temporalmente la estrategia de entregas anuales para dedicarle un año más a pulir el juego. Sus fundamentos han evolucionado. El parkour y los asesinatos selectivos han perdido protagonismo en lo jugable, y la parte de la historia que se desarrolla en el presenta también ha perdido casi todo su peso. El juego ha ido incorporando elementos de aquí y de allá, quizás intentando atraer a más público pero, a mi juicio, a costa de perder su esencia.

Assassin's Creed Origins
Assassin's Creed Origins

Por cierto, aviso de que en alguna foto de las que acompañan este texto hay spoilers. Así que, si no habéis terminado el juego, no sigáis leyendo. O intentad hacer caso omiso de las imágenes.

La acción tiene lugar en Egipto, en el siglo I A.C. Por tanto, ya las grandes construcciones faraónicas estarán en ruinas y encontraremos tanto a griegos como a romanos campando por la zona. Como es marca de la casa, también podremos interactuar con personajes históricos, como Cleopatra, Ptolomeo XIII o Julio César, que tendrán cierto papel en el devenir de los acontecimientos (o nosotros en el devenir de los suyos). El protagonista principal es Bayek de Siwa, un Medjay egipcio, aunque en ocasiones también podremos controlar a su esposa Aya.

César y Ptolomeo
César y Ptolomeo
La emperatriz Cleopatra
La emperatriz Cleopatra

El comienzo de la partida es un poco extraño, por cómo arranca la historia y por el cambio en los controles; gracias a un breve tutorial se nos exponen los nuevos movimientos y la forma de combatir. Aunque se agradecen los cambios, no sé por qué pero al final siempre acabas recurriendo a un esquema de esquiva o bloqueo más contraataque. Si bien es cierto que en bastantes ocasiones podemos (y debemos) adoptar una táctica sigilosa y conseguir nuestros objetivos rehuyendo el enfrentamiento.

Los combates son espectaculares pero acaban resultando repetitivos
Los combates son espectaculares pero acaban resultando repetitivos

Los personajes tienen un montón de animaciones, pero a veces las transiciones entre ellas no son todo lo fluidas que debería . En concreto, cuando montamos en camello, el movimiento resulta un poco robótico, y más viniendo de disfrutar de juegos como Zelda Breath Of The Wild o Red Dead Redemption 2, donde los caballos tienen un tratamiento casi de protagonistas. Cuando montamos en camello, podemos activar una especie de piloto automático, también bastante ortopédico —a veces pierde la ruta, nos dice que no sabe llegar al destino o va atropellando a la gente que se encuentra— que podemos usar para despreocuparnos por llegar a un objetivo, aunque aquí no suele haber diálogos durante los viajes (como sí que ocurría en RDR2), así que bueno, nos permite contempla el paisaje más que otra cosa. Además, si la ruta atraviesa un campamento enemigo no nos avisa y se iniciará un conflicto, así que más nos vale estar pendientes.

La indicación del camino la verdad es que no pega mucho
La indicación del camino la verdad es que no pega mucho

Como digo, el manejo del camello (o del caballo) en sí no está demasiado pulido. Hay saltos bruscos en la animación y, por otra parte, podremos subir por rocas escarpadas sin demasiados problemas. Vale que se trata de un juego en el que podemos trepar con nuestras manos (y sin cansarnos) a casi cualquier lugar, pero poder hacerlo a lomos de un animal desentona bastante.

Olvidaos de las estéticas y cinematográficas cabalgadas en grupo de RDR2
Olvidaos de las estéticas y cinematográficas cabalgadas en grupo de RDR2

Las mecánicas principales del juego son el combate, el sigilo (ocultándonos en la maleza de la vista de los enemigos), el uso de nuestro "sentido arácnido" (no se llama así, por supuesto, pero permítaseme la licencia) para detectar dónde hay objetos relevantes en el escenario y la ayuda de nuestra águila Senu para reconocer desde el aire las distinas localidades y marcar los puntos de interés.

Senu será nuestra gran aliada durante la aventura
Senu será nuestra gran aliada durante la aventura

Además de la exploración y los combates, nos enfrentaremos a misiones de "erradicación", en las que tendremos que eliminar a todos los enemigos de una localización, y también a misiones de "investigación", en las que tendremos que ir recolectando pistas para resolver algún tipo de enigma. Eso sí, no esperemos nada del estilo de juegos como Detroit: Become Human o los Batman Arkham; se trata simplemente de ir interactuando con los puntos donde aparezca el icono de la lupa.

Área de investigación
Área de investigación

También encontraremos algunos puzles basados en físicas, los típicos que consisten en mover objetos con diferentes pesos para equilibrar algún tipo de balanza, vistos ya en decenas de juegos. O una especie de minijuego que consiste en ir identificando las diferentes constelaciones del cielo. Nada demasiado original, aunque sí aportan variedad. Por último, tendremos ocasión de manejar barcos y participar en alguna batalla naval, si bien este apartado parece más testimonial que otra cosa.

Se conservan mecánicas como las atalayas o los saltos de fe. Las atalayas quedan un poco deslucidas en espacios tan abiertos y edificaciones bajas; ahora corresponden casi todas a elevaciones orográficas. Tenían más sentido cuando en entregas anteriores te tenías que buscar la vida para escalar a la parte más alta de una catedral. Ahora, en vez de "abrir" partes del mapa, sirven para otorgar más capacidad de visión a Senu.

Sincronizando una atalaya
Sincronizando una atalaya
Salto de fe
Salto de fe

Mientras nos desplazamos por los escenarios escucharemos las voces de los NPC, algunas en castellano y otras en un idioma que desconozco (no sé si será egipcio), que resultan bastante repetitivas y que tampoco aportan demasiado. No es el primer Assassin's Creed donde ocurre esto. El doblaje también me ha parecido mejorable, no por las actuaciones en sí (aunque hay algunos secundarios que parecen doblados por amateurs), sino más bien por la sincronización con las escenas. Desde luego que no llega al nivel de excelencia de títulos top como Uncharted.

Como siempre hay misiones principales, que nos hacen avanzar en la historia, y secundarias, que nos ayudan a mejorar las capacidades de nuestro personaje. Podemos tener una misión marcada en el mapa, de manera que así sabremos hacia dónde dirigirnos en cada momento, pero se pueden ir completando varias de forma simultánea. Según vayamos subiendo de nivel, además de ir consiguiendo armas y vestuario, obtendremos puntos que podremos ir gastando hasta que completemos el árbol de habilidades.

Árbol de habilidades del personaje
Árbol de habilidades del personaje

Como suele ocurrir en este tipo de juegos, si nos dedicamos a hacer recados para subir de nivel y potenciar nuestro avatar, la historia principal termina siendo un paseo. Yo en este caso me he limitado a hacer las secundarias imprescindibles para situar mi personaje en el nivel recomendado para hacer las misiones principales. He de reconocer que el argumento ha tardado demasiado en engancharme, e incluso he llegado a saltarme algunos diálogos de dichas misiones secundarias.

Supongo que será debido al nivel de dificultad que he escogido para jugar (el que se ofrece por defecto), aunque no descarto que fuera un bug, pero en alguna misión en la que tenía que proteger a algún personaje, me ha ocurrido que el personaje ha muerto (más bien se quedaba tirado en el suelo) y, una vez que he eliminado a todos los enemigos, ha resucitado y la misión ha continuado. Por cierto, que éste es el Assassin's Creed en el que más bugs me he encontrado, aunque ninguno ha sido incapacitante para seguir adelante con la partida.

Glitches gráficos

Otra cosa que me ocurrió, igual también motivada por el nivel de dificultad, fue una misión en la que había que eliminar, acompañado de unos aliados, todos los bandidos de una ubicación. Los aliados se encargaron de todo, dejándome mano sobre mano.

Algunos problemas endémicos de la saga no se han solventado. Por ejemplo, el uso (y abuso) del botón triángulo como acción contextual, que falla más de lo deseable. O que en una persecución los enemigos se mueven a una velocidad exagerada y que no cuadra con la lógica. Aunque, para (i)lógico, el hecho de poder llamar a tu camello o caballo desde cualquier sitio y que éste siempre aparezca enseguida. Y cuando digo cualquier sitio, es (casi) cualquier sitio.

Por cierto, como buen sandbox, no falta su misión con el protagonista borracho. Ni gente haciendo sus necesidades. Y esto me molestó bastante la primera vez que me ocurrió, no por el hecho de que los personajes se alivien, claro. Asaltando un campamento, vi al comandante meando y pensé que sería un buen momento para deshacerme de él. Pero, en este juego, si tu avatar tiene menos nivel que el enemigo, no te puedes acercar sigilosamente y asesinarle, lo cual me chocó bastante —y no recuerdo si ocurría en anteriores entregas. Vamos, que le dio tiempo a enfundar y desenfundar.

Los enemigos también tienen sus necesidades
Los enemigos también tienen sus necesidades

Siendo un juego tan largo, al final las mecánicas se tornan demasiado repetitivas. Terminaremos por reiterar los mismos pasos una y otra vez: llegar a la localización donde se desarrolla la misión, hacer volar a Senu para marcar los enemigos y los objetos de interés y, una de dos, o bien emplear el sigilo para robar lo que toque, o bien acabar con todo el mundo si tenemos el nivel suficiente de desarrollo de habilidades. Hacerlo en modo sigilo resulta muy divertido, casi más que combatir. Además, nos encontraremos en muchas ocasiones a los enemigos durmiendo, meando o distraídos, con lo cual da la impresión de que es el propio juego el que nos invita a seguir ese camino.

Como comenté anteriormente, el juego ha ido incorporando elementos de otros títulos de la competencia. Al menos hay mecánicas que recuerdo haber visto previamente, no queriendo decir que sean necesariamente en esos títulos donde se inventaron. Por ejemplo, la posibilidad de prender las flechas si nos acercamos a una hoguera (visto en Zelda Breath Of The Wild), el saqueo de tumbas (visto en los últimos Tomb Raider) o las cinemáticas de paso por lugares angostos (visto también en esa saga y que otras como Uncharted y Red Dead Redemption también han incorporado).

Saqueo de tumbas © Lara Croft
Saqueo de tumbas © Lara Croft
Los pasos angostos se han puesto de moda de un tiempo a esta parte
Los pasos angostos se han puesto de moda de un tiempo a esta parte

El argumento, como ya he ido avanzando, no me ha terminado de enganchar. Tratándose del génesis de la Hermandad de los Asesinos, me esperaba algo más épico. La historia en el presente ni me molesto en comentarla; bajo mi punto de vista es totalmente prescindible (desde hace ya unas cuantas entregas, no es algo novedoso).

La historia en el presente
La historia en el presente

Técnicamente el mapa es el más grande hasta la fecha. Los gráficos están bien, pero tienen algo que le hace quedar un punto por debajo de títulos como RDR2 o Uncharted 4. Eso sí, el trabajo de iluminación para mi gusto es exquisito. Y se han hinchado a modelar atuendos, complementos y armas para nuestro personaje.

La iluminación es soberbia
La iluminación es soberbia

Disponemos de un modo de juego, que todavía no he probado, en el que podemos hacer un tour turístico por las localizaciones más emblemáticas de Egipto. Quizás lo haga más adelante. También tenemos disponible el modo foto, con el que obtener unas instantáneas chulas que se compartirán automáticamente dentro del juego.

Modo foto
Modo foto

En resumen, ha sido de los Assassin's Creed que menos me ha gustado, en dura pugna con el III y, probablemente, el I. Aunque, claro, éste siempre tendrá el plus de originalidad de haber sido el primero y en el que se sentaron las bases de la saga. Puedo decir que lo he terminado por cabezonería, salvo que a partir del último tercio de la historia la cosa se pone interesante.

Por fin un asesinato a la altura de la saga
Por fin un asesinato a la altura de la saga

Finalmente le he dedicado 41 horas, para completar un 76% de progreso total. Me he quedado lejos del platino y no creo que me ponga a conseguirlo, al menos a medio plazo.

Misión final completada
Misión final completada

Lo que sí he hecho, a costa de llevarme un empacho, ha sido ponerme directamente con la siguiente entrega, Assassin's Creed Odyssey, ya que amigos como Miguel me han avisado de que es mejor juego (y aún más largo, pardiez). Ya veremos dentro de otras cuarenta y tantas horas, que a mi ritmo actual se traducirán en meses.

Assassin's Creed Origins - Duración de la partida
Assassin's Creed Origins - Duración de la partida

Las estadísticas, por cierto, hay que consultarlas en uPlay, no aparecen en el juego, lo cual me parece un feo detalle por su parte.

Assassin's Creed Origins - Estadísticas 1
Assassin's Creed Origins - Estadísticas 1
Assassin's Creed Origins - Estadísticas 2
Assassin's Creed Origins - Estadísticas 2
Assassin's Creed Origins - Estadísticas 3
Assassin's Creed Origins - Estadísticas 3
Assassin's Creed Origins - Estadísticas 4
Assassin's Creed Origins - Estadísticas 4

Bonus tracks

Glitches

Como he comentado, las animaciones son a veces un poco ortopédicas, cuando no fallan directamente. Aquí os dejo algunas de las más hilarantes que me he encontrado:

Bajando un cuerpo del caballo como por arte de magia
Bajando un cuerpo del caballo como por arte de magia
Este buen NPC se volvió loco y no encontraba el camino
Este buen NPC se volvió loco y no encontraba el camino
Estos niños dan mal rollo más que otra cosa
Estos niños dan mal rollo más que otra cosa

Localizaciones históricas

Como no podría ser de otra forma, podemos visitar las Pirámides de Guiza.

Las Pirámides de Guiza
Las Pirámides de Guiza

También veremos la famosa Esfinge. Incluso nos podremos adentrar en su interior.

Esfinge
Esfinge

El plato fuerte queda para el final. Como en Assassin's Creed II, podremos visitar Roma.

Roma
Roma

Curiosidades

¿Sabíais que el Animus portátil que se emplea en este juego fue construido en España. Pues eso parece.

Animus portátil construido en España
Animus portátil construido en España

Juegos: Metroid Samus Returns (3DS)

La saga Metroid es otra de tantas sagas hiperconocidas que no había jugado hasta ahora. Junto con Castlevania, da nombre a un estilo de juego, los Metroidvania, que se basa en un esquema de acción y exploración no lineal en un mapa que vamos descubriendo y que suele tener zonas vedadas a las que tenemos que volver más adelante cuando tengamos las capacidades u objetos necesarios para poder acceder. Suena interesante.

Pantalla de inicio
Pantalla de inicio

Este Metroid Samus Returns es un remake de la segunda entrega de la saga, aparecida originalmente en 1992 para Game Boy, realizado con muy buen gusto por el estudio español Mercury Steam. Ya tuve ocasión de disfrutar de otro juego desarrollado por ellos, Castlevania Lords Of Shadow - Mirror Of Fate, también para 3DS y, curiosamente, perteneciente a la otra saga a la que nos referíamos en el párrafo anterior. La historia comienza justo al final de la entrega primigenia, el Metroid de NES. Aunque para mí es todo nuevo, y tampoco me ha supuesto, que yo sepa, ningún hándicap.

El juego es, por tanto, un título de acción en 2 dimensiones al que el efecto 3D le sienta de maravilla para dotar de profundidad a los escenarios, aunque se puede disfrutar sin problemas con él desactivado. Incorpora una mecánica de disparo que me ha gustado especialmente, y que permite que, con el stick izquierdo, apuntemos a cualquier zona de la pantalla. Encontraremos multitud de enemigos con patrones diferentes de comportamiento, así como los Metroids y algunos jefes finales.

Pantalla ingame (en la consola se ve mejor que en la foto)
Pantalla ingame (en la consola se ve mejor que en la foto)

En cuanto a la exploración, la verdad es que ayuda tener disponible un mapa en la pantalla inferior, que se va rellenando según vamos accediendo a las diferentes áreas, y en el que se marcan con diversos iconos los puntos de interés. Por otro lado, aunque disponemos de teletransportadores y se supone que es norma en este tipo de juegos, la verdad es que no he visto necesario tener que retroceder a niveles anteriores para completar el juego. El único requisito es localizar y eliminar a los metroides de cada fase y, mientras tanto, ir mejorando las habilidades y objetos de Samus, la protagonista. Eso sí, si vuelves a la zona inicial, una vez desarrollado todo el potencial al final del juego, podremos acceder a zonas antes vedadas, y se nota que los enemigos apenas pueden hacernos frente.

Mapa de Metroid Samus Returns
Mapa de Metroid Samus Returns

El juego dispone de bastantes puntos de guardado y, además, si te matan, no te hacen volver a la última vez que guardaste, sino que hay como una especie de check points temporales. Si, por ejemplo, mueres en el enfrentamiento con un metroide, volverás a empezar justo al principio del enfrentamiento, no donde guardaste la partida. Esa es una diferencia (creo) con el juego original que lo hace bastante más accesible, sobre todo si te enfrentas al juego en sesiones cortas, como he hecho yo, de apenas 10 ó 15 minutos diarios, salvo en la fase final que ya me ha enganchado y le he dedicado algo más.

Por cierto que, aunque la historia en sí tampoco tiene mayor repercusión, sí que me he encontrado algo al final que no me esperaba, y me ha gustado.

Porcentaje de juego completado
Porcentaje de juego completado

Jugando a ratitos me ha llevado unos meses completar la aventura, aunque el cómputo total han sido casi 13 horas. Una vez terminado (en mi caso con el 38%), tenemos la opción de seguir jugando para encontrar todos los objetos, y también empezar una nueva partida en un modo de dificultad más alto. Aunque lo he disfrutado bastante, no creo que me dé por hacer ninguna de las dos cosas. Lo que sí que haré en algún momento será jugar a algún otro título de la saga, seguramente Super Metroid.

Tiempo total de juego
Tiempo total de juego

Receta de torrijas

Hasta ahora no habíamos tenido la necesidad de hacer torrijas. Más que nada porque siempre son una excusa para visitar a la madre/suegra y tomarlas de postre o para merendar, y de paso llevarte unas pocas para desayunar en casa. O bien comerlas en el pueblo, donde solemos ir en Semana Santa. Pero este año, obviamente, ni una cosa ni la otra.

Así que, como no era plan de quedarnos sin comerlas, no ha quedado más remedio que hacerlas nosotros por primera vez. Me consta que no hemos sido los únicos. Os dejamos por aquí la receta que hemos seguido:

Ingredientes

  • Pan de torrijas.
  • 750 ml de leche (en casa gastamos semidesnatada, pero supongo que si es entera, mejor).
  • 3 huevos.
  • Una cáscara de limón (no teníamos y echamos la de una mandarina).
  • Canela en rama.
  • Canela en polvo.
  • Azúcar vainillado (una pizca, para dar sabor a la leche).
  • Azúcar (a nosotros no nos gusta abusar, cuanta menos, mejor).
  • Aceite de oliva (se recomienda de 0,4°, pero en casa sólo tenemos virgen extra).

Sí, se pueden hacer con otros ingredientes, con pan normal, etc. Pero la primera vez no era plan de pasarnos de creativos. Tampoco hicimos el jarabe que se les echa por encima en algunos sitios.

Pasos

Lo primero es cortar el pan en rebanadas lo suficientemente anchas como para que no se desmorone cuando lo empapemos en la leche y el huevo. Si las cortamos en diagonal, conseguiremos que sean un poco más grandes. Cortamos toda la barra y dejamos las rebanadas en una cesta.

Pan de torrija en rebanadas
Pan de torrija en rebanadas

Lo siguiente será preparar la leche. Echamos en una cazuela los 750 ml de leche junto con la cáscara (de mandarina en nuestro caso), la rama de canela y un poco de azúcar vainillado. Lo llevamos a ebullición y lo dejamos enfriando con la tapa puesta para que la leche coja sabor.

Hervimos la leche
Hervimos la leche

Una vez que la leche se ha enfriado, preparamos la "cadena de montaje". En un recipiente echamos la leche, pasándola por un colador. En otro, los huevos batidos. Y, por último echamos el aceite en la sartén (abundante, sin miedo) y lo ponemos al fuego.

Paso 1 - Leche
Paso 1 - Leche
Paso 2 - huevo
Paso 2 - huevo
Paso 3 - sartén
Paso 3 - sartén

Cuando el aceite esté bien caliente, vamos pasando las rebanadas, primero por la leche, luego por el huevo y, por último a la sartén. Las vamos haciendo de poco en poco, según lo grande que sea la sartén (en nuestro caso cabían dos grandes o tres pequeñas). Si empapamos todas las rebanadas de golpe, las últimas probablemente se desmoronarán. Y si echamos demasiadas en la sartén, el aceite se enfriará y se quedarán demasiado grasientas.

Una vez fritas bien por ambos lados, las sacamos y las vamos colocando en una bandeja con papel de cocina para que absorba el exceso de aceite. Por último, espolvoreamos una mezcla de azúcar y canela en polvo y dejamos enfriar.

Mezcla de azúcar y canela para espolvorear
Mezcla de azúcar y canela para espolvorear

Como cometimos el error de comprar dos barras de pan, días después hicimos una segunda tanda que no quedó tan bien como la primera. Esto suele suceder con frecuencia en la cocina; la primera vez que haces una receta pones toda la precaución y la atención de seguir todos los pasos al milímetro. Te sale bien y la siguiente vez te vienes arriba. Seguro que si volvemos a hacerlas nos salen mejor que esa segunda tanda.

Torrijas listas para dejar enfriar
Torrijas listas para dejar enfriar

Este año no nos hemos quedado sin comernos unas torrijas, pero para el año que viene esperemos recuperar la tradición de degustarlas en familia.

PS: Como esto se prolongue al final nos va a tocar aprender forzosamente a hacer el Roscón de Reyes.


Arqueología musical II

Hace unas semanas me dio por subir unas cuantas cintas de vídeo que tenía en el trastero con la intención de digitalizarlas. El problema vino cuando introduje la primera en el reproductor y éste se la "comió" sin miramientos. Total, que ahora tengo unas cuantas cintas sin forma de visualizarlas.

En ese momento recordé que también tenía unas cuantas cintas de casete que quería digitalizar. Afortunadamente, por casa hay varias pletinas y algunas de ellas todavía funcionan —desafortunadamente, la de la cadena de música, que me costó bien cara, y la que me dio mi abuelo para cargar juegos del Spectrum, están estropeadas. Así que, sin más tardar, me puse a pasarlas en bruto al ordenador, para procesarlas más adelante.

Por cierto, que para hacerlo he usado el programa ocenaudio, que me ha gustado bastante. Tiene más opciones y una interfaz más limpia que Audacity, que es el que venía usando hasta ahora.

Aun no he procesado la mayoría de ellas, en las que hay grabaciones de lo más variopinto, de la orquesta, de uno de los grupos en los que estuve, incluso de un Fede de 7 años al que le gustaba grabar "programas de radio".

Pero, ya que estamos, sí que me gustaría compartir tres grabaciones de temas que compuse (o versioné) a mediados de los '90. Echando la vista atrás, me gustaría haberle dedicado más tiempo a estas cosas.

Sad Theme

Este es un tema claramente triste. No recuerdo si lo estaba en el momento que lo compuse o simplemente quería transmitir ese sentimiento. Si no me falla la memoria, el sonido procede en su totalidad de mi Korg 01/W FD.

Monkey Island Cover

Siempre es más fácil versionar que componer, porque te permite dejar a un lado la parte puramente creativa para centrarte en la técnica y el aprendizaje de métodos y herramientas. Ya estaba en la Facultad cuando hice esta versión, así que debió de ser por el año 95 ó 96. Es uno de mis juegos favoritos, al que tengo ganas de rejugar si no fuera porque me da cierto reparo la posibilidad de estropear el barniz de la nostalgia.

Background - Landscape

Este tema lo compuse como banda sonora de fondo de la aplicación "Tutor Multimedia de Autoescuelas 2.0" que hicimos mi compañero Juan y yo, con fotos de Álvaro e infografías de Nino, a finales de los '90. Los sonidos en este caso proceden en su totalidad del Roland JV-1080.


Lecturas: Queremos su dinero

Hace algunos meses que estuve en la presentación del libro "Queremos su dinero", y no solo por la amistad que tengo con su autor, Jesús Martínez del Vas, sino porque el tema realmente me interesaba. Así que era cuestión de tiempo que cayera en mis manos para leerlo. Lo tenía en la lista de los Reyes Magos, pero sus majestades no han tenido a bien regalármelo. Así que ha sido mi amigo Miguel quien me lo ha prestado para poder leerlo. Como en los viejos tiempos.

Queremos Su Dinero - Jesús Martínez del Vas
Queremos Su Dinero - Jesús Martínez del Vas

El libro, que se puede leer prácticamente de una sentada, nos cuenta de una manera novelada y, sin entrar en detalles "técnicos", la vida profesional de José Luis Domínguez, durante tres etapas bien diferenciadas: sus primeros pasos profesionales como vendedor, la época Indescomp - Amstrad España y sus negocios después de vender la empresa a Alan Sugar. Todo ello a partir de los testimonios del propio protagonista.

Es cierto que quien se haya interesado por la figura de Domínguez en estos últimos años, este relato no va a descubrir nada que no se haya publicado ya en diferentes entrevistas (1, 2), ya sea en páginas web del ámbito de la retroinformática o en podcasts, como la entrevista que le hicieron en El Mundo Del Spectrum. Sin embargo, me parece muy pertinente la publicación de este libro en cuanto a que, al estar a la venta en librerías y comercios generalistas, puede estar accesible a un público mucho más amplio, que quizás al ver la palabra AMSTRAD en la portada del mismo recuerde aquellos ordenadores o minicadenas de los 80 que se colaron en muchos de nuestros hogares.

Al hilo de la lectura se me ocurren un par de reflexiones. La primera, sobre toda la parte industrial y comercial relacionada con los productos informáticos (y con la venta en general). Todo lo relacionado con importaciones, exportaciones, cadenas de montaje, pruebas, servicio técnico, aranceles, cartas de compra, financiación, marketing, etc. Es un mundo muy complejo donde casi lo de menos es el ordenador en sí. Es lo de siempre, puedes tener un producto genial, que si no eres capaz de hacerlo sostenible y que la gente se entere de que existe y quiera comprarlo, no vale para nada.

Y la segunda, acerca de cómo Domínguez amasó su fortuna. A la vista está que se trata de un esforzado trabajador, que puso su profesion por encima de todo. Y vaya por delante mi reconocimiento a su faceta de vendedor. Vender me parece dificilísimo, especialmente la venta "a puerta fría". Y también por su mentalidad emprendedora; está claro que el que no arriesga no gana. Pero hay que reconocer que en el punto de inflexión de su carrera, el momento en el que le regaló aquellos dos juegos a Alan Sugar con vistas a hacerse en el futuro con la distribución del Amstrad CPC en España, apostó con "dinero" que no era suyo. Porque se comprometió a hacer algo que él no iba a realizar personalmente, y mucho menos en el plazo de tiempo que se autoimpuso para que la apuesta resultase interesante. Él no iba a hacer aquellos juegos en un mes, ni había consultado a quienes iban a hacerlos. Simplemente empujó a aquella gente a la piscina sin saber si había agua.

Obviamente, la cosa salió bien y parece que trató a sus trabajadores de forma muy generosa. Pero él inició ahí su camino para convertirse en multimillonario. Pensemos que es alguien que pudo permitirse más adelante perder 1.000 millones de pesetas en un negocio fallido. Por supuesto, con mucho esfuerzo también por su parte, incluso renunciando a ver crecer a sus hijos (algo que yo directamente ni me plantearía). Pero sin esa apuesta inicial, que como digo hizo con un dinero que no era suyo, la historia no hubiera sido la misma. Supongo que el capitalismo funciona así, y nadie se hace multimillonario exclusivamente de su propio trabajo.


Balance de 2019

El tiempo pasa tan rápido que esta vez ni siquiera he podido escribir estas líneas antes de que acabe 2019. De hecho, lo hago sobre la campana que anuncia el final del mes de enero. En cualquier caso, vamos a realizar un breve balance.

Repasando la lista de propósitos para 2019 veo que —aunque ya lo sabía sin necesidad de leerla— he fracasado miserablemente en su cumplimiento. Más o menos a mitad de año dejé de subir por las escaleras del trabajo y ya no he vuelto a hacerlo salvo en casos muy puntuales cuando hay acumulación de gente esperando por el ascensor. Con lo del móvil, tres cuartas partes de lo mismo. Empecé bien el año pero poco antes del verano volví a caer y creo que ha ido a peor. De eso hablaré luego. Y sobre la compra de juegos... qué decir. Aunque en el tramo final de año sí que me he controlado y no he comprado nada, es cierto que unos cuantos, tanto físicos como digitales, han pasado a engordar mi ya de por sí gran lista de títulos pendientes.

Pero bueno, en realidad me hice a mí mismo un poco de trampa. No por los propósitos en sí, que estaban bien, sino porque estaba obviando lo más importante. En febrero llegó una personita que daría un vuelco a nuestras vidas. Y ante tal acontecimiento, era imposible saber cómo nos íbamos a reorganizar. Y, por qué no decirlo, en ciertos momentos te dejas llevar.

No obstante, y dejando a un lado ese gran e importante apartado de mi vida, me siento orgulloso de haber sido capaz, en el último cuatrimestre del año, de haber portado un juego que hizo Miguel a tres de los ordenadores de 8 bit más usados en los años 80. Orgulloso no tanto por el resultado, sino por haber podido organizarme y sacar tiempo para hacerlo, habiendo aprendido bastantes cosas durante el proceso, cosas que espero volver a aplicar este año. Aunque la mayoría de los detalles técnicos ya los he olvidado, por desgracia.

Uno de los aspectos que tengo que mejorar, quizás el más importante, es la gestión de mi tiempo libre. Para ello, la app Bienestar Digital me ha abierto los ojos. En ella se puede consultar cuánto tiempo le he dedicado al móvil en total y desglosado por aplicaciones. Los resultados no me sorprenden, ya me lo imaginaba: (mal)gasto demasiado tiempo con el móvil. Así que éste pasa a ser el objetivo de este año.

Y básicamente eso. Si lo consigo, debería ser capaz de retomar el deporte, que lo tengo totalmente abandonado. Acabar dos o tres juegos de los largos, para no sentirme tan mal por haber comprado tantos el pasado año. Acabar un proyecto retro que tengo a medias (aunque quizás tenga que volver a empezar después de demasiado tiempo sin tocarlo). Ver si soy capaz de aprender a usar el Logic y componer algo. Y, de paso, volver a tocar algo el piano.

Ya que estamos, comparto mis estadísticas de Strava (este año paupérrimas)

Mi actividad en Strava durante 2019

y de PlayStation.

Mi actividad con la PlayStation durante 2019

Esta vez las estadísticas del blog me las ahorro, que no quiero deprimirme. Pero no me extrañaría que sea el año más pobre desde que empecé a finales de 2004.

Lo dicho: ya veremos dentro de 11 meses qué tal se ha dado. ¡Feliz 2020!


Cómo añadir texto a un PDF escaneado

Hace algunas semanas, hablando con algunos colegas del retro, saltó a la palestra la revista "Código Juego", una publicación del año 1994 en la que se incluían cursos de programación para diferentes lenguajes y plataformas, orientados principalmente, como su título da a entender, al desarrollo de videojuegos. Si buscamos en Internet no encontraremos nada, salvo una entrada en una web de compra/venta de artículos de coleccionista.

El caso es que yo en aquella época ya tenía el gusanillo de programar videojuegos, y compré algunos ejemplares de la revista, en concreto los números 3, 4 y 5, que aún conservo. Así que me he liado la manta a la cabeza para preservarlos.

Un buen sitio hoy día para alojar ese tipo de contenidos es el proyecto archive.org. Así que después de escanearlos, los he subido a mi cuenta. Una vez allí, me he dado cuenta de que se ofrece la posibilidad de descargarlos en PDF con texto. ¿Cómo puede ser eso, si lo que yo subí fueron simples imágenes? Obviamente, tiene que haber alguna manera de automatizarlo, así que me he puesto a investigar.

Tras la clásica búsqueda en Google, he encontrado el proyecto OCRmyPDF, que permite hacer justo lo que estamos comentando. Toma un PDF como entrada y le añade una capa de texto por encima, mediante técnicas de OCR (Optical Character Recognition, o reconocimiento óptico de caracteres).

En la documentación del proyecto tenemos toda la información, en concreto la manera de instalarlo. Yo he optado por usarlo con Docker, que creo que es la manera más cómoda de hacerlo porque no tienes que instalar nada en tu ordenador (salvo Docker, claro, que en mi caso ya lo tenía), y así te ahorras lidiar con problemas de dependencias y cosas por el estilo.

Sí que me ha resultado extraño que la documentación parezca incorrecta, o quizás desactualizada. Me di cuenta al intentar instalar el idioma español para enriquecer la revista (la primera prueba la hice con una revista inglesa). Las instrucciones para instalar un idioma nuevo no funcionan y, además, el español ya viene instalado por defecto, por lo que no es necesario hacer nada más. El método que se indica para usar la entrada y salida estándara tampoco me ha funcionado.

Finalmente, la lista de comandos que he usado para procesar la revista ha sido la siguiente:

docker pull jbarlow83/ocrmypdf
docker tag jbarlow83/ocrmypdf ocrmypdf
docker run --rm -i -v "$(pwd)":/data ocrmypdf -l spa /data/CodigoJuego.pdf /data/CodigoJuegoOCR.pdf

Una vez descubierto este mundo, se me ocurren bastantes aplicaciones. Por ejemplo, de cara a la indexación de contenidos en PDF. Pero ése será un jardín en el que me meta cuando disponga de más tiempo libre, que ahora no es el caso.