domingo, mayo 23, 2021

Una microhistoria con algunos proyectos Open Source en el mundo de los videojuegos, la creatividad y el entretenimiento.

Hace unos días mi compañero y amigo Sergio Sancho nos hablaba de cómo F’ (o F Prime) había permitido el desarrollo de un software de vuelo autónomo para que un drone que se encuentra a millones de kilómetros pudiera volar de forma autónoma por el Planeta Rojo, aunque es impresionante, no debemos olvidar que se ha conseguido con piezas de Software Libre u Open Source.

Figura 1: Una microhistoria con algunos proyectos Open Source
en el mundo de los videojuegos, la creatividad y el entretenimiento.

Ciertamente, existe una cantidad inimaginable de Software Libre y Open Source, ya sea desde pequeños scripts que hacen cosas muy sencillas como gprint - una librería del lenguaje Python que permite un uso de los colores mas sencillos en la terminal - hasta sistemas operativos completos como GNU/Linux (realmente Linux es el Kernel, es decir el “corazón” del sistema operativo).

Hoy quería hacer un pequeño recorrido sobre programas y proyectos en el mundo de los videojuegos y la creatividad a lo largo de la historia, que fueran Open Source y que estuvieran fuera de lo que en general utilizamos. No esperéis un recorrido completo, sino algunas pinceladas en algunos proyectos de estos años que se han creado gracias a la colaboración de una comunidad. Una especie de homenaje a las microhistorias de nuestro compañero Fran Ramírez y Rafael Troncoso que nos cuentan en su libro sobre la historia de la informática y los hackers, pero con este enfoque.

Figura 2: Libro de "Microhistorias: anécdotas y curiosiades de la historia
de la informática (y los hackers)" de Fran Ramírez y Rafel Troncoso 0xWord.

Los que vivíais por los años 80, recordareis con mas o menos cariño los ordenadores de la época, como el Commodore VIC-20, el Commodore 64, las computadoras Spectrum o la mítica Amstrad que tanto significa para Chema Alonso. En aquella época los videojuegos que existían para estos ordenadores estaban completamente basados en texto, es decir, no tenían la capacidad de mostrar sprites (imágenes) y mucho menos de renderizar gráficos en 3D.

Figura 3: Sinclair ZX Spectrum.

En aquella época nació un genero de videojuegos que aun hoy existe y es el denominado “roguelike”. En estos videojuegos, básicamente, el personaje que controlas tiene una sola vida y cuando es derrotado, tiene que volver a comenzar desde el principio. El género se creo a partir del videojuego Rogue de ahí su nombre el cual fue lanzado en 1980. Debido a la fama del genero en la época, surgieron montones de juegos de la misma temática, uno de ellos, fue de los primeros Open Source y es el NetHack.

NetHack, fue lanzado en 1987 por el NetHack DevTeam el cual fue un fork (bifurcación) de Hack otro roguelike de la época, el equipo fue lanzado actualizaciones regulares del mismo hasta 2003, donde dejaron de sacar nuevo contenido y las siguientes mejoras que recibió fueron simplemente de compatibilidad con nuevas plataformas. Debido al parón en el desarrollo, y gracias a que era Open Source, muchos fan comenzaron a modificar el código para crear su propia versión del juego, permitiendo que nuevas personas pudieran disfrutar del juego.

Figura 4: Imagen de una partida de NetHack

Ahora voy a salir un poco del tema para hablar un poco mas de los roguelike, este genero es uno de los mas antiguos y de alguna forma a pesar del tiempo que ha existido su popularidad es limitada frente a otros géneros como los shooter. Afortunadamente, en estos últimos años varios videojuegos, como por ejemplo The binding of Isaac o Hades, han tenido bastante éxito revitalizando la forma de jugar y su dinámica, haciéndolos muy ligeros de jugar y divertidos.

En el otro extremo tenemos Dwarf Fortress, un juego de estos profundos, de los cuales necesitas una guía para jugar al lado, por la cantidad de posibilidades, variables y eventos que ocurren a la vez. En este juego tú no controlas a un solo personaje, controlas a una civilización entera de enanos, los cuales tienen que sobrevivir, comiendo, bebiendo, entreteniéndose, trabajando, descubriendo nuevos lugares mientras cavan hacia lo mas profundo de las montañas. Todo ello mientras evitan ser atacados por otras civilizaciones, destruidos por desastres naturales, o por seres oscuros de lo más profundo de la tierra.

Figura 5: Portada en Steam de Dwarf Fortress

Volviendo al Open Source y sin salirnos de los videojuegos, cuando yo era joven, me encantaba jugar a cuatro videojuegos distintos. El primero de ellos y el que mas recuerdo es el Imperium III: Las grandes batallas de Roma, un RTS (Real-Time Strategy). También jugaba al Patrician III, un juego de simulación y gestión naval y de comercio. El Zoo Tycoon 2, un simulador de funcionamiento de un zoo en el cual se debía crear y mantener un zoo completo. Y por último el RollerCoaster Tycoon, que era como el anterior, pero en este caso se debía gestionar un parque de atracciones. Ninguno de estos era Open Source pero si tenían en común que eran de simulación y gestión, un genero que ha apasionado a multitud de personas a lo largo del tiempo. El problema es que en general envejecen muy mal y en solo unos pocos años ya se notan anticuados, con mecánicas repetitivas y carentes de mucha dificultad, todo esto claro porque se han jugado ya muchas horas a los mismos.

Pero en el año 2004 alguien tuvo la genial idea de crear un simulador Open Source e irlo actualizando con la ayuda de la comunidad. Este proyecto se llama OpenTTD el cual es un simulador de negocio. Para ser mas exactos un simulador de transportes, en el cual tienes que gestionar el transporte de pasajeros y mercancía tanto por tierra, como por mar y aire. Este proyecto surgió como alternativa moderna y Open Source a un videojuego de 1994 llamado Transport Tycoon Deluxe. Este proyecto a diferencia del anterior, sigue en continuo desarrollo y cuenta con muchísimas mejoras respecto al original, como multijugador masivo con hasta 255 jugadores, mapas mas grandes o compatibilidad con sistemas modernos. 

Figura 6: Imagen de una partida de OpenTTD

Dejemos de hablar de videojuegos y cambiemos de tipo de software. Casi todo el mundo conoce Photoshop. Es el programa de edición de imagen omnipresente en cualquier empresa que se dedique a trabajar con imágenes, cosa que esta muy bien ya que la suscripción incluye soporte, actualizaciones, sincronización en la nube y muchas cosas mas. El problema viene cuando nosotros, como personas individuales, queremos realizar retoques medianamente decente a nuestras imágenes pero no queremos pagar una suscripción o pagar cientos de euros en comprar un software que vamos a utilizar unos minutos.

Es por ello que existen soluciones alternativas Open Source que en la mayoría de aspectos no tienen nada que envidiar a las soluciones comerciales que ofrecen algunas empresas. Uno de estos proyectos Open Source, y de los posiblemente mas conocidos, es el editor de imágenes GIMP, que realmente poco hay que decir de él. Es una alternativa fantástica para editar imágenes, tiene la mayoría de herramientas con las que cuenta Photoshop y no tiene coste ninguno, además de que tenemos la posibilidad de modificarlo a nuestro gusto, ya que podemos acceder a su código fuente. 

Pero qué ocurre si, en lugar de editar imágenes, queremos dibujar, ya sea un cómic, la portada de un libro, o cualquier otra cosa. Afortunadamente gracias a los desarrolladores Open Source tenemos soluciones para todo, en este caso la solución es Krita.

Figura 7: Artwork de la mascota de Krita creado con el mismo programa

Krita es un proyecto Open Source que es una joya en su categoría. Es un software de dibujo de nivel profesional, el cual es completamente gratuito (en algunas tiendas como la de Windows o la AppStore de MacOs, tiene un coste simbólico, pero en su propia web se puede obtener de forma 100% gratuita), y se lanza para casi cualquier plataforma (actualmente si no me equivoco esta en Windows, MacOS, GNU/Linux - como appimage y en flatpak - y para Android). Permite la utilización de múltiples pinceles, es compatible con tabletas gráficas de casi cualquier marca, tiene un formato propio muy eficiente, puede trabajar con otros formatos de terceros y está traducido a multitud de idiomas.

Si lo que quieres es crear contenido en el estilo Pixel Art y animarlo, también existe una herramienta Open Source para ello, y ésta es Aseprite. Es un editor de imágenes tipo Pixel Art bastante potente y multiplataforma, que además de permitirte crear imágenes estáticas te permite editarlas para poder exportarlas a otros programas distintos. Aunque este software tiene un modelo de financiación diferente. Todo es Open Source y se puede encontrar su código en Github, pero si lo queremos utilizar, debemos o pagar para obtener el instalador en su pagina web oficial o con el código fuente generar una build nosotros mismos para poder utilizarlo.

Otros proyectos dentro de los gestores de archivos de vídeo y sonido, o de nuestras copias de seguridad de nuestros CD, DVD y BluRay, tenemos soluciones comerciales como Plex, el cual nos permite mantener nuestra colección ordenada y con un acceso sencillo y muy bonito. Por ello, han surgido alternativas, como Emby, que era Open Source, pero a medias.  Solo algunas partes del programa eran Open Source y algunas librerías usadas no lo eran, y por ello se creó lo que sería una alternativa de la alternativa que en este caso se llama Jellyfin, con código completamente abierto y que tiene las mismas funciones que los dos anteriores.

Figura 8: Pantalla principal de Jellyfin

Y para terminar este collage de proyectos Open Source alrededor de los videojuegos, la creatividad y el entretenimiento, quiero hacer una mención especial a uno que permite que se utilicen proyectos Open Source alternativos en Windows, sin tener Windows. Al principio he hablado del Kernel de Linux, el cual digamos es la alternativa Open Source mas conocida a los sistemas operativos de Microsoft y Apple, pero existen muchas otras alternativas. Por ejemplo FreeBSD, el cual es el sistema detrás de consolas como la Nintendo Switch o la PlayStation 4, y tenemos un caso bastante poco conocido por el gran público, pero no por ello menos interesante como es ReactOS, el cual se podría denominar como un sistema operativo compatible con aplicaciones de Windows, sin utilizar ningún código de Microsoft

Figura 9: Captura de la ultima versión de ReactOS. Muy al estilo Windows.

¿Qué significa esto? Pues que esta creado para poder ejecutar los programas y drivers creados para Windows, de forma nativa, es decir, sin ningún tipo de cambio y de forma directa. Esto se hace de forma lenta y ardua, ya que se debe re-implementar todo el código de Windows, sin conocerlo para que funcione sin fallos. Por ello, aunque existe una lista de programas compatibles, ésta es muy escasa y en general se tratan de programas antiguos. Aunque esto no quita lo interesante de tener una alternativa más Open Source que lleva muchos años. De él se habló por aquí cuando iba por la versión ReactOS 0.3

Como podéis ver, los proyectos Open Source son muy diversos, y generalmente de alta calidad, aunque obviamente no tienes presupuestos millonarios detrás. Lo que suelen tener detrás es un equipo formado por montones de personas apasionadas por escribir código, que les encanta desarrollar proyectos que todo el mundo pueda disfrutar y que sueñan con cambiar un poco el mundo. Solo un poco.

Saludos,

Autor: Guillermo Peñarando Sánchez, Developer en Ideas Locas CDCO de Telefónica.

No hay comentarios:

Entrada destacada

Singularity Hackers: Para descubrir el trabajo de Ciberseguridad & Seguridad Informática que mejor se adapta a ti

Hoy me toca hablar de Singularity Hackers , la nueva plataforma de Inteligencia Artificial que te ayuda a descubrir el trabajo en Cibersegu...

Entradas populares