sábado, 29 de julio de 2023

¿Cómo instalo los editores Ecce y EdLin en Ubuntu?

Su Quinta 17 de Octubre de Puerta de Hierro fue testigo de numerosos encuentros del Conductor del Justicialismo con delegaciones del quehacer político argentino. En una de las reuniones celebrada en 1969, Juan Perón expone ante frondosa concurrencia acerca de compilar e instalar los editores de texto modales  Ecce y EdLin en Ubuntu.

¡Compañeros!

El nuestro es un Movimiento que está para darle a todos lo que merecen por Justo derecho.

Todos sabemos que antes de organizarse en pos del Justicialismo, los trabajadores argentinos daban comienzo a su mañana con mendrugos duros, un mate cocido y grandes anhelos para acompañar. Esta fue la base previa a la organización, que como consecuencia del obrar, elevaría esta humilde dieta a la del chori al parquet de roble eslavonia.


Observarán que en el mundo del software sucede mas o menos el mismo temperamento. No podemos crear de la nada absoluta, sino que debemos edificar en base a ladrillos lógicamente concebidos y planificados en una estructuración que va se impone de menor a mayor. Es así como yo creo para crecer, y esta es la fomra como se ingenia en la vida.

Este norte cardinal acompaña también la noción creativa que nos requiere la elaboración de un sistema operativo de potencia. Necesariamente habremos de conjugar en código máquina tres herramientas de difícil soslaye: un ensamblador que para generar código objeto, un intérprete de comandos, y un editor que nos permita crear texto y corregir lo hecho.

Esto nos revela que la creación de texto pudo y debió hacerse con las herramientas más básicas. En particular, los editores de texto primordiales se iniciaron con una modalidad operativa que podríamos describir como modal. Estos permitían introducir cadenas de caracteres en un almacén de memoria, destinados a formar líneas de código, y más adelante por conveniencia, cada línea definida así podría conformar también un párrafo de texto.

Y si bien a partir de esto pueden hacerse mejores cosas, siempre es bueno conocer lo pasado, para afirmarse en el presente y proyectarse para el futuro.

Ecce

Naturalmente yo inicié mis tareas con el Ecce, el Editor de Texto Contextual de Edimburgo. Se trataba de un editor basado en líneas escrito por Hamish Dewar, y portado al lenguaje BCPL del sistema TOPS-10 de la minicomputadora DEC PDP-10 de finales de la década de 1960 - implementación que lo haría famoso entre varias mas.

Hoy podremos instalarlo en nuestro sistema GNU con Linux merced de una versión instrumentada para Unix en el lenguaje C. Podremos compilarlo fácilmente si abrimos una terminal con Ctrl+Alt+t e ingresamos el siguiente bloque de Comandos de Organización:

cd /tmp ;
wget https://ecce.sourceforge.net/ecce.c ;
gcc -o ecce -DWANT_UTF8 ecce.c ;
sudo mv /tmp/ecce /usr/local/bin/

Una vez instalado, podremos correr Ecce dando rienda a la siguiente sintaxis: 

ecce fichero_origen fichero_destino



Como vemos, este dinosaurio salió de un huevo para rugir en sistemas monousuario a través de terminales teletipo. Es ciertamente capaz de operar en sistemas multiusuario, pero si lo hacemos "así nomás" se produciría un efecto ostensiblemente destructivo, ya que uno de los usuarios podría alterar irremediablemente el documento que otro se encuentra operando en el mismo sistema. Es por este motivo por el cual para usar Ecce en GNU nos vemos obligados a instrumentar de forma adhoc un fichero de origen local (autónomo) que nos reparta los buñuelos. En efecto, lo más sencillo es utilizar el touch para crear un fichero origen.txt (si este no existiera ya). Por ejemplo:

touch origen.txt ;
ecce origen.txt destino.txt

Una vez inicializado un fichero propio, Ecce podrá arrancar presentandonos la memoria disponible en su almacén (“búfer”), y aguardando órdenes: 

Espacio de almacén = 768 KBytes
Ecce
>

Como todo editor de los llamados modales, durante su operación Ecce nos presentará alguno de sus prompts indicativos del modo de operación en que se encuentra de momento. Estos son:

  • Prompt del Modo de Comando: >
  • Prompt del Modo de Inserción de texto: :

Para su empleo más sencillo y básico de entre sus numerosos comandos es suficiente dominar sólo tres:

Comando Acción
g Almacenar una sola línea nueva
m Avanza el puntero una sola línea
p Imprime la línea donde se encuentra el puntero

De esta manera, sesión típica implica recibir el prompt de comandos > donde introducimos la orden g* (“almacenar líneas indefinidiamente”), y presionar la tecla Intro para empezar a escribir. Su prompt cambiará al de inserción texto en forma de :. y podremos mecanografiar el párrafo deseado. Al concluirlo debemos presiona la tecla Intro para almacenar dicha línea en memoria. 

Conforme hayamos finalizado la inserción de la(s) línea(s) de texto deseadas podremos detener el modo de inserción ingresando el comando : que nos devolverá al prompt de comandos >

Estos cambios realizados al fichero de origen podremos guardarlos en el fichero destino desde el prompt de comandos > (y cerrar el editor), si introducimos el comando %c.

Naturalmente, podremos continuar agregando líneas indefinidamente hasta agotar el almacén, o introducir alguno de estos comandos especiales de Ecce:

%a Descarta la edición realizada.
%c Guarda los cambios y cierra.
%v Imprime la versión de Ecce.

Pues bien señores, si bien este funcionamiento parecería similar al de una antigua máquina de escribir, contaremos con grandes ventajas con respecto a estas. Para movernos en el texto, podremos desplazar la posición actual de edición en el documento (llamada “puntero”). Al llegar al fin del documento recibiremos como indicación el mensaje *** FIN ***.Los comandos de desplazamiento son sencillos:

m Baja el puntero una línea
m- Sube el puntero una línea
k Borra la línea actual del puntero
k- Borra la línea anterior del puntero
r Se mueve a la derecha un carácter en la línea actual
l Se mueve a la izquierda un carácter en la línea actual
e Borra un carácter en la línea actual

Junto a estos comandos básicos de una sola letra, Ecce dispone ciertamente de la posibilidad de realizar tareas más complejas y avanzadas que permiten un mayor control. Estas funciones avanzadas inspirarían luego al editor de cadenas sed.

En primer lugar y como regla general, si introducimos un número n junto a nuestro comando, se lo ejecutará en bucle una n cantidad de veces. Por ejemplo:

p23 Imprime las 23 líneas siguientes al puntero
m10 Sube el puntero diez líneas
g5 Deja 5 líneas de texto en blanco debajo del puntero

De esta manera es posible extender o bien invertir el orden del comando antecediendo al número n con un signo -. Por ejemplo:

p* Imprime todo hasta el final del texto
p-23 Imprime las 23 líneas anteriores al puntero
p-* Imprime todo hasta el inicio del texto
m-10 Retrocede el puntero diez líneas
m-* Retrocede el puntero todas las líneas (vuelve al inicio del texto)

Una de las funcionalidades más utilizadas es la de buscar y reemplazar.

i/texto/ Inserta una cadena “texto” aquí en la línea.
f/texto/ Busca “texto” indicado.

Como en el caso anterior, estos pueden repetirse indicándole números apropiados:

f/texto/4 Busca la 4ta. iteración de “texto
r40 Mueve a la derecha 40 caracteres

Además, las órdenes pueden encadenarse. Por ejemplo:

m23 f/texto/ p3

Los comandos avanzados de Ecce permiten incluso mayor potencia de trabajo:

A Ajusta el largo
B Divide la línea en dos en el puntero
C Cambia mayúsculas con Mayúsculas derecha
C- Cambia a minúsculas con Mayúsculas izquierda
D/texto Borra primer ocasión de texto
D-/texto Borra iteración previa de texto
E Borra carácter a la derecha del puntero
E- Borra carácter a la izquierda del puntero
G/texto Inserta línea de texto luego del puntero
G- Sube una línea
I/texto Inserta texto a la derecha del puntero
I- Inserta texto a la izquierda del puntero
J Une la siguiente línea
O/texto Sobreescribe la línea con la cadena texto

Los comandos compuestos de Ecce son secuencias de comandos cerrados entre paréntesis. Pueden repetirse en bucle, tanto condicional como incondicional. Los ejemplos suelen aclararlo todo, como decía Napoleón:

Operación Ejemplo Significado/efecto
0 o *
Repetición indefinida (“repite hasta no poder cumplir mas”)

r0 Mueve el puntero al final de la línea

(mr)0 Busca la primer línea en blanco

e-0 Borra hacia atrás hasta el comienzo de la línea
?
Ejecución opcional (se ignora la condición de falla)

((r61p)?m)0 Imprime las líneas con no más de 60 caracteres
,
Ejecución alterna (“si el primer intento falla, ejecuta el siguiente, etc”)

(r81lb,m)0 Divide las líneas que tienen más de 80 caracteres

(f/River/(v/Bocado/,e5i/Boca/))* “Reemplaza River con Boca excepto para Bocado
\
Falla invertida

(mv'+'\)0 Busca la siguiente línea que comienza con `+

Si sólo introducimos un número en la línea de comandos, Ecce repetirá el comando indicado anteriormente una n cantidad de veces.

Podremos delimitar patrones por cualquier carácter excepto letras, dígitos, y aquellos que tienen significación definida. Podremos usar: , /, $, >, +, ., :, = y _

Asimismo, podremos ver el antiguo manual de Ecce.

EdLin

A la vez que Ecce contaba con plétora de adeptos universitarios, su decante a las terminales teletipo en boga durante su desarrollo lo hizo verse progresivamente superado con la aparición de las la edición visual de textos en pantalla. Sin embargo los editores modales aún contaban con cierta valía si se hablaba de equipamiento de escasa potencia, y esto era válido con la IBM PC de primera factura y su sistema operativo, el DOS. En sus inicios se decidió adornarlo con un editor orientado a líneas descaradamente influido por el editor Ed del Unix: EdLin

A pesar de que podría parecer de escasa valía, este ha sido implementado de manera libre por el Proyecto FreeDOS, y a caballo regalado no se le mira el diente. Por tanto podremos instalarnos una copia para nuestro sistema GNU, acudiendo a la terminal:

wget https://sourceforge.net/projects/freedos-edlin/files/freedos-edlin/2.23/edlin-2.23.tar.gz ;
tar xvzf edlin-2.23.tar.gz ;
cd edlin-2.23/ ;
./configure;
make;
sudo make install

Una vez instalado en nuestro GNU, la ejecución del programa es sumamente sencilla:

edlin

Edlin nos presentará su pantalla inicial y nos hará la veña aguardando órdenes. Como tal sigue premisas algo similares a otros editores nodales:

  • Prompt de su Modo de Comandos: *
  • Prompt de su Modo de Inserción: :

Por convención EdLin opera con bloques de sólo 11 líneas. Para facilitar la explicación, usaremos entre nosotros las siguientes convenciones para operar en su modo de comandos:

  • Los corchetes [] denotarán parámetros opcionales.
  •  La n nos representará un número de línea, que puede ser uno de varios valores posibles:
Una cadena de dígitos, o sea un número de línea literal Por ejemplo, 12 es la decimosegunda línea.
n Representa al número de línea justo antes de la última línea del fichero.
. (“punto”) Representa la línea actual en el fichero.
$ (“peso”) Representa la línea final del fichero.
+n o -n Es un diferencial de suma o resta del número de línea actual. Es útil para dar posiciones relativas a una línea, tal como .+1 para significar “la línea posterior a la actual”.
  • El símbolo $ representa una cadena de caracteres. Podrás encerrar la cadena tanto en apóstrofes 'texto' o bien en comillas "texto", o podrán contener las siguientes secuencias de escape:
\a Carácter de campana
\b Carácter de Retroceder (borrado)
\e Escape
\f Alimenta papel
\t Tabulador horizontal
\v Tabulador vertical
\" Comillas
\' Apóstrofe
\. Punto
\\ Barra invertida
\xXX Valor Hexadecimal, donde cada X es un dígito hexadecimal (de 0 a F, tanto en mayúsculas como minúsculas)
\dNNN Valor decimal, donde cada N es un dígito decimal (de 0 a 9)
\OOO Valor octal, donde cada O es un dígito cotal (de 0 a 7)
\^C Caracter de Control, tal como \^J para un caracter “Control+J” literal (linefeed).

Pues bien señores, al igual que Ecce, el funcionamiento básico de EdLin consiste en activar el comando de agregado al almacén, e insertar contenido en el mismo. Para ello, en el prompt * ingresamos el comando a y mecanografiamos las líneas. Para almacenarlas, presionamos la tecla Intro. Para cesar el modo del inserción, en este caso debemos ingresar un . aislado.

Para guardar usaríamos w fichero seguido del comando salir, que es q. (O bien podremos usar e fichero, que equivale a "guardar y salir"). Para salir de EdLin sin guardar se usa q, ante lo cual se nos interrogará “Abort edit (Y/N)?”. Deberíamos responder yes.

Las funciones de edición de EdLin implican generalmente pocas variantes. La primera es indicar un número de línea para establecer el puntero, y escribirla de nuevo para reemplazar la línea.

Si en cambio quisiéramos insertar una línea previamente a otra, usaríamos [n]i para ingresar al en el modo inserción, la cual también acepta las secuencias de escape indicadas. Para abandonar el modo de inserción, ingresamos . en una línea aislada (si necesitáramos escribir una línea que sólo contenga un punto literalemnte, deberías indicarlo escapándolo como \.). Tras de abandonar el modo de inserción, la línea posterior al texto insertado se convertirá en la línea actual (a no ser que la inserción se hubiese suspendido al final del almacén, en cuyo caso la última línea del almacén se convertirá en la posición del puntero).

Para borrar una línea debemos utilizar el comando d, el cual también acepta rangos en la forma  de [n][,n]d que borrarían un bloque de líneas consecutivas del almacén. Los parámetros responden a la primer línea y la última línea del bloque a borrar.

Si tuviésemos la necesidad de copiar un rango de líneas, utilizaremos el comando [n],[n],n,[n]c para copiar un rango de líneas consecutivo a otra localización del búfer. En este orden, los parámetros son los siguientes:

  1. La primer línea que quiere copiar (si se omite se usará el puntero) 
  2. La última línea que quiere copiar (si se omite se usará el puntero) 
  3. La línea anterior en la cual desea insertar el bloque de líneas 
  4. La cantidad de veces que copiará el bloque demarcado (si se omite es 1)

(Luego de copiar las líneas, es conveniente usar el comando l (“listar”) para tener una idea de cómo quedaron los números de línea tras la operación).

Para mover un bloque de texto (más conocido como "copiar y pegar"), debemos usar el comando m, y procedemos igual que con el comando copiar anteriormente descripto. En este caso funcionará igual que copiar, sólo que borrará el bloque de su posición original

Si deseamos presentar todas las líneas usamos p, y para presentar un rango de líneas en pantalla, utilizamos [n][,n]p. Es similar al comando l (list) con la excepción que los parámetros por defecto comienzan en el puntero en lugar de hacerlo 11 líneas  posteriores.

Para buscar una cadena texto usamos [n][,n][?]s$ lo que realizará esta operación. Si omite el primer parámetro, comenzará a buscar desde la línea actual. Si omite el segundo parámetro, dejará de buscar al llegar al final del búfer. Si incluye el ?, edlin solicitará confirmación ante cada encuentro. Si respondemos “no”, continuará la búsqueda y si respondemos “yes” la dará por concluida.

Si la búsqueda localiza la subcadena, desplazará el puntero.

En caso de operar con búsqueda y reemplazo debemos utilizar [n][,n][?]r$,$ para reemplazar todas las iteraciones de la primer cadena con la segunda cadena entre las dos líneas especificadas. Si omitimos el primer parámetro, EdLin comenzará reemplazando a partir del puntero. Si en cambio omitimos el segundo parámetro, dejará de reemplazar texto en la última línea del búfer.

Si incluye un ?, edlin mostrará un mensaje de confirmación antes de reemplazar las iteraciones de texto.

Para insertar un fichero usamos[n]t fichero. Esto Insertará el contenido del fichero antes del puntero. Si omitimos el primer número de línea, se insertará antes de la línea actual del puntero.

Como vemos, los editores modales son simplones, pero permiten ciertas posibilidades efectivas de edición, y constituyen un herramental válido para comprender cómo se realizaba cómputo antes de que el Justicialismo garantizara los derechos de un editor de texto como la gente hasta al más humilde de mis grasitas.

miércoles, 12 de julio de 2023

¿Como instalo ClassicCube en Ubuntu?

¡Trabajadores!

Cualquiera puede destruir. Pero un Conductor ha de saber construir, que es mucho más difícil. Para hacerse perito en esto, habrá de recurrirse al aprendizaje siguiendo una obra como ejemplo de la instigación positiva. Es por ello que siempre he dicho que mejor que ordenar es persuadir...

La niñez se verá incentivada a la construcción si mas que aprenderla, la comprende, y una de las mejores técnicas para ello es el disfrute de los juegos de construcción, de los cuales tal vez los denominados "mundo abierto" o sandbox sean los ejemplos más aclamados.

Este tipo de aplicaciones computadas proponen la creación de un mundo virtual, con sus propias reglas universales y medios de organización. Incluso se pueden crear meta-mundos. Parecería que una propuesta de este tipo tan abierto e indeterminado podría no ser divertida, pero de todo hay en la viña del xeñor.

Muchas veces me han pedido instalar un sucedáneo de Minecraft en GNU con Linux, pero uno donde se pueda crear un Mundo Peronista. Lo bueno es que existen muchas de estos, que se inspiran en el clásico de escrito por Markus "Notch" Persson. Probablemente el más logrado sea ClassicCube, escrito en C++.

Naturalmente podremos instalar ClassicCube en cualquier sistema GNU con Linux. Para hacerlo en Ubuntu y otros similares podremos utilizar la terminal. Para ello abrimos una con Ctrl+Alt+T e ingresamos los siguientes comandos de organización:

sudo apt install libcurl4 libopenal1 ;
mkdir ~/.ClassicCube/ ;
cd ~/.ClassicCube/ ;
wget https://cdn.classicube.net/client/release/nix64/ClassiCube.tar.gz ;
tar -xvf ClassiCube.tar.gz ;
cd ~

Y lo ejecutamos con:

./.ClassicCube/ClassicCube

o bien podremos crear un lanzador:


Al iniciarse por primera vez el juego solicitará descargar los contenidos básicos. Presionamos el botón Ok.

ClassicCube tiene tres modos de juego.  El modo Classic es un implementación clónica de MineCraft. Enhaced es una expansión de aquella, con bloques adicionales. Y Classic+hax es el modo clásico con algunos hacks.

Una vez descargados, podremos comenzar el proceso de registro con el botón Register.

Una vez presionado el botón Register, se nos dirigirá a la web oficial de registro. Debemos ingresar un nombre de usuario, junto con una contraseña y una casilla de correo electrónico válida.


 Cuando recibimos el correo electrónico, hacemos clic en su enlace para verificar la creación de la cuenta.

Ahora podremos ingresar al juego con nuestro usuario y contraseña validada. Una vez ingresadas las mismas, presionamos el botón Sign In.

Ahora podremos seleccionar alguno de los servidores de ClassicCube.

Elegimos nuestro servidor favorito de ClassicCube y presionamos el botón Connect.

El juego es similar a otros juegos sandbox como MineCraft. Los jugadores deben explorar un mundo conformado por bloques tridimensionales de generación procedural, y deben descubrir y extraer materias primas, ingeniar herramientas e ítems y construir estructuras y maquinarias. 

Dependiendo del modo de juego, los jugadores pueden enfrentar turbas iracundas, así como cooperar o competir contra otros jugadores del mismo mundo. Los modos de juego incluyen uno de supervivencia, y un modo creativo.

A primera vista, el apartado grafico es distinto por obvias cuestiones de derechos de autor. Classic parece mas "antiguo", pero esta implementado desde cero, siendo sus mecánicas prácticamente similares.

En Classic+hax tal vez sea mas recomendable, pues incluye las modificaciones que lo hacen divertido (el juego desde cero es muy básico). Con las "hax" podrás agregar enemigos, personajes no controlables NPC, minerales, condiciones climáticas, y un largo etc.

En modo survival construyes para sobrevivir. Debes empezar por lo básico, modelando una casa para protegerte de tus enemigos, hacer huerto para recuperarte de daño y no morir de hambre, y desarrollar distintas herramientas que potencien tus habilidades. Así evitarás la ley de la selva y podrás expandir la Justicia Social en el Sandbox.

Los controles en la PC son simples. Nos movemos con teclas WASD y con Mayúsculas corremos. Con la barra espaciadora podremos saltar. Con clic usamos la acción. 

Si estamos en modo hax, la tecla z conmutará el modo vuelo (durante el cual podremos subir o bajar con la tecla q o la tecla e). En tanto, la tecla x conmuta el modo noclip (posibilita atravesar paredes).

Mediante F1 activamos el HUD. Con F5 podremos conmutar entre dos vistas de tercera persona y vista en primera persona. Con F7 la guía de ejes 3D y con F10 la guía de bloques de textura. 

F8 conmuta entre el movimiento de vista rápido y la moderado.

En fin, un excelente apartado liberado bajo GPLv3 que hará las delicias de todo aquel que guste de los mundos voxel.

lunes, 3 de julio de 2023

¿Cómo juego a Pepper & Carrot Potion of Flight?

En su Los Vendepatria, las Pruebas de una Traición, de 1958, Juan Perón expone la necesidad de una militancia enérgica como custodia de los valores del Movimiento, a la vez que enseña cómo instalar el juego 3D en tercera persona Pepper & Carrot: Potion of Flight en Ubuntu.

(...)

Es necesario que los dirigentes y trabajadores se convenzan que estamos empeñados en una lucha decisiva para evitar la vuelta de la explotación y la esclavitud, y que en esas condiciones se impone una conducta valiente y decidida. La revolución social impone esfuerzos y sacrificios que sólo se superan con una voluntad enérgica y perseverante.

Es menester no dar tregua a la tiranía y dar a la resistencia civil la mayor intensidad y extensión. Sin esa preparación, la revolución social no podrá realizarse a corto plazo. La canalla dictatorial sólo caerá por este medio, luego hay que obrar incansablemente por la causa común, esa es la misión de cada peronista en esta hora de prueba. 

Cada casa debe ser una Unidad Básica Secreta, y cada peronista, jefe y vigía del Movimiento. Es necesario que las organizaciones clandestinas se perfeccionen en alto grado para enfrentar los trabajos a los que estamos abocados en la lucha que se avecina. En ella los trabajadores tendrán el peso de la acción más importante.

La clase trabajadora ha puesto en evidencia su decisión ya en los sucesos pasados que posee una clara conciencia de su gravitación política. Sin mayor experiencia en la acción demostró sorprendente unidad político-sindical, forjada exclusivamente mediante la Doctrina Justicialista, demostrando también que las masas de trabajadores han superado el ámbito de sus problemas intrínsecos para intervenir enérgicamente en la realización de sus propios destinos.

Luchamos por una causa y no por un candidato. La causa debe apasionarnos, los candidatos deben despreocuparnos. Nuestro candidato no puede ser sino un peronista, que será el único que puede servir a nuestros objetivos y misión.

Es imprescindible la reestructuración de los cuadros dirigentes sobre la base de una estrecha unión con el resto del Movimiento poniendo al frente hombres capaces y enérgicos. En este momento se necesitan dirigentes audaces y valientes que enfrenten a la tiranía con las verdades del Peronismo. 

Siendo la finalidad básica la revolución social justicialista, los demás objetivos deben ajustarse a esta finalidad. La conducta de cada peronista y en especial de cada trabajador, estará fijada en lo que pueda hacer, en cada momento, para derribar la tiranía e imponer el Justicialismo.

En la acción política no debe existir ningún apuro, es menester mantener firme a las organizaciones de cualquier tipo que existan, unidas en informadas; siempre habrá tiempo para tomar decisiones. Podremos tomarlas incluso mientras jugamos cualquier juego. Por ejemplo, porqué no el favorito del brujo López Rega: Pepper & Carrot: Potion of Flight.

Se trata de un juego inspirado en el mundo de la bruja Pepper y su gato Carrot, creación del ilustrador francés David Revoir, compañero adepto a la cultura abierta y la libertad de licenciamiento de los derechos de autor que otorga Creative Commons.

Como resultado de su propuesta lúdica "Pepper&Carrot Jam" de desarrollo de juegos independientes, se han publicado toda una serie de juegos para varias plataformas, incluyendo Linux. En el caso de Pepper & Carrot Potion of Flight es un minijuego de aventuras en 3D desarrollado por el estudio Oneiric Worlds, que adapta las artes gráficas del webcomic y los libros de Pepper&Carrot, junto con el motor de juegos libres Godot.

Podremos descargarlo - con donación o gratuitamente - a través de la web del juego.

Al presionar el botón Download Now podremos acceder al menú de donación, (o bien descargarlo gratuitamente si así lo deseamos, presionando el botón "No thanks, just take me to the downloads"). Encontraremos entonces la descarga de la versión que nos interesa, "Pepper & Carrot - Lastest Version for Linux 64 (158 MB)".

Tras descargar el juego, normalmente nos encontraremos con el programa en nuestra carpeta Descargas/. En tal caso, para descomprimirlo podríamos utilizar la Terminal, abriendo una con Ctrl+Alt+t e ingresando los siguientes comandos:

mkdir ~/.pepper/ ;
cd ~/.pepper/ ;
mv ~/Descargas/pepper-carrot-potion-of-flight-linux64.zip ~/.pepper/ ;
unzip ~/.pepper/pepper-carrot-potion-of-flight-linux64.zip

Para ejecutarlo, podremos usar el comando:

./.pepper/pepperAndCarrot

...u opcionalmente podríamos crear un lanzador del juego. Para ello haciendo clic con el botón derecho del ratón sobre el menú de Aplicaciones, y eligiendo Editar Menús. A continuación en el panel izquierdo elegimos el menú Juegos y presionamos el botón "+Nuevo ítem". En la ventana Crear lanzador rellenamos el campo Orden con /home/usuario/.pepper/pepperAndCarrot. Asimismo le ponemos un Nombre y un Comentario e ícono opcional:

Ahora podremos lanzar el juego desde Aplicaciones / Juegos / Pepper & Carrot Potion of Flight.

El objetivo del juego es conducir a la caótica brujita Pepper en un mundo que comprende su casa a orillas de la laguna. Tendremos que encontrar los ingredientes para la poción de vuelo que la hace famosa.

Los controles son los consabidas teclas WASD para manejarla en tercera persona, a la vez que la barra espaciadora podremos hacerla correr. El despliegue gráfico tridimensional hace caso a la estética de la pintura de Revoy, lo que lo distingue.

El aspecto del sonido es estéreo y posicional, lo que da una muestra de la potencia del motor libre Godot.

Una vez encontrado todo, podremos volar con la escoba mágica. La tecla B hace aparecer la escoba de un santiamén, mientras que la barra espaciadora produce el impulso mágico.
 

Naturalmente no conforma un simulador de vuelo, pero dispone de simulaciones de física más o menos acordes a lo que implica volar en una escoba. ¡Persigue al Fénix de Fuego y recoge las plumas flamígeras!

En fin, un gran programita para los mas chicos, que permiten - porqué no - soñar con una propuesta completa según esta entrega.