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.
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.
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.