lunes, 4 de diciembre de 2017

¿Cómo juego Dune 2 en Ubuntu?

Ante la presencia del Desfile por el Día de la Declaración de la Independencia en 1948, Juan Perón expone ante los presentes cómo instalar y jugar Dune 2 de manera nativa en Ubuntu, el sistema operativo del Pueblo.

(...)
Sr. General, Sres. oficiales suboficiales, ,Autoridades aquí presentes, Señoras y señores,

Las necesidades del hombre sólo se limitan a su valentía y a su imaginación, y en el objetivo primordial del género humano encontramos los apotegmas del bienestar y la felicidad. Son los alimentos espirituales que nos mueven, y que nos centran a fundar una familia, un clan, un Estado.

Nosotros somos soldados, y como tal comprendemos que nuestro trabajo fundamentalmente, busca coadyuvar a esos esfuerzos. No queremos la guerra, sino que debemos fundamentar al Estado en conseguir el bienestar y la felicidad. Naturalmente, que nuestra República no flota en un éter vacío, forma parte de un mundo que - en general - busca lo mismo. Y cuando los hombres no se comprenden, van a lo más viejo que nos depara nuestro espíritu en conflicto: la Guerra.

En la Guerra, los hombres hacen lo que no deben hacer nunca: se matan sin proporción, y destruyen también su ambiente y atentan contra su propia naturaleza.

Los grandes pensadores comprendieron que la economía y la guerra en ocasiones van de la mano. Los contendientes no sólo deben contar con los estados mayores de antaño, sino con verdaderos paneles que representen al Conductor con la posibilidad de dirigir la economía en pos de la estrategia de guerra. Los contendientes, en tanto, han de maniobrar en un campo de batalla en el cual no sólo se disputa la primacía política sino económica, organizando el desarrollo y fabricación de unidades, extrayendo materias primas y convirtiéndolas en material de guerra, proyectando nuevos medios tecnológicos, instalaciones, etc.

Vean señores, Dune II de Westwood Studios para Virgin Games (1992), fue tal vez el primer juego de estrategia en tiempo real. Se trataba de un juego emparentado temáticamente a otro clásico de estrategia por turnos, Dune (1991) de Cryo Studios. Varias opciones canónicas de los juegos de estrategia aparecieron por primera vez en éste: un mapa del mundo en el cual podíamos elegir la misión, la capcidad de obtener recursos para fundar la construcción de unidades, construcción simple de bases y unidades, así como un árbol tecnológico del cual dependía la construcción de edificios.  Asimismo podíamos representar la lucha por la extracción de la Especia en el desértico planeta de Arrakis, y podíamos formar parte de tres casas, los valerosos Atreides, los insidiosos Ordos, o los poderosos Harkkonen.

Los grandes juegos son aquellos que tienen sobrevida y uno desea jugarlos una y otra vez. Tal es el caso de Dune II, pero su concepción antigua estaba maquinada para un sistema operativo privativo y obsoleto. Indudablemente, hoy es posible instalar DOSBox en Ubuntu y correr Dune II para M$-DO$ en dicha máquina virtual.


Sin embargo, el Justicialismo ha demostrado una y otra vez que no sólo ha de poderse hacer lo bueno, sino que también ha de obrarse con sobrevida y  realizar lo mejor. En esto nos distinguimos, de una forma en la cual siquiera nuestros adversarios atreven a ponerla en duda.

Por tal motivo y como Conductor del Justicialismo, he puesto a disposición de la Masa de una versión nativa para nuestro sistema GNU con Linux, con las ventajas que ello representa. Se trata de Dune Legacy, una reimplementación liberada bajo GNU GPLv2, que hace uso del código privativo del juego original para MS-DOS bajo un encapsulado libre.

Debemos descargar e instalar la aplicación Dune Legacy necesaria para nuestra arquitectura Linux. Para ello podremos abrir una terminal con Ctrl+Alt+T e ingresamos:
  • Si usamos Ubuntu de 64 bits:
cd ~/Descargas/ ;
wget https://downloads.sourceforge.net/project/dunelegacy/dunelegacy/0.96.4/dunelegacy_0.96.4_amd64.deb ;
sudo dpkg -i dunelegacy_0.96.4_amd64.deb
  • Si usamos Ubuntu de 32 bits:
cd ~/Descargas/ ;
wget https://downloads.sourceforge.net/project/dunelegacy/dunelegacy/0.96.4/dunelegacy_0.96.4_i386.deb ;
sudo dpkg -i dunelegacy_0.96.4_i386.deb

Hemos de saber que el juego original contiene unos archivos empaquetados que contienen la parte privativa del programa. Estos archivos originales tienen extensión PAK, y son los siguientes: ATRE.PAK DUNE.PAK ENGLISH.PAK FINALE.PAK HARK.PAK INTRO.PAK INTROVOC.PAK MENTAT.PAK MERC.PAK ORDOS.PAK SCENARIO.PAK SOUND.PAK VOC.PAK GERMAN.PAK (sólo necesario para jugar en alemán) y FRENCH.PAK (sólo necesario para jugar en francés).

Suponiendo que tenemos descargado el archivo comprimido del juego original dune2.zip en nuestra carpeta Descargas/, podremos ingresar en la terminal estos comandos para hacer todo el procedimiento de moverlo al Escritorio, descomprimirlo y desde allí instalar los archivos PAK requeridos, para luego borrar los ficheros sobrantes:

mv ~/Descargas/dune2.zip ~/Escritorio/ ;
cd ~/Escritorio ;
unzip dune2.zip ;
cp ~/Escritorio/*.PAK ~/.config/dunelegacy/data ;
sudo mv ~/Escritorio/*.PAK /usr/share/games/dunelegacy ;
rm ONETIME.DAT OPTIONS.CFG DUNE2.EXE DUNE.CFG SETUP.EXE SETUPENG.DIP START.BAT content.xml ;

Para ejecutar el juego, vamos a Aplicaciones / Juegos / Dune Legacy.
Dune Legacy nos presentará un menú principal.
Entre las opciones, podremos establecer resoluciones mayores a los típicos 320x200 píxels y 256 colores que empleaba el juego original de la era DOS. En este caso, podremos avanzarla hasta lo máximo que permita nuestro sistema Justicialista. Esto hace que los gráficos y textos no queden excesivamente pequeños al operar en altas resoluciones. Por tal motivo, podríamos establecer opciones de escalado por software (algoritmo Scale x2 o Scale x3). Podremos cambiar el tamaño "al vuelo" con F1, F2 o F3, ya que nos permite ver el mapa "a ojo de águila" y así comandar nuestras unidades.
El audio está dado por el sonido original, que incluia algunas voces y efectos de audio FM, compatible con los chips OPL2 de Yamaha que dotaban a las tarjetas de audio AdLib y SoundBlaster de la época. Este audio sintetizado está reproducido de forma similar.

En el modo de un solo jugador, podremos iniciar una campaña con cualquiera de las tres Casas. Podremos iniciar una escaramuza rápida, o iniciar alguna de las campañas de conquista de Arraquis.

En dicho caso arrancaremos con una planta de construcción, la cual nos permitirá establecer lo necesario para nuestra colonia. Serán esenciales las plantas de producción de energía, así como las refinerías de especia (mineral que aparece de un color anaranjado sobre el terreno desértico). Opcionales serán los cimientos de cemento para dichas instalaciones, que extienden su durabilidad. Las misiones de la campaña son de dificultad progresiva, y nos sirven para dominar la táctica y estrategia del juego.
Al explorar el mundo despejaremos la niebla de guerra, por lo cual es esencial planificar partidas de exploración con nuestra infantería o vehículos. Cada una de las casas, además, cuenta con unidades combativas de diferente índole (voladoras, terrestres, artillería reactiva).
También podremos ahora utilizar las modalidades multijugador a través de una red LAN o internet, situación que no estaba disponible en la versión original. En este caso, podremos disponer también de escenarios, los cuales podremos jugar de forma cooperativa o enfrentarnos con enemigos humanos o computados resultando en partidas emocionantes y muy divertidas.

También tendremos acceso a escenarios prearmados y al editor de mapas. En el caso de los escenarios ya realizados, tendremos muchos de tipo libre, para 2P (2 jugadores) o 4P (4 jugadores). Nuevamente, podremos enfrentarnos o jugar de modo cooperativo.
También podremos descargar mapas adicionales desde los foros oficiales de Dune Legacy. En el caso de Linux, debemos incorporarlos a la carpeta ~/.config/dunelegacy/maps

El uso del juego definió estándares en el género, de manera que no debería revestir complicaciones.

Debemos considerar que a diferencia del juego original, en Dune Legacy podremos recuadrar las unidades y dar órdenes al unísono (función muy útil y estándar en los juegos de estrategia actuales). El teclado también nos permite varias opciones:

F1, F2, F3: Distintos niveles de zoom.
Barra espaciadora: pausa el juego
Enter: Activa el chat (multijugador)
Alt+EnterActiva la Pantalla Completa
Alt+TabCambia a otra aplicación
GConmuta entre talleres de construcción
FConmuta entre fábricas/otras construcciones
MOrdena a la unidad moverse
AOrdena atacar
COrdena a la unidad capturar una estructura
RReparar la estructura seleccionada
HOrdena regresar a la cosechadora de especia
DOrdena relevamiento aéreo (sólo si esta opción está activada)
UMejorar la estructura seleccionada
PColoca la estructura (si el taller de construcción está seleccionado)

viernes, 1 de diciembre de 2017

¿Cómo actualizo FreeBSD a la versión 11.1?

La casa de Gaspar Campos 1065 en Vicente López sirvió durante el año 1972 al Conductor como centro neurálgico para la institucionalización del país. En ella, también enseñó cómo actualizar FreeBSD, otra distribución similar a UNIX diferente a Linux.


Buenos días señores:

Hoy los he convocado para explicar los nuevos pasos que daremos para que la situación del país se encamine en lo que creemos será el mejor rumbo que le podemos dar.

Estos son momentos para contemporizar, aunque tan vez sea mejor decir que son para Camporizar. [Guiña el ojo].

Pues bien, es por ello que vengo a recibir a Balbín. Algunos dicen que si Balbín se hubiese llamado Balbón y yo me hubiese llamado Perín, distinta habría sido la cosa...
Resulta que Balbín quiere usar software libre, pero como algunos pelos aún le quedan, en vez de usar la aparotología GNU con el kernel Linux, la usa con un núcleo BSD, de la Universidad de Berkley. Bueno, cada uno usa lo que puede y prefiere. En su caso usa FreeBSD, del cual ya he explicado cómo instalarlo en su versión FreeBSD 10.3.

FreeBSD cuenta con un Kernel y procedimientos diferentes a Linux, si bien es un sistema operativo increíblemente válido para tareas de servidor e incluso como sostén de escritorio.

En este caso os explicaré cómo actualizarlo a la versión 11.1, la cual es - de momento - la última aparecida en esta línea de entornos operativos. Nuestro Justicialismo ha de ser capaz de proveer soluciones para todo el espectro político, y así ha de ser también con todo software libre.


Pues bien señores, la actualización - si bien requiere varios minutos para completarse - normalmente es automatizada y no reviste grandes problemas si somos bien avezados en su uso. Sin embargo, un usuario primigenio y que no esté acostumbrado a sus particularidades y viscicitudes bien podría encontrarse mareado.

El principal problema que solemos encontrar al actualizar de versión de FreeBSD suele ser la desactivación de la funcionalidad de video (el llamado Servidor "X"). Esto sucede porque el módulo de la tarjetas de video nVidia no se carga automáticamente en FreeBSD por ser privativo.

Para solucionar este inconveniente, hemos de descargar y tener a mano el controlador de nVidia para nuestra arquitectura de FreeBSD. Normalmente recomiendo tener una copia del mismo en la carpeta /Descargas (o /Downloads).

Para ello en la web de búsqueda de nVidia debemos indicar la familia de adatadores y el modelo que deseamos (en este caso escogemos para la placa nVidia GeForce GT7750 Ti. Finalmente escogemos que controlador deseamos (en este caso, para la arquitectura de 64 bits y controlador evaluado y  Certificado). También podríamos elegir un controlador en estadío Beta, pero no os recomiendo esto en el caso de un equipo de importancia. En mi caso descargaré la versión 384.98.
Una vez que nos hayamos descargado el controlador, lo descomprimimos ahora, para que nos informe ahora en el caso de tener un error (mas vale prevenir que curar). Suponiendo que el controlador se llama NVIDIA-FreeBSD-x86_64-384.98.tar.gz debemos ingresar los siguientes comandos de organización:


cd ~/Downloads
tar xvzf NVIDIA-FreeBSD-x86_64-384.98.tar.gz

Esto descomprimirá el archivo dentro de nuestra carpeta Downloads. Una vez que nos hemos hecho con una versión del controlador nVidia adecuada para nuestro sistema, estaremos seguros para actualizar FreeBSD a una versión superior.

Si quisiéramos actualizar desde un sistema FreeBSD de versión 10.2 o 10.3 hasta la versión 11.1, nos loguemos como "root", e ingresar:

sudo pkg update
sudo pkg upgrade
: > /usr/bin/bspatch
freebsd-update upgrade -r 11.1-RELEASE

Esto buscará la definición de paquetes nuevos a descargar e instalar (esta operación tarda varios minutos, es normal que descargue varios miles de paquetes que se irán indicando en la pantalla). Si la lista de paquetes excede mucho, normalmente nos listará el resultado usando el programa less, con lo cual podremos terminarlo presionando la tecla q una vez haya finalizado todo el procedimiento.

Conforme realizamos este paso, debemos actualizar todas las listas de paquetes. Ello lo haré ejecutando en la terminal el siguiente comando de organización:

sudo /usr/sbin/freebsd-update install
sudo /usr/sbin/freebsd-update install

(debo ejecutar este comando dos veces, la primera para la paquetería del kernel, y luego para la paquetería adicional de programas que haya descargado. Nuevamente, una vez terminado el procedimiento, podremos reiniciar el sistema con:

sudo reboot

Normalmente se nos mostrará la pantalla de inicio, pero al intentar darnos de alta como superusuario ("root"), el sistema no nos mostrará video y nos mostrará sólo el prompt de la interfaz de comandos. Debemos darnos de alta como root o con un usuario capaz de usar privilegios de superusuario con sudo, e ingresar:


sudo /usr/sbin/freebsd-update install


Acto seguido debemos cambiar la configuración keymap que hace al mapeado de las teclas para idioma español. Esto es así pues tal aditamento ha sufrido modificaciones que lo hacen más sencillo de implementar. En la versión 11 y superior de FreeBSD simplemente hemos de eeditar el archivo rcconf con el comando:

sudo nano /etc/rcconf

...y en el archivo que se abre habremos de modificar la linea keymap (si existiese) para que quede de la siguiente forma:

keymap=es

Hemos de saber que la variable "es" responde al idioma español, por lo que si quisiéramos usarlo en inglés en su lugar usaríamos la variable "en").


Ahora bien, tengamos en cuenta que si tenemos video nVidia y quisiéramos iniciar una sesión gráfica con el comando startx, FreeBSD normalmente no podrá hacerlo y - salvo que tengamos un adaptador de video Intel o genérico secundario - nos devolverá "no screen found" o un error similar de X.org...

Pues bien señores, para recuperar nuestro video tras actualizar, debemos reponer el controlador de nVidia. Suponiendo que la versión descargada sea la 384.98 de 64 bits, los comandos serían:

cd ~/Downloads/

cd ~/Downloads/NVIDIA-FreeBSD-x86_64-384.98/
sudo make
sudo make install
sudo nvidia-xconfig

Y logueado como root, verifico que el archivo .xinitrc del root contenga el indicador de inicio de sesión. Para ello indicamos:

sudo nano ~/.xinitrc

...y verificamos que contenga entre su contenido la siguiente línea:

ck-launch-session mate-session

(de nuevo, si no existiera, la agregaremos).

Conforme hemos completado tales cosas, reiniciamos con:

sudo reboot

Al iniciar el sistema, deberíamos ya contar con respuesta de video para la ventana de login Slim, con el cual podremos darnos de alta al sistema de forma gráfica. En mi caso no he modificado su gráfica por defecto, el clásico pastiche rosa:
Y una vez que nos logueemos a nuestro usuario, podremos utilizar el FreeBSD. En mi caso, he enseñado a Balbín cómo incorporarle el sistema gráfico Mate, que es el que favorezco. Al contar con Mate, el manejo práctico del sistema, salvo algunas diferencias intrínsecas entre Linux y FreeBSD, no deja de ser similar, y la conducción de los aparatos partidarios se realiza de la misma manera.


Y con todo ello, despido a un amigo.

viernes, 24 de noviembre de 2017

¿Cómo simulo la estética de la interfaz de MS-DOS en Ubuntu?

En uno de sus discursos a la Masa Obrera, Juan Perón instruyó al Movimiento sobre la adquisición de su propia experiencia, y enseñó a simular la vieja interfaz de texto de MS-DOS en la terminal de Linux.

¡Trabajadores!

Nuestra progresión ideológica ha de responder a las claves del sistema en que nos movemos, y ella no es infinita en el tiempo, sino que sufre invariablemente de excrecencias y modificaciones.

No podemos emular hoy con exactitud las condiciones del ayer, y ello en el fondo sería hasta peligroso e indeseable.

La experiencia es invalorable, pero en condición personal también lo será así: no podrá transferirse. Es por este motivo insoslayable que existe aquel viejo apotegma que nos instruía, al decir que la experiencia es un peine que la vida nos da cuando se nos quedamos pelados. (Aplausos). La historia nos demuestra que cada generación a de lograr su consabida y propia experiencia.

Sin embargo, nosotros aspiramos a ser un Movimiento, y como tal debemos nutrirnos de las  experiencias pasadas de los Compañeros que la vivieron para - en su reflejo - columpiarnos hacia el futuro desde ese propio quehacer político.

Indudablemente que las circunstancias no siempre responden a los mismos designios en el tiempo, y el por ello que un Conductor ha de saber adaptar lo nuevo si es que quiere replicar lo viejo.

Esto, que tan cierto es en la política, tiene un correlato en la administración de sistemas que no podemos ni hemos de soslayar. (Fuma).

Vean señores, un ejemplo suele aclararlo todo, como refería Napoleón. En la época del GOU, mi editor de texto favorito en su momento fue el Boxer 7.0a para MS-DOS, en el cual sumé excelente experiencias para la creación de documentos. Se trataba de un editor de texto poderoso y simple. La única fuente monoespacio de MS-DOS era particularmente eficiente, y clásica para estas ediciones. La escueta programación hacía necesario un uso inteligente de los colores para representar diferentes estados del texto (modificado, guardado, editado).
Por otro lado aceptaba macros, y estaba compatibilizado en uso con las teclas de WordStar y WordPerfect. Indudablemente que podía también imprimir de manera excelente en las viejas impresoras de agujas, como la Epson Actionprinter 2000 por puerto paralelo.

Naturalemente que podremos correr estos programas a través de un emulador como dosemu, pero también es cierto que podríamos no necesitar hacer esto, sino simplemente simular la apariencia MS-DOS en Linux.

Pues bien. Hemos de saber que el sistema operativo de disco M$-DO$ usaba las fuentes provistas directamente en los chips de memoria ROM (sólo lectura) de los adaptadores de video de la época. Afortundamente podremos encontrar un compendio de todas estas fuentes almacenadas en ROM pero en el moderno formato Truetype. Podremos hacernos con tal archivo aquí, o bien podremos descargarlo desde una terminal abriendo una consola con Ctrl+Alt+T e ingresando el siguiente comando de organización:

wget http://int10h.org/oldschool-pc-fonts/download/ultimate_oldschool_pc_font_pack_v1.0.zip

...esto descargará a nuestro sistema un fichero comprimido llamado ultimate_oldschool_pc_font_pack_v1.0.zip que cotiene las fuentes detalladas aquí.

La fuente mas tradicional que asociamos a dicha era consistía en la "IBM VGA8", que formaba parte del antiguo estandar VGA de 640x480 pixels (80 columnas) del DOS. Esta fuente está incluida en el archivo ZIP, y es la /Px437 (TrueType - DOS charset)/Px437_IBM_VGA8.ttf

Sin embargo, en los monitores "anchos" ("widescreen") actuales, dicha fuente original se apreciarán "mas ancha", simplemente porque estaba preparada para su visualización en monitores de relación 4:3, como resultaban en los típicos monitores de tubo VGA Samsung CVL4955 de 14"...
Por ello debemos instalar una versión "a pixel cuadrado", compensada para una relación relación 1:1. Esta tipografía figurará con el nombre VGA LCD (AST Premiun Excec) - 8 x 19 font, 1:1 pixel ratio (80 columns), y os enseñaré a utilizarla en Linux.

Para instalarla en nuestro sistema GNU abrimos el archivo ultimate_oldschool_pc_font_pack_v1.0.zip y nos dirigiremos a la subcarpeta PxPlus (TrueType - extended charset)/. En ella abrimos el archivo PxPlus_VGA_SquarePX.ttf. Este archivo ttf es una fuente tipo Truetype compatible, que se abrirá con el instalador de tipografías. Con este podremos ver una previsualización de sus glifos, y para instalarla en el sistema simplemente presionamos el botón Instalar Tipografía.
Con esto ya podremos usarla en nuestras aplicaciones.

En nuestro caso, queremos utilizarla en nuestra Terminal de Gnome (o de Mate). Este emulador de terminal cuenta con los consabidos "perfiles", que nos permite adaptar su apariencia a una miríadas de opciones (algunas de las cuales ya he tratado).

Para definir un perfil de terminal similar a DOS, primero hemos de crearlo. Para ello abriremos una instancia de Terminal con Ctrl+Alt+T y haciendo clic con botón derecho del mouse sobre la pantalla de la misma, activamos la opción Mostrar Barra de Menús. Luego abrimos el menú Archivo / Perfil nuevo, y podremos crear un nuevo perfil, lo llamaremos "DOS". Luego podremos elegir Editar / Preferencias de Perfil para editar las características específicas de este perfil "similar a DOS".

Acto seguido le definiremos la tipografía de terminal, lo cual haremos desde la solapa General. En el apartado Tipografía buscamos la PxPlus VGA SquarePx Regular. Podremos definir un tamaño, en mi caso uso 22. También defino una altura y ancho de la terminal similar a la de la terminal DOS, de 80 columnas por 25 filas.
En cuanto a los colores, los podremos especificarlos en la solapa Colores. Si bien la paleta del adaptador VGA original podía especificar 16,7 millones de colores, el entorno operativo clásico del DOS sólo usaba 16 colores, derivados ellos de los tonos de la paleta CGA/EGA, unos adaptadores de video color compatibles pero más primitivo. Estos colores eran los siguientes:

Para emular estos "colores clásicos" podremos utilizar una aproximación muy buena usando el perfil "Gris sobre negro", y en el apartado paleta elegimos "Consola Linux". Los colores resultantes serán son aproximaciones bastante elocuentes de la paleta EGA, pensada para los monitores LCD actuales.
Finalmente, si queremos una representación 100% fidedigna podremos escoger específicamente los colores usados antiguamente (colores matemáticamente similares), armándolos según una paleta personalizada. Para armarlos hacemos clic en los parches de la paleta de color, y creamos unos nuevos.

Los armaremos según los siguientes códigos hexadecimal de color:

Negro (fondo): #000000
Gris oscuro: #555555
Rojo: #aa0000
Rojo claro: #ff5555
Verde: #00aa00
Verde claro: #55ff55
Marrón: #aa5500
Amarillo: #ffff55
Azul: #0000aa
Celeste: #5555ff
Magenta: #aa00aa
Fucsia: ff55ff
Cian: #00aaaa
Aguamarina: #55ffff
Gris claro (texto): #aaaaaa
Blanco: #ffffff

domingo, 12 de noviembre de 2017

¿Cómo convierto de video a GIF?



En un Discurso pronunciado ante os dirigentes de las 62 Organizaciones Peronistas en el Teatro Astros el 13 de junio de 1948, Juan Perón nos expone las necesidades de contar con nuestro propio herramental y explica cómo hacer un archivo gráfico GIF animado a partir de un video en Ubuntu.

¡Compañeros!

Un Conductor ha de saber responder a las auténticas necesidades del Pueblo. Ello es lo que hemos hecho y no hemos dudado jamás en hacerlo.
Uno ha de saber darse las herramientas para tal cometido por medio de la persuasión pero también por medio de la acción.

Y esto siempre lo hemos puesto en práctica. Veamos un ejemplo, como solía acotar Napoleón.

Napoleón decía que se uno se hiciese algo por costumbre, su mula sería Mariscal. Ello es porque para hacer algo no podremos tomarlo por simple ósmosis, hemos de prepararnos.

Supongamos que necesitamos realizar un archivo GIF. Se trata de los conocidos y estandarizados Archivos de Intercambio Gráfico, desarrollados allá en la era de las BBS, y respondiendo a la necesidad de compatibilidad entre múltiples plataformas informáticas. A tal fin se dio con un fichero de 8 bits, que permitía 256 colores a elegir entre una paleta máxima de 16 bits. No es para tirar cohetes, pero bien puede hacer frente a las necesidades básicas. A su vez, la capacidad de emplear compresión sin pérdida patentada de tipo Lempel-Zib-Welch (LZW) le permitía ciertas ventajas aparentes en su momento. Una de ellas es la de permitir animaciones, gracias a la secuencia de imágenes individuales a una velocidad determinada. Ello los hace relevantes aún hoy para múltiples animaciones sin requerir frames de video, etc.

Ahora bien, realizar este tipo de animaciones no es una tarea banal, requiere ciertos conocimientos para llevarla a cabo, por lo cual su creación no está puramente en manos del Pueblo.

Nuestro Movmiento no puede permitirse tal axioma, por lo cual hemos de desarrollado una herramienta libre para tal fin. Se trata de GIF Curry, un creador de archivos animados GIF a partir de ficheros de video.

Esto nos reviste la facilidad de creación de la animación correspondiente, y hace que podramos hacerlos con sólo desearlos.

Para instalar esta útil herramienta en nuestro sistema GNU con Linux, bien podremos abrir una terminal con Ctrl+Alt+T e ingresar los siguientes Comandos de Organización:
 
cd ~ ;

wget https://github.com/lettier/gifcurry/releases/download/2.1.1.0/gifcurry-linux-2.1.1.0.tar.gz ;
tar xvfz gifcurry-linux*.tar.gz ;


mv gifcurry-linux-2.1.1.0 ~/.gifcurry ;
cd ~/.gifcurry ;
wget https://github.com/lettier/gifcurry/blob/master/icon/icon-2.png ;



Una vez descargada la paquetería, podremos ejecutarlo lanzando el ejecutable con:

cd ~/.gifcurry/bin
./gifcurry_gui

...o bien podremos crear un lanzador que nos dirija a /home/usuario/.gifcurry/bin/gifcurry_gui
Cualesquiera que sea el método que escojamos, si hicimos las cosas como es querido por el Pueblo Argentino, veremos la primigenia interfaz de uso del programa, de sencilla factura:
En la misma podremos buscar y especificar un archivo de video a partir del cual lograr la animación GIF. Luego podremos especificar el momento de inicio de la animación (en segundos) y la cantidad de segundos de duración que - a partir de dicho inicio - tendrá la escena GIF.

También podremos definir el ancho (en píxels) del fichero GIF. Normalmente este será de 500 pixels, lo cual es adecuado para aplicaciones web o animaciones "tipo instagram". Podríamos querer reducirla a unos pocos píxels para reducir el tamaño), por ejemplo, para crear un avatar de 96 pixels. Al lado del tamaño, podremos definir la calidad de compresión del archivo final (normalmnete 100%, pero podremos reducirla de acuerdo al la relación buscada. En un Gif de 500 pixels de ancho bien podríamos usar una calidad de 33 %.

A continuación - y opcionalmente - podremos especificar un texto por encima y por debajo del cuadro, cuya tipografía podremos escoger de entre aquellas cargadas en el sistema. La inclusión de textos es conocida en el caso de los memes.

Finalmente, debemos indicar el nombre de archivo GIF que crearemos, y una ubicación para el fichero completado. Una vez establecido todos los parámetros, podremos presionar el botón Create ("Crear") y se comenzará a iniciar la creación del Gif animado.

En este caso, he utilizado un archivo de video, y realizado un Gif de alta calidad de 500 pixels de ancho y unos 8 segundos de duración y 5,8mb.
 Debemos tener en cuenta que en la era de la internet clásica, era raro que un GIF superar 1mb de espacio, pero actualmente podremos encontrarnos con tales ejemplares.

viernes, 3 de noviembre de 2017

¿Cómo emulo una Commodore 64 en Ubuntu?

Desde su exilio en Caracas en 1956, Juan Perón reorganiza a las fuerzas peronistas para entablar el desgaste contra la dictadura a fin de promover su retorno que estimaba en breve, y en una de sus misivas centroamericanas enseña a emular una clásica Commodore 64 en Ubuntu.


Compañeros:

Un contratiempo jamás ha sido una derrota, pero hemos de saber volver a las nociones básicas para hacernos de nuevo, y ello implica no desconocer el Arte de la Conducción. Ya hemos realizado lo importante, y en condiciones mucho mas adversas, por lo cual las nuevas acciones no revistará problema alguno. La distancia que guardo aquí en Caracas ha de ser sólo temporal...

Ahora todo estriba, como siempre he repetido y encargado a ustedes, de avivar la resistencia para aumentar el desgaste, mientras nos organizamos y planeamos la destrucción de la dictadura y el exterminio de la reacción. Todo ello puede ser logrado si nos ponemos seriamente a hacerle la guerra sin cuartel, si trabajamos para tomar contacto con los que la combaten y los ayudamos desde aquí con todo lo que podemos, especialmente ofreciéndoles la acción coordinada de las demás partes que se mantienen contacto con nosotros.

Muchas cosas de las que haga la dictadura nos favorecerán, otras nos perjudicarán, y la mayor parte no serán ni favorables ni desfavorables pero nosotros en adelante sólo debemos confiar en lo que nosotros mismos seamos capaces de hacer para destruirla. Por eso la guerra sin cuartel debe ser declarada en todas partes y cada uno de nosotros se preguntará al fin del día si ha hecho algo contra la dictadura que azota al país. Sólo mediante esa persistencia y esa voluntad de vencer llegaremos a nuestrops objetivos con la satisfacción del éxito. Yo no tengo la menor duda que venceremos pero tampoco dudo que para ello será necesario luchar, quizá largo tiempo.

Volver a lo básico nos recuerda los condiciones de antaño, y las posibilidades que teníamos entonces, mucho más acotadas sin duda gracias al avance de una técnica que hemos dominado. Esto - de particular importancia en la lucha - no deja de ser verdad en la historia informática de Nuestro Movimiento.

Es por ello que os recordaré cómo emular tales situaciones para entrenarnos en las condiciones más básicas de la lucha.

El Sistema
Vean señores, en mis tiempos de cadete mi primera computadora fue la ampliamente popular Drean Commodore 64 ("La Computadora Personal con Poder Profesional"), equipo que se comenzó a producir en serie por Drean San Luis S.A. en 1984.

Este sistema informatizado me permitió comprender de mozo las verdaderas bondades del Software Libre, pues su código fuente se introducía directamente en la máquina, y el esfuerzo requerido por ello hacía imprescindible la participación del usuario en la libre modificación del código, su libre copia - y sobre todo - la excelencia de distribuirlo libremente entre los compañeros.

Desde el punto de vista del hardware, se trataba de un microordenador de arquitectura de 8 bits, formado inicialmente por una fuente de poder externa acondicionada a los 220 voltios con 50 ciclos del país, y un imponente teclado apodado "panera" color marrón grisáceo, que contenía una placa madre C64 "Revisión A". En ella descansaban la lógica electrónica: una unidad central de proceso MOS 6510 de 1 MHz (operando nominalmente a 985 kilociclos), su almacenamiento interno formado con 64 kilobytes de memoria RAM para el usuario y 20 kilobytes de memoria ROM de sistema. El chip de video MOS 6572 VIC-II sincronizado para la norma PAL-N, y el chip de sonido era el MOS 6581 "SID" que permitía 3 voces. Asimismo llevaba dos unidades para formar el chipset de control de entrada/salida, en forma de sendos MOS 6526 CIA.

El sistema había sido concebido originalmente por Jack Tramiel para la Commodores Bussiness Machines bajo el concepto Justicialista de "Computadora para las Masas", y se ensamblaba en el país integrando elementos locales (el plástico de teclado, las indicaciones de marca, la fuente de potencia, la caja y los manuales), en una necesaria política de sustitución de importaciones.
En nuestro país se modificó la electrónica original del sintonizador de radiofrecuencias NTSC por uno de normal PAL-N, lo que la hacía compatible con las TV autóctonas, conectándolo a través de la toma de antena de 75 Ohmnios o incluso a través de la toma de antena de 300 Ohmnios, como la que disponía mi TV Noblex Micro12 12NT343 blanco y negro, de 12 pulgadas.

Este tipo de computadoras debían programarse en lenguaje "BASIC V2", y ello hacía muy necesario contar con medios de almacenamiento de Masa: el datasette guardaba información en cintas casette, mientras que en mi caso personal contaba con una moderna unidad de disquetes magnéticos de 5 1/4" Commodore 1571.
Indudablemente, como complementos adicionales me fui haciendo con una impresora de línea Comodore MPS 803 y con un cartucho acelerador Kawa Turbo II para la C64, varios pares de joysticks, amén de montón de software siempre copiado y recuperado para el pueblo según marca el cánon Justicialista, en cuevas con mesa de mantel de hule, lugares como Red Point, Real Time, Danius Club.

Instalando el emulador VICE en Ubuntu
Si bien estas computadoras de aspecto básico fueron bien explotadas por toda una generación idealista que llamamos "el primer peronismo", pero con el tiempo cayeron en la obsolescencia en los primeros años de la década del noventa, y pasaron a convertirse en objetos de culto.

Afortunadamente, gracias al Software Libre GNU hoy podemos contar con poderosos emuladores de software que nos permiten simular en un equipo actual y miles de veces más poderoso, el comportamiento y funcionamiento de tales equipos y su software del ayer.

Os enseñaré a instalar en nuestro sistema operativo Ubuntu a VICE, el Emulador Versátil para Commodore. Se trata de una suite de emuladores pensados para simular toda la gama de la línea Commodore, y entre ellas especialmente la C64 y su sucesora, la C128. Para ello abrimos una Terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

cd ~
wget https://sourceforge.net/projects/vice-emu/files/releases/vice-3.1.tar.gz ;
tar xvzf vice-3.1.tar.gz ;
sudo apt-get  install build-essential libvte-dev libasound2-dev libgtk2.0-dev libgnome2-dev byacc bison flex ;

Nuestro GNU con Linux nos solicitará nuestra contraseña de usuario y comenzará la descarga de las librerías necesarias. Conforme haya finalizado, podremos ingresarle los comandos restantes para su compilación:

cd ~/vice-3.1/
./configure --enable-gnomeui
make

...opcionalmente, si nuestro sistema responde a una arquitectura de 64 bits,  debemos agregar:

cd /usr/local/lib
sudo ln -s ../lib64/vice .

...y finalmente ingresamos:

sudo make install

Ahora podremos realizar los lanzadores para las aplicaciones. Los ejecutables se encontrarán en /usr/sbin. Para la Commodore 64 debemos lanzar /usr/sbin/x64. También tendremos otros emuladores en la suite, estos son:

x64   Emula la Commodore 64 y derivadas
x64sc Commodore 64 con precisión de ciclos.
xscpu64  Commodore 64 dotada con cartucho de expansión SuperCPU64 V2B.
xpet   Emula la serie Commodore PET 2001, 3032, 4032, 8032, 8096, 8296 and SuperPET (MicroMainFrame 9000)
xvic  Commodore VIC20.
x128  Emula la serie Commodore 128.
xcbm2  Emula las CBM-II, conjunto de máquinas derivadas de la 128 y pensadas para negocios
xcbm5x0
x64dtv   Emula la C64DTV revisiones 2 y 3
xplus4 Commodore Plus4

Como pueden observar en la lista de emuladores de la suite, se nos proveen dos emuladores de Commodore 64. El emulador rápido x64 presenta una emulación completa relativamente precisa del chip de video VIC-II, todos sus registros y modos de memoria. Sin embargo, su precisión alcanza al ciclo de refresco. El emulador x64sc en cambio ofrece una emulación completa en refresco de píxels del chip VIC-II, aunque con el inconveniente de requerir una máquina mucho más potente que el necesario para correr el emulador x64. Os sugiero comenzar probando el primer emulador, y en caso de poseer un sistema veloz, avanzar al segundo (tengamos en cuenta que nuestro procesador actual, se verá requerido para emular los pulsos de la señal PAL / NTSC llegado el caso).

Al dar inicio a x64, veremos la típica pantalla color azul de la Commodore 64 dentro de la ventana del emulador VICE, con el cursor parpadeante cuadrado.
En la barra inferior del emulador, se nos presenta el status de velocidad del emulador VICE y los cuadros por segundo que el mismo está reproduciendo, así como el estado de las unidades de disco y el datasette emulado, que operaremos más adelante.

Programando en la Commodore 64
Si bien la C64 arrancaba instantáneamente con sólo presionar su interruptor de encendido lateral, para operarla debíamos escribir los comandos en lenguaje BASIC, el llamado CBM DOS. Esto nos obligaba a programar incluso para operar el equipo en sus funciones más básicas, o de lo contrario recibir el inefable "?sintax error".

En la época se proveían libros y manuales de mayor o menor dificultad que especificaban los listados de instrucciones, el código fuente. Notemos que debemos pegar las órdenes en minúsculas, para evitar los clásicos símbolos del Commodore. Por ejemplo, pegando este programa, cargaremos en memoria el código del do-re-mi:

Aquí os dejo el código fuente en BASIC para que lo puedan pegar directamente a la pantalla del emulador y de esta forma cargar en el banco de memoria de la C64:

5 rem escala musical
7 for l=54272 to 54296:poke l,0:next
10 poke 54296,15
20 poke 54277,7:poke 54278,133
50 read a
55 if a=-1 then end
60 read b
80 poke 54273,a:poke 54272,b
85 poke 54276,17
90 for t=1 to 250:next:poke 54276,16
95 for t=1 to 50:next
100 goto 20
110 data 16,195,18,209,21,31,22,96
120 data 25,30,28,49,31,165,33,135
999 data -1


...y una vez cargado el listado en memoria, podremos correrlo (ejecutarlo) ingresando el comando:

run

Indudablemente, podremos buscar en la red los listados en formato prg (simplemente el código fuente del programa en BASIC), pero también los podemos encontrar en archivos PDF dentro de los libros más famosos de la era. Gracias al software libre, hoy podremos utilizar las funciones de un programa de reconocimiento óptico de caracteres (como el justicialista OCRFeeder) para pasar tales escaneados a texto y luego pegarlos al emulador. ¡Mas de uno hubiese entregado un huevo por esta característica!

El manual online del emulador es muy completo lo podremos encontrar aquí (en inglés). Naturalmente que si quisiéramos ver opciones mas avanzadas podremos consultar los manuales en castellano de la C64, así como un manual online (en inglés) (aplicable al emulador), así como documentación real del mismo.También podremos aprender sobre programación en BASIC en la Wiki no oficial del sistema

Cargando discos y cintas emulados a la C64
Como ya he mencionado, el emulador VICE también nos permite virtualizar los clásicos dispositivos de masa de la marca, el datasette y la diskettera. Gracias a ello podremos cargarle al emulador imágenes espejo de los de diskettes, (ficheros .d64), o imágenes de casettes (ficheros .t64).

Estos archivos los podremos descargar desde toda una cadena de sitios con software retro y parafernalia peronista para la C64, por ejemplo aquí. Podremos descargar ROMs de juegos aquí. También podremos descargar cintas para la C64 en formato tap, y herramientas para la C64.

En el caso de la diskettera, para montar una imagen de diskette d64 de forma sencilla podremos usar la combinación Alt+a e indicar la ruta hacia el fichero d64. Esto emulará que insertamos el disco. Luego debemos acceder a la unidad con el comando de BASIC correspondiente a la lectura de la diskettera. En el críptico de la C64, este comando de organización era:

load "$",8

Una vez "montada" la tabla de ficheros del diskette virtual a memoria de la C64, podríamos listar los ficheros del diskette con:

list

...el sistema debería devolvernos un listado del contenido del diskette virtual, entre ellos algunos ficheros con extensión .prg. Entonces podremos "subir" el cursor en la pantalla con las flechas del cursor, y modificar las líneas del programa.prg para que quede de la siguiente forma:

load "programa.prg",8,1

...al presionar Return (Enter) en dicha línea, se cargará el programa a memoria. Cuando la C64 nos devuelva READY, podremos ejecutar el programa con:

run

En el caso de los juegos clásicos, operaban con la máxima performance de los sprites del chip VIC-II, a 320x200 pixels con una paleta de 16 colores. Sin embargo, estos presentaban entrelazado de líneas y el clásico efecto empalizada de los televisores PAL/NTSC. Los mejores títulos presentaban incluso una pantalla de presentación mientras se cargaba el mismo. Esto era así pues era normal que el diskette tardara unos 15 segundos en cargar (un coarto de eso con el cartucho acelerador), y a partir de la cintas casette podían tardarse hasta varios minutos.
Podremos acelerar el proceso de carga desde la velocidad real de la C64 hasta la máxima velocidad que permita nuestro sistema, mediante la combinación Alt+w. De esta manera los programas se cargarán en memoria en menos de lo que tardamos en gritar al cielo un estruendoso "¡Viva Perón!". Era normal que durante la carga se presentaran "rayas" en los bordes de la pantalla.

Luego sólo nos queda disfrutar del programa.
 En el caso de cargar "cassettes" emulados, el procedimiento es mas sencillo, solamente presionamos Commodore+Run/Stop y cuando aparezca la señal "Press play on tape" hacemos clic sobre el ícono del datasette en la barra inferior del emulador, y presionamos Play, seguido de Alt+w para acelerar la carga (de lo contrario tardaría varios minutos). Una vez que el sistema nos devuelve Ready, ingresamos el comando run y presionamos return.
Con ello podremos demostrar nuestra habilidad en Boulder Dash, Commando Commando 86, Park Patrol, Tetris, Chessmaster 2000, Operation Wolf, Operation Thunderbolt (el de matar al árabe), Ferromodelismo, Last Ninja II, International Karate, G.I. Joe, King Speed, Outrun, Pit Stop 2, Scaletrix, Motocross, KANE (Aci), Afterburner, Thundercats, Teenage Mutant Ninja Turtles, F-18 Hornet, y muchos mas que ustedes me recordarán.

Periféricos de entrada y teclado
El VICE emula joysticks conectados al sistema Linux, pero si no tuviésemos ninguno podríamos hacer uso del teclado numérico (el botón 0 del teclado numérico hace las veces del botón del joystick). En tanto, existen dos formas de emular el teclado en VICE.

La manera por defecto es mapeado simbólico, donde toda combinación de teclas corresponde a la combinación de la máquina real: por ejemplo, si en un teclado inglés presionamos *, que está asociado a Mayúsculas+8 en un teclado en inglés, el en emulador aparecerá el * sin mayúsculas (ya que * no tiene mayusculas en el teclado de la C64). Del mismo modo, al presionar ' en el teclado inglés sin presionar mayúsculas provocará la combinación Mayúsculas+7 en la C64 emulada. De esta manera se hace obvio qué teclas deben ser presionadas para obtener todos los símbolos.

Sin embargo, existe un problema con el mapeado simbólico: algunas teclas realmente necesitan ser mapeadas específicamente a pesar de todo. El ejemplo mas importante en la C64 es que la tecla CONTROL está mapeada como Tab y que la tecla Commodore está mapeada como Ctrl derecha. La tecla RUN/STOP está mapeada como la tecla Esc en el teclado de PC.

La segunda forma es el mapeado posicional, que consiste en mapear toda la tecla del teclado C64 con una tecla que tenga la misma posición en el teclado de PC. De esta no existen variaciones con las Mayúsculas (con la excepción de F2, F4, y F8, que requieren la tecla Shift en los teclados Commodore. De esta forma el teclado es más cómodo de usar en esos programas (como los juegos) que requieren que las teclas estén en las posiciones correctas.

CUIDADO: A diferencia de la C64 real, el emulador VICE "presiona" la tecla Mayúsculas junto con la tecla a cambiar, de modo que la presión de Shift debe ser forzada. En la mayoría de los casos estos debería funcionar correctamente, pero como algunas rutinas de teclado son algo complejas, tienden a no reconocer la tecla Mayúsculas por esta razón. Por ejemplo, F6 (que en la C64 real se obtiene con Mayúsculas+F5) podría ser reconocida como F5. En tal caso, debemos usar manualmente la tecla Mayúsculas (por ejemplo, tipear Shift+F5 en lugar de apretar F6 en el teclado de PC). La tecla RESTORE está mapeada como AvPág (o RePág) por defecto.

viernes, 27 de octubre de 2017

¿Cómo instalo FreeSpace 2 en Ubuntu?

Frente a una disertación Teórica en la sede del Partido Peronista Femenino, Juan Perón analiza la conyuntura política y enseña cómo instalar en Ubuntu el juego clásico de naves espaciales FreeSpace 2.

¡Apreciadas Damas!

Nuestro Movimiento cuenta con una ventaja nodal en la lucha, que es la de conocer de forma prístina quiénes son sus enemigos de adentro pero sobre todo quienes son sus enemigos de afuera.



Es indudable que el dominio de las nuevas tecnologías, y en especial los canales por donde ella se trasmite, es de trascendencia fundamental para los Partidos Políticos. Ya no podemos darnos el lujo de admitir medios de comunicación formalmente inertes, pero que en la práctica forman un Modelo de expresión oligárquico y monopólico por antonomasia.

Los espacios políticos tradicionales y sus dirigentes, no tienen ya el margen necesario de maniobra para nacer o reconstituirse en oposición democrática. La coyuntura del esquema de concentración de medios, y el blindaje al modelo "transparente" de quien detente el poder le garantizará la posibilidad de difundir ideas, nuevos actores, y retroalimentarse, a la vez que someterá a los Pueblos al desconocimiento y al agravio. Frente a tal camino, parecería no quedarle a los Pueblos más opción que esperar una implosión sistémica que permita barajar y dar de nuevo, lo que nuestros baqueanos denominaban "desensillar hasta que aclare".

Pero esto no es ya una opción válida. La historia no es frondosa en ejemplos de caída de sistemas demoliberales, y en particular los neoliberales. Esto es así pues estos sistemas están preprogramados - diremos - para operar precisamente en un fino equilibrio antes de la caída. Sólo una impúdica conducción hará que esa bicicleta - a cuyo manillar tiran desde la izquierda y la derecha - caiga. El paso del tiempo sólo hará de nivelador pedaleo que sustente la acción pendular. Además de ello, cuando estos esquemas, por impericia han caído, sólo lo harán sido momentáneamente y nunca han podido hacerse sucumbir realmente sus verdaderas anclas de poder y dominación. Esto es así pues la Liberación no es algo que pueda hacerse a medias, ni que pueda deberse a la impericia de alguno: es necesaria una lucha enjundiosa que raramente puede llevarse a cabo bajo los carriles legales de un sistema demoliberal. 

Requiere ampliamente el control de todos los factores de la Nación, movilización de las masas politizadas e idealizadas, y el convencimiento de las no politizadas, modificar sus estructuras en pos de la defensa de los intereses del pueblo, y obrar con afiebrada acción sobre los vértices de dominio de una clase oligárquica. +

Tal vez sobre el aspecto económico significaría la nacionalización de todos los medios productivos, sobre el esquema político la realización de un sistema de partido único que revalorice el valor del Pueblo, y sobre el esquema social la realización de la Justicia Social por un estado potente. Esto en la Argentina nunca se ha impuesto pues requeriría una revolución como nunca se ha realizado, mas la actual coyuntura nos determina a pensarlo y determinar las estrategias que han de seguirse para liberar al Pueblo de un yugo que no hace mas que convertir en servil a la Patria.

Los ejemplos nos dicen que hacer lo que hemos hecho solo es garantía de un triunfo pasajero que poco puede servirnos, pero tampoco podemos quedarnos como en el tango "pa'yudarte en lo que pueda cuando llegue la ocasión". Hemos de emprender las Acciones de Lucha en este mismo momento.

Una de las cosas que podremos hacer es instalarnos  Open FreeSpace 2. Se trata de un simulador de combate en naves espaciales clásico y muy logrado, escrito por Volition y lanzado originalmente en 1999 por Interplay, como descendiente del anterior Descent: Freespace (de concepto similar pero tecnología obsoleta). En 2002 Volition lanzó su código fuente para el motor gráfico del juego bajo una licencia no comercial. Este código formó el núcleo de lo que sería el FreeSpace 2 Source Code Project, una organización de la Masa que continuamente lo ha apropiado y mejorado, permitiéndose incorporar incluso nuevas características hasta nuestros días.

 
Esta pieza de software ha sido apropiada por la Masa Popular, que no ha dudado en extenderla y utilizarlo para plataformas libres, entre ellas GNU con Linux. Si bien se recomienda un joystick con multiples botones, también se puede usar el teclado y el mouse para jugar muy eficientemente.


Se trata de un juego que toma lugar enteramente en el espacio exterior, en una amplia zonas de combate comparados con los pequeños cazas estelares que nos tocará pilotar. Podremos volar a través de distintos cuerpos estelares, como nébulas (que provocarán visión disminuida y menor performance de nuestros sensores). También enfrentaremos gigantescas naves madres, cientos de veces más grandes que los cazas, armadas hasta los dientes con armas de rayos y baterías de tiro incandescente.

Debemos emplear sus sistemas de armas para destruir las naves enemigas, realizar reconocimiento electrónico detrás de las líneas enemigas, y escoltar otras naves espaciales. El modelo de vuelo no responde a las físicas newtonianas clásicas, sino que es menos realista, las naves no tienen peso ni inercia, y son muy maniobrables, y requieren la aplicación constante de potencia motriz para moverse. Esto hace que parezca un simulador de vuelo terrestre, en el que no se afecta a la nave por gravedad.

Los viajes a través de los sistemas espelares se logran mediante el consabido "salto hiperespacial" (Alt-J), cosa que harán las naves en el juego para entrar o abandonar la zona de combate.


Instalar FreeSpace 2 en Ubuntu
El instalador requiere que tengamos una copia de FreeSpace 2. Podremos descargar el original desde http://www.gog.com/game/freespace_2

Sin embargo el nuestro es un Movimiento Popular que antes que nada promulga la verdadera apropiación de los conceptos y software por la Masa. Doctrinalmente es una injusticia social que un software que fue desarrollado hace prácticamente 20 años y está mas amortizado que un fitito, pretenda venderse. Por lo tanto y en vista de un paternalista accionar de Conducción, os diré que pueden bajar el DVD de instalación de forma peronista dividido en parte1 y parte2 (cada una de ellas de unos 600MB aproximadamente). Estas partes conforman una única carpeta juego.

Una vez descargadas ambas partes del programa en nuestra carpeta Descargas, podremos descomprimir el mismo. Para ello abrimos una terminal con Ctrl+Alt+T e ingresamos los siguientes Comandos de Organización:

sudo apt update ;
sudo apt install rar openjdk-8-jre ;
 cd ~/Descargas/ ;
wget http://scp.indiegames.us/fsoinstaller/FreeSpaceOpenInstaller.jar ;

rar x IGG-Freespac2GOG.part1.rar ;

...y en algunos segundos, se descargarán ambas partes (si pidiese contraseña, es gamepciso.com o igg-games.com, el origen del juego es éste). La acción de descompresión del RAR del juego se realizará en una subcarpeta llamada IGG-Freespac2GOG/, que contendrá un ejecutable Window$ llamado setup_freespace_2.exe, junto con el manual del juego en formato PDF. Afortunadamente hemos descargado un instalador llamado Free Space Open Installer que compatibiliza al paquete Window$ para GNU con Linux y otros sistemas libres. Para ejecutar el instalador para Linux ingresamos:

java -jar FreeSpaceOpenInstaller.jar

La primer pantalla nos permitirá indicar en qué directorio queremos instalar el juego.
Normalmente se instalará en nuestra carpeta de usuario, dentro de la subcarpeta FreeSpace2/. Si le agregamos un punto delante de "FreeSpace2", de modo que quede "/.FreeSpace2/" como se indica arriba, la carpeta quedará oculta. Luego presionamos Siguiente.

Tras analizar el disco y mostrar durante un par de minutos un indicador que reza "preparando el instalador", se nos presentará el siguiente cartel de advertencia que informa que la carpeta parece no contener los archivos básicos de FreeSpace 2. ¡Natural! No lo hemos instalado aún (este paso se saltearía si ya tuviésemos instalado el juego básico).
Debemos elegir "Quiero instalar ahora FreeSpace 2 usando el paquete GOG", que es este que hemos adquirido de forma peronista. Presionamos Aceptar.

A continuación nos pedirá seleccionar entonces dónde tenemos el paquete de instalación GOG. Debemos ir a la carpeta ~/Descargas/IGG-Freespac2GOG/ que acabamos de descomprimir. Dentro de ella elegimos el paquete para Window$ "setup_freespace_2.exe".
Presionamos OK y luego Siguiente.

Una vez elegido ello nos planteará escoger el modo de instalación. 


Podemos elegir entre instalar los paquetes básicos, o una opción Personalizada que nos permite luego consultar y escoger una enorme cantidad de MODs gratuitos y expansiones.

Recomiendo instalar de momento sólo los paquetes básicos
, pues los mismos se descargarán de internet (paquetes de 1,9GB y 450MB son usuales en esta instalación básica). Más adelante, si nos interesa, siempre podremos instalar en cualquier momento los paquetes alternativos o mejorados ejecutando nuevamente el FreeSpace Open Installer.
El instalador descargará unos 2,3 GB, pero lo hará en paralelo (durará unos 20 o 40 minutos dependiendo de nuestra velocidad de conexión. Las barras de progreso son múltiples y se refieren a los varios componentes requeridos para que el juego llegue a buen puerto incialmente (lo que da seña de su distendido y desperdigado pero muy efectivo desarrollo). Una vez que las pelotitas indicadoras se hayan tornado a color verde en cada uno de los apartados podremos presionar siguiente para ver la pantalla de finalización de la instalación:
El juego ha terminado e instalar, pero para poder jugarlo, requerimos poder ejecutar las aplicaciones, y ello lo haremos proporcionando permisos de ejecución a los archivos de extensión .AppImage (envueltos para nuestro Linux de 64 bits en este caso). Para ello desde la terminal ingresamos los siguientes comandos de organización:

cd ~/.FreeSpace2/ ;

cp ~/.FreeSpace2/*.pdf ~/Documentos/ ;

chmod +x fs2_open_3_8_0_x64.AppImage fs2_open_3_8_0_x64-FASTDBG.AppImage ;

chmod +x fs2_open_3_8_0_x64.AppImage fs2_open_3_8_0_x64-FASTDBG.AppImage ;


nano ~/.freespace2.sh

...se abrirá el editor GNU Nano con un archivo en blanco, al cual le pegamos el siguiente contenido:

#ejecuta FreeSpace2 para Linux de 64 bits
cd .FreeSpace2/
./fs2_open_3_8_0_x64.AppImage



...luego guardamos el archivo presionando Ctrl+o y salimos del editor Nano con Ctrl+x.

Finalmente creamos el lanzador. Para ello hacemos clic con botón derecho del ratón sobre Aplicaciones (en el panel superior) y escogemos "Editar Menú". Se desplegará el cuadro Menú Principal. En la parte izquierda de la ventana seleccionamos el apartado Juegos, y luego presionamos el botón +Elemento Nuevo. Se abrir entonces la ventana Propiedades del Lanzador. En el campo "Comando:" podremos pegarle la línea /home/usuario/.freespace2.sh (naturalmente reemplazamos usuario por nuestro nombre de usuario). En el campo Nombre: podremos indicar "FreeSpace2" y en Comentario podremos agregar cualquier comentario opcional. Presionamos Aceptar.

Jugar FreeSpace 2
Ahora ya podremos lanzar el juego desde Aplicaciones / Juegos / FreeSpace2.

Al iniciar el juego, debería iniciar con una presentación cinemática al estilo de los juegos de la década del 90. Luego de ellos se nos solicitará dar de alta un piloto:

Conforme hayamos creado uno, estaremos dispuestos en la pantalla incial del programa.

Desde allí podremos ir al sector de inteligencia, que detalla las naves propias y enemigas.
Antes de iniciar la campaña de misiones, habremos de realizar una serie de misiones "en el simulador", una serie de misiones orientadas al pilotaje básico, control de los sistemas de armas de la nave, el combate espacial, y el control táctico a nivel escuadrón. Si bien no es obligatorio, os recomiendo realizar este tipo de misiones a fin de controlar efectivamente los cazas espaciales.

El juego incluye en su carpeta de instalación un manual de 41 páginas (archivo MANUAL.PDF) y una importante tarjeta de referencia para el teclado (refcard.pdf), muy importante pues el simulador cuenta con una gran variedad de opciones que hacen al control de la nave y el despliegue táctico del juego.

Básicamente, con el conjunto de teclas Ins/Inicio/RePág/Supr/Fin/AvPág asignamos la energía a los sistemas de armas / escudos / motores, y de la misma forma que en el clásico X-Wing podremos variarlo de acuerdo a la situación táctica. Con d nivelamos la distribución de energía. Con las flechas del cursor reorientamos los escudos del campo de fuerza y con o las nivelamos. El teclado numérico tiene asignados los controles de maniobra. T selecciona los objetivos. M y Alt-M nos permiten acoplar la velocidad con la de nuestro objetivo, mientras que Alt-J salta al hiperespacio (normalmente para terminar la misión). Con X activamos contramedidas electrónicas, mientras que con ; : y - programamos nuestro panel de armamento (secuenciamos los cañones láser o el armamento lanzable).
La historia de un solo jugador se despliega a través de una narrativa de escenas cinemáticas, en los informes previos y postmisión, así como en la charla en el juego entre los personajes secundarios, y el desarrollo de eventos de misión guionados. La estructura de la historia es linear, sin caminos que permitan historia alternas, aunque existen misiones opcionales secretas, para hacer mas interesante el juego. La historia sólo puede resolverse resolviendo las misiones y progresando a través de la campaña. Sin embargo, se nos dará la opción de saltear una misión si hemos fracasado más de cinco veces. También podremos acceder a un modo "cheat" como era tradicional en estos juegos, como se explica en la tarjeta de referencia.

Los diseños de las naves originales suelen ser distinguibles fácilmente, a fin de indentificarlos rápidamente. Los humanos tienden a diseños lpanos y prácticos, los vasudios emplean líneas curvas artísticas, mientras que los enemigos Shivans emplean estilos agresivos y angulosos, en amenazante rojo y negro.

FreeSpace 2 permite juegos multijugador a través de la LAN o a travésde de Internet, incluso con comunicación de voz. A través de la LAN se puede jugar en modalidad Deathmatch o cooperativo para completar misiones multijugador. 

Al comprobar que el juego ha funcionado, ya podremos eliminar los archivos temporales de instalación que habíamos descargado con los comandos:

rm -r ~/Descargas/IGG-Freespac2GOG/
rm ~/Descargas/IGG-Freespac2GOG.part1.rar ~/Descargas/IGG-Freespac2GOG.part2.rar

Algunas historias complementarias nuevas desarrolladas por los usuarios realmente mejoran enormemente al juego, logrando aplicar gráficos de mucha mayor resolución que la que tenía el juego original, mejores efectos visuales, voces, diálogos hablados, campañas espaciales nuevas, y muchos etcéteras. Todas ellas las podremos instalar gratuitamente a través del instalador Java para Linux.

Para activarlas, podremos utilizar el wxlauncher, un configurador, cargador y ejecutor de los MODs que podemos descargar mediante el instalador de FreeSpace2. Este no viene instalado por defecto, sino que el instalador nos permite descaragar el código fuente para compilarlo luego. Afortundamente, el paternalista sentir del Justicialismo nos permite contar con la solución para hacer todo este predicamento simplemente abriento una terminal, y asumiendo que el código del lanzador sea la versión 0.10.1, podremos ingresar en la consola terminal los siguientes Comandos de Organización:

sudo apt update ;
sudo apt install cmake libopenal-dev libwxgtk3.0-dev python-markdown build-essential libopenal-dev ;
cd ~/.FreeSpace2/wxLauncher-release-0.10.1/ ;
mkdir build/ ;
cd ~/.FreeSpace2/
wxLauncher-release-0.10.1/build/ ;
cmake -DUSE_OPENAL=1 -DDEVELOPMENT_MODE=1 -DCMAKE_INSTALL_PREFIX=/usr/local ../ ;
make ;

...y una vez compilado, podremos ejecutar el paquete recién horneado con:

cd ~/.FreeSpace2/wxLauncher-release-0.10.1/build
./wxlauncher 


...o también podríamos crear un lanzador, con:

echo 'cd ~/.FreeSpace2/wxLauncher-release-0.10.1/build ; ./wxlauncher ' >  ~/.wxlauncher.sh ;
chmod +x ~/.wxlauncher.sh ;

y luego hacer un acceso directo que nos dirija a /home/usuario/.wxlauncher.sh para ejecutar este programa.

Al iniciar, lo primero que intentará será conectarse a internet para poder consultar las últimas versiones de los MODs. En tanto, en la solapa Basic Settings debemos indicar el directorio raíz del juego (en nuestro caso  /home/usuario/.Freespace2).
 En la solapa Mods podremos escoger el que queramos activar, y jugarlo.
También podríamos ingresar directamente el modificador en el archivo de ejecución ~/.freespace2.sh, de modo que el lanzador contenga el siguiente código:

cd ~/.FreeSpace2/ ;
./fs2_open_3_8_0_x64.AppImage  -mod MediaVPs_2014 -nomotiondebris -missile_lighting -3dshockwave -post_process -soft_particles -fxaa -nolightshafts -fb_explosions -fb_thrusters -no_deferred -enable_shadows -snd_preload -ambient_factor 105 -no_emissive_light -spec_exp 9 -spec_point 0.3 -spec_static 0.8 -spec_tube 0.7 -ogl_spec 120