Ir a la barra de herramientas

Minetest en las aulas de informática en Bachillerato

Versión en pdf

Introducción

Cada curso me planteo abordar nuevos contenidos relacionados con las TIC. Como profesor de informática soy consciente de qué este mi avanza a pasos de gigante y los docentes casi justo es decir que tenemos la obligación de estar en el día, al menos tener esa disposición. No solo esto, sino que tenemos que estar dispuestos también a aprender de nuestro alumnado.

Como novedad en los contenidos de la especialidad de informática y en el nivel de bachillerato, se propuso al alumnado trabajar con uno en torno a videojuegos basados en sandbox, se a decir, espacios abiertos y escenarios, con la idea de que aprendan entornos de programación como Python. Se pensaba en entornos del tipo Minecraft o Roblox. Pero que funcionaron en Lliurex, claro.

La opción de Roblox pronto se descartó. Este es un producto propietario con el inconveniente de que necesita un sistema operativo propietario. Sin embargo se ha hecho un contacto con la gente de Roblox School, de Cataluña, que nos han hecho una introducción al producto y ofrecen cursos en línea al estudiantado. La opción de máquina virtual tampoco funcionó por el requerimiento de librerías gráficas basadas en OpenGL.

La opción de Minecraft gustó enseguida al alumnado porque ellos ya lo usan, tienen experiencia jugando en sus casas y entre ellos, lo dominan. Además de que permite jugar en línea con otros usuarios de la red. Pero como que es un producto propietario, aunque dispone de distribuciones para la educación, también lo descartamos porque enseguida se encontró una solución alternativa, ampliable, personalizable y libre: Minetest.

https://www.minetest.net/

 

Minetest, conocido originalmente como maceta-c55, es un “3d sandbox construction game” creado por Perttu Ahola (C55) en 2010, y que está inspirado en Infiniminer y Minecraft. Cuenta con una extensa comunidad de desarrolladores, presencia en Internet y las redes sociales y una base de datos de mods o extensiones que el fan un entorno muy rico para la programación. La cantidad de usuarios que usa este software crece exponencialmente.

https://es.wikipedia.org/wiki/infiniminer

https://es.wikipedia.org/wiki/minecraft

El juego es muy similar a Minecraft, donde el jugador puede crear y destruir varios tipos de bloques en un mundo abierto e infinito en 3D, el alumnado puede crear/generar cualquier tipo de construcción. La gran diferencia con este, además de ser uno en torno a software libre, es que la distribución base solo ofrece el sandbox o escenario, que va ampliándose a medida que el usuario instala extensiones. Por ejemplo, si queremos jugar lo más parecido a Minecraft, tendremos que instalar lo mod denominado MineClone 2.

Tiene una doble modalidad “singleplayer” o “multiplayer”. Además, tiene la opción de instalar mods o packs de textura para hacer que juego sea mes llamativo. Todo el que quiera puede meterse en las tripas de Minetest y puede personalizar y mejorar el juego.

El reto

La filosofia de trabajo fue proponer un aprendizaje al alumnado basado en la presentación y ofrecimiento de recursos en línea, y que sean ellos mismos los que encuentran y eligen el camino por donde avanzar.

El reto era el siguiente: “Te gusta jugar a Minetest? Te gustaría crear tus propios mods y hacer que el programa se comporte como tú quieras? Estás en el lugar adecuado. Método de calificación: Enviarás una descripción de aquello realizado a través de las tareas. El profesor revisará tu trabajo en clase y la descripción enviada y te puntuará proporcionadamente.”

La apuesta estaba hecha. Se trataba de que pudieran aprender programación haciendo aquello que más los gusta: jugar y crear. La realidad es que Minetest mujer para mucho. El que explicaremos a continuación supone solo una pequeña muestra del que se puede hacer con este entorno, con el fin de que más docentes se animan a utilizarlo.

Rompiendo el hielo

La primera tarea era poner a disposición del alumnado, a los equipo de las aulas, el software de Minetest. En el centro disponemos de la versión de Lliurex 16 y modelo de aula, está claro. Aunque este curso está prevista la migración gradual hacia Lliurex 19. Si buscáis a los repositorios que vienen con el sistema, encontraréis que la versión disponible es la 0.4.3. Pero esta no es la que queríamos, la versión actual es la 5.3 y es la que deseamos utilizar. Por lo tanto, cogemos el Lliurex Remote Installer y le añadimos un script de instalación que haga el trabajo por nosotros a toda la equipación del aula.

El contenido del script no es muy complicado, solo tenemos que ir a la página web de descarga, buscar la opción de instalación en Ubuntu a través de PPA, y salir adelante con unas sencillas instrucciones (añadimos la opción “-y” para una instalación desatendida).

https://www.minetest.net/downloads/

 

sudo add-apt-repository ppa:minetestdevs/stable -y

sudo apt-get update

sudo apt-get install minetest -y

 

Explico al alumnado que pueden instalar Minetest también en casa dónde, evidentemente, usan Windows o Mac. Además, les cuento que si copian cada vez el contenido del directorio “.minetest” en su carpeta personal al equipo de casa, lo tendrán todo igual. Buena jugada.

 

 

Esta primera tarea para ellos es sencilla: se trata de crear una construcción con el mod MineClone 2 activado. Este complemento se descarga desde el propio entorno de juego. Todos los mods se pueden encontrar en la página web ContentDB, de donde podemos descargar el código fuente de cada extensión que nos interese.

https://content.minetest.net/

 

Y para que no lo hicieran en uno mi vacío, se les ofreció construir en mundos ya creados por otros jugadores en línea. Para nuestro caso, encontramos dos mundos: de hielo y medieval, del Campus Virtual de Educación Digital del Ministerio de Educación de Buenos Aires. Disponen de un entorno Moodle donde tienen colgado estos recursos.

https://campusvirtualintec.buenosaires.gob.ar/course/view.php?id=301&section=7

 

La segunda tarea consistió en utilizar el mod Teaching Mathematics, que consiste en unos bloques ya creados donde los jugadores tienen que resolver operaciones matemáticas situando los bloques adecuados como resultado. Este mod se puede utilizar de varias maneras:

  • El alumnado crea sus propias operaciones
  • El profesorado prepara un mundo con operaciones a resolver
  • El alumnado amplía el mod para añadir nuevas operaciones o funciones matemáticas

https://content.minetest.net/packages/sfan5/teaching/

 

Minetest y la impresión 3D

Minetest es un motor gráfico libre basado en vóxels, quiere decir, lo que entendemos por píxeles cuando hablamos en 2D, pero ahora referido al 3D. Se centra en dos objetivos: que sea fácilmente modificable y ampliable, mediante el lenguaje Lua, basado en Python, y poder ejecutarse en cualquier equipo de cualquier “edad”. Sí, podemos reutilizar esos equipos viejos que tenemos por el centro o a casa. Qué bueno!

https://www.lua.org/

Para la tercera tarea íbamos a utilizar un elemento innovador más: la impresora 3D que tenemos en el centro, una BCN3D y, con Minetest como herramienta de diseño, crear nuestras propias figuras. Investigando de donde sacar contenidos para la materia, me encontré con un gran artículo de David Martín en su blog equipotic en diocesanos.es. La idea era que la construcción que el alumnado había hecho en las tareas anteriores, ahora la pudieron imprimir en tres dimensiones y convertirla en un objeto! Cómo él mismo dice: “Juntar a una veintena de muchachos de Primaria en un mismo escenario cono acceso ilimitado a fuentes de lava, torrentes de agua, fuego y dinamita y pretender que no lo utilicen unos contra otros, sin gritos, de forma «ordenada»… es una prueba digna de Hércules.” Pues yo quise ser el Hércules particular de Bocairent.

El artículo del blog de David consta de dos versiones, el original del 2017 y una versión revisada y mejorada del 2019. Nos basaremos en la primera versión para una explicación superficial del mini-proyecto de diseño 3D, y os dejo el otro artículo mejorado para satisfacer vuestra curiosidad. Las imágenes que verás son las que se han realizado en aquel proyecto.

2017: Diseño e impresión 3D cono Minetest: https://diocesanos.es/blogs/equipotic/2017/07/11/diseno-e-impresion-3d-con-minetest/

2019: Nueva versión del módulo para imprimir en 3D modelos de Minetest: https://diocesanos.es/blogs/equipotic/2019/02/12/nueva-version-del-modulo-para-imprimir-en-3d-modelos-de-minetest/

Primer paso, creación del mod de exportación. Una vez tenemos Minetest instalado a nuestros equipos del aula, el primer paso es aprovechar el trabajo realizado por este profesor y crear un mod que cojo el diseño creado y lo exporto a un fichero que se pueda abrir con programas de diseño 3D como OpenSCAD. Comprobaremos que se visualiza la figura correctamente antes de poderla imprimir. Para lo cual, descargamos todo el código en lenguaje LUA que nos ofrece el autor, lo configuramos como un mod según los manuales y lo ejecutamos desde la consola de Minetest. Además de esto, habrá que configurar el programa tal y como nos indica David, el profesor de diocesanos.es . Por lo tanto, los pasos a seguir son: crear el mod y diseñar la figura. Una vez hecha esta, ejecutamos el mod y obtenemos el fichero con extensión .scad para poderlo abrir y convertir a .stl, que es el formato que entiende la impresora 3D.

Segundo paso, configuración de los bloques de materiales a utilizar. La figura 3D que invento el alumnado hace falta que esté hecha con unos bloques concretos. En este paso se define en el inventario qué son estos bloques disponibles para esta práctica innovadora. Aunque al script proporcionado ya se ha incluido la mayoría de materiales tipos bloque e imprimibles: agua, fuego, lava, vidrio, árboles, flores… ). Se recomienda probar primero con los bloques: dirt (tierra) para la tierra, dirt_with_grass (superficie a construir) y stone (piedra) para la construcción. Hay que buscarlos y seleccionarlos en el inventario de Minetest.

Tercer paso, creació del modelo. El alumnado se pone a diseñar, respetando el tamaño máximo y los límites de la figura! Como es comprensible, hay que hacer un diseño que pueda caber en la impresora 3D y también que el mod creado sea capaz de reconocerlo. Y ahora, imaginación al poder! Cada alumnado puede hacer el diseño que más le gusto, eso sí, hay que tener en cuenta además que la figura tiene que tener una base que la sustente para poderla imprimir correctamente, como suele ser habitual en este tipo de proyectos, la impresora no puede imprimir en el aire!

Quart , exportación. Para exportar la figura a un fichero .scad, mediante mandos, le diremos al mod qué son las dimensiones y la localización de la figura 3D. Podemos considerar al mi de Minetest como un gran cubo donde podemos especificar coordenadas cartesianas en tres ejes: X, Y y Z. Nos situaremos en un lado de la figura, por ejemplo uno de la base inferior, marcaremos el punto y después nos situaremos en el punto opuesto superior y lo volveremos a marcar. Con estos datos, ejecutaremos el mando en la consola de Minetest: /openscad, y se generará un fichero en el directorio .minetest/worlds con el nombre y extensión usuario.scad.

Quinto y último paso, generar e imprimir el modelo 3D. Desde el programa OpenSCAD cargaremos el fichero anterior y generaremos el fichero con extensión .stl que entienden programas de impresión 3D como Slic3r o Cura. Una vez abierto lo .stl con uno de estos programas, simplemente generamos el fichero .gcode que enviaremos a la impresora. Y ya la dejamos imprimiendo… Voilà! Ya tenemos nuestras figuras reales que el alumnado ha creado y diseñado con Minetest.

Modding: crea tu propio mi virtual

Como epílogo del seguido de prácticas y experimentación con Minetest, se trataba de introducir al alumnado al mi de la programación con la creación de mods, o modding en inglés. Pero claro, si no tenían experiencia previa con programación textual y, con las pocas horas de clase que té un trimestre, si se querían hacer más unidades didácticas además de programación pues teníamos que encontrar un método más efectivo basado en tutoriales. Afortunadamente lo encontramos. Un tal Nathan Salapat tenía publicados recientemente toda una lista de videotutoriales para trabajarlo. Ponemos manos a la obra.

https://www.nathansalapat.com/

Hola mundo

La potencia real de Minetest está en la programación, a través de la creación de mods o modificaciones. Empezamos por el libro básico de referencia, Minetest Modding book, de Ruben Wardy. Aunque está en inglés, el alumnado puede utilizar traductores en línea. Se puede consultar también la Wiki de Minetest con recursos para el modding, Minetest Wiki: Modding intro.

Finalmente, en Youtube podemos encontrar una serie de videos muy interesantes sobre un curso de modding de Nathan Salapat. Y con todo este material, ya podemos crear nuestro primer ejemplo: el típico “Hola mi”.

https://rubenwardy.com/minetest_modding_book/en/index.html

https://dev.minetest.net/modding_intro

https://www.youtube.com/watch?v=y0ricqehel4&list=PLPgcVM1hYvqCgBpQvdei05EJcS-z_JNgq

Crafting

La elaboración o crafting es la forma en que se crean bloques y elementos en Minetest. Para crear algo, el jugador tiene que mover elementos a una cuadrícula de elaboración y después organizar los elementos en un patrón definido. Muchas recetas adicionales creadas por jugadores y otras cuadrículas de elaboración están disponibles a través de la base de datos contentdb, en la cual podrás encontrar multitud de mods .

En el videotutorial de Nathan Salapat, podrás encontrar una descripción general rápida sobre como crear nodos de arte (craft items) y algunas de las diferentes cosas que puede hacer con ellos. Algunos de los conceptos presentados no son muy prácticos, pero podrían extenderse para hacer algo que tenga sentido.

Los craft items son muy similares a los nodos normales. Para crear un nodo a partir de otros se necesita una receta (recipe). En esta receta se especifica si el nodo resultante se obtendrá mediante la colocación de nodos adyacentes o bien construyendo un nodo sobre otro nodo.

Dentro de Minetest, accedemos al inventario del juego, y desde aquí seleccionamos los nodos que componen la receta. Se combinan entre sí según las instrucciones del mod y a partir de estos obtenemos el nodo resultante.

https://www.youtube.com/watch?v=hlgzz1wum1g

Y aquí un ejemplo:

Groups

Los grupos en Minetest sirven para determinar qué herramientas se pueden utilizar para romper bloques. Se aplican para la creación de recetas en los ficheros .lua.

En los anteriores ejemplos se han utilizado los grupos, por ejemplo oddly_breakable_by_hand. Se suelen configurar cuando se registran nodos, para establecer su comportamiento. En el vídeo verás este y otros grupos y qué es su utilidad.

El valor de rango (rate) sirve para configurar la velocidad de excavación de cada nodo agrupado, y puede variar desde 1 a 3. A mayor valor, mayor velocidad de excavación.

Un ejemplo: Los nodos que se hunden (crumbling) son los que se tienen que cavar con pala como dirt, sand, gravel, silts, etc. Los nodos de cracking se pueden romper con un pico como stones o bloques metal. Los nodos snapping se rompen mejor con una espada o sword… Si revisáis el vídeo y las instrucciones del autor podréis aprender más sobre estos aspectos.

Texturas

Por último, dentro de este epílogo sobre programación en Minetest con el lenguaje Lua, se trabajaron las texturas y los efectos de textura. Hasta ahora, los nodos que hemos utilizado tienen suelas una, pero el programa nos da otros múltiples opciones, por ejemplo, fijaos en los troncos y los hornos. Tenemos el control sobre cada una de las seis caras de cada bloque, que son cubos en tres dimensiones, por eso, existen diferentes etapas en la personalización de nuestras creaciones.

Las texturas se definen en la tabla de losas (tiles, en inglés). Si definimos solo una, el bloque o nodo mostrará la misma textura en todas sus caras. Pero podemos definir varias: top, bottom, right, left, frente, back.

Conclusiones

El trabajo con Minetest supone la utilización de software libre a las aulas, lo cual significa que el mismo alumnado puede extender y aumentar sus posibilidades. Así mismo, se consigue un ahorro importante en licencias si lo comparamos con software propietario, se puede adaptar y ampliar, tiene la posibilidad de ser traducido al valenciano (tarea para el departamento de lenguas) y fomenta los valores como la colaboración y la búsqueda del bien común.

Cualquier tarea que se ponga en práctica en el aula y que pido la creatividad del alumnado tiene un éxito asegurado. Como ejemplo, la utilización de Minetest como diseñador de figuras 3D es una cosa que no se los hubiera pasado por el hacia nadie de los estudiantes de este curso y… voilà!

Las actividades realizadas alrededor de los juegos, videojuegos y herramientas lúdicas aportan motivación. Además, el en torno a trabajo es amigable y nada desconocido para el alumnado, que ya está habituado a jugar con Minecraft en sus casas. Por lo tanto, la adaptación es automática y mayoritariamente, somos los docentes quién aprendemos del alumnado!

Por último, y como objetivo final de este artículo, invito a cualquier otro/a compañero/a docente a salir adelante con este material en vuestras aulas y sobre todo, a que compartais todo aquello que hacéis!

https://millanetblog.wordpress.com/

14