Habilitando juegos ocultos en Marlin 2.0.x para tu impresora 3D
Habilitando juegos ocultos en Marlin 2.0.x para tu impresora 3D

Habilitando juegos ocultos en Marlin 2.0.x para tu impresora 3D

Parece ser que los incansables y prolíficos desarrolladores de Marlin 2.0.x no dejan de sorprenderme cada día que pasa. Sin ir más lejos, hoy andábamos con un compañero indagando una forma de añadir funciones «extra» a los firmware Marlin de nuestras impresoras para un futuro artículo de 3DWork.io y nos dimos de bruces con 3 juegos ocultos en Marlin 2.0.x.

 

Introducción

55fb9e43ee5ed e1582134425321
Juego T-Rex runner en Chrome

Ocultar juegos (o minijuegos) es una técnica bastante utilizada por programadores de cualquier ámbito en el desarrollo de sus aplicaciones. Desde juegos ocultos en páginas web, navegadores de internet, herramientas de trabajo o incluso juegos ocultos dentro de juegos, quien lo iba a decir.

Los motivos pueden ser diversos, como el deseo de dejar huella o impronta en sus creaciones, o simplemente el hecho de realizar algo divertido de vez en cuando. ¿A quien no le gusta divertirse?

Si ya de por sí admiraba a los desarrolladores por su ardua labor al frente del desarrollo de Marlin, ahora me declaro fanático. Jamás se me habría pasado por la cabeza la posibilidad de poder encontrar algún juego oculto en nuestro querido firmware Marlin 2.0. Más que nada por la consabida limitación de muchas de sus placas electrónicas en términos de memoria, pero ahí están.

 

Activando los juegos ocultos en Marlin 2.0.x

Brickout

Una de las importantes mejoras que efectuaron los programadores en Marlin 2.0 fue reorganizar el código de tal forma que fuera más fácil mantenerlo y modificarlo. Como sabrás de antemano si has leído nuestra Guía completa: Configurar Marlin 2.0.3 desde cero y no morir en el intento, para configurar Marlin 2.0 se suelen editar 2 archivos diferentes: Configuration.h y Configuration_adv.h.

En este caso, haremos uso del Configuration_adv.h y, con nuestro editor de texto favorito, efectuaremos una búsqueda de la palabra «Game«. De esta manera, localizamos rápidamente la parte del código donde se encuentran las opciones de activación de los diferentes juegos ocultos.

Si utilizas el último firmware disponible de Marlin hasta la fecha (v2.0.3) estas opciones las encontrarás disponibles a partir de la línea 1251. Si no es el caso, utiliza la función búsqueda, tal y como te comenté previamente.

Por defecto, y entiendo que por ahorro de memoria, estas opciones vendrán siempre deshabilitadas de origen con dos barritas o slash delante del #define, como puedes comprobar tu mismo:

// Frivolous Game Options
//#define MARLIN_BRICKOUT
//#define MARLIN_INVADERS
//#define MARLIN_SNAKE
//#define GAMES_EASTER_EGG          // Add extra blank lines above the "Games" sub-menu 

 

Juegos disponibles: Brickout, Invaders y Snake

Dentro de las opciones tenemos disponibles 3 minijuegos «míticos». El Brickout, o también conocido como Arkanoid, el Invaders, y como no, el famosísimo Snake que tantas horas de diversión nos dió en los antiguos teléfonos Nokia de antaño.

Para activar estas nuevas opciones (o juegos ocultos), simplemente deberás eliminar las dos barritas delante del #define correspondiente, y acto seguido compilar de nuevo el firmware para subirlo a tu impresora.

Recuerda, existen numerosas placas electrónicas, te recomiendo que no te vengas arriba y actives todos los juegos de golpe. La memoria de tu placa es limitada y quizá la excedas al activar todos de una sola vez (o inclusive uno solo, dependiendo de tu configuración actual).

 

 

Posibles limitaciones de hardware (memoria y display)

MKS Gen 1 4

Tal y como hemos mencionado unas líneas arriba, es probable que puedas andar escaso de memoria a la hora de compilar algún firmware de Marlin, sobre todo si dispones de alguna impresora Ender3.

Si es así, deberás prestar atención al compilador y siempre revisar si te queda espacio libre para poder añadir estas opciones extra (o cualquier otra). Al acabar toda compilación Marlin amablemente te indicará la memoria libre y de esta forma podrás estar al tanto de tus limitaciones al respecto.

Yo dispongo de una electrónica MKS Gen v1.4 con bastante memoria interna, así que he podido activar los 3 juegos sin problema alguno. Otra de las posibles limitaciones que puedes tener es tu display. En mi caso utilizo una pantalla MKS_MINI_12864 y como podéis comprobar en el video y las imágenes, los juegos se activan sin problema alguno. En el caso de pantallas LCD  de 16*4 no me ha sido posible activarlos, probablemente no tengan soporte debido a su baja definición.

Lamentablemente no os puedo confirmar todos los tipos de display que se encuentran soportados, ya que no dispongo de ellos. No obstante, siéntete libre de indicarnos en los comentarios tu tipo de display, y si has podido activarlos sin problema alguno. De esta forma los iremos añadiendo al artículo poco a poco.

 

 

Espero que este artículo haya podido ser de tu interés, o que al menos despierte tu curiosidad por «jugar» y compilar Marlin 2.0.x. Por favor, como siempre, no olvidéis en dejar vuestros comentarios al final del mismo.

 

Otros artículos de interés en 3DWork.io: