Minetest a les aules d’informàtica en Batxillerat

Versió en pdf

Introducció

Cada curs em plantege abordar nous continguts relacionats amb les TIC. Com a professor d’informàtica sóc conscient de què aquest mon avança a passos de gegant i els docents quasi val a dir que tenim l’obligació d’estar al dia, almenys tindre aqueixa disposició. No només això, sino que hem d’estar disposats també a aprendre del nostre estudiantat.

Com a novetat en els continguts de l’especialitat d’informàtica i en el nivell de batxillerat, es va proposar a l’alumnat treballar amb un entorn de videojocs basats en sandbox, es a dir, espais oberts i escenaris, amb la idea de que aprenguen entorns de programació com Python. Es pensava en entorns del tipus Minecraft o Roblox. Però que funcionaren en Lliurex, clar.

L’opció de Roblox prompte es va descartar. Aquest és un producte propietari amb l’inconvenient de que necessita un sistema operatiu propietari. No obstant això s’ha fet un contacte amb la gent de Roblox School, de Catalunya, que ens han fet una introducció al producte i ofereixen cursos en línia a l’estudiantat. L’opció de màquina virtual tampoc va funcionar pel requeriment de llibreries gràfiques basades en OpenGL.

L’opció de Minecraft va agradar de seguida a l’alumnat perquè ells ja el fan servir, tenen experiència jugant en les seues cases i entre ells, el dominen. A més de que permet jugar en línia amb altres usuaris de la xarxa. Però com que és un producte propietari, encara que disposa de distribucions per a l’educació, també ho vàrem descartar perquè de seguida es va trobar una solució alternativa, ampliable, personalitzable i lliure: Minetest.

https://www.minetest.net/

Minetest, conegut originalment com a test-c55, és un “3d sandbox construction game” creat per Perttu Ahola (C55) l’any 2010, i que està inspirat en Infiniminer i Minecraft. Compta amb una extensa comunitat de desenvolupadors, presència en Internet i les xarxes socials i una base de dades de mods o extensions que el fan un entorn molt ric per a la programació. La quantitat d’usuaris que fa servir aquest programari creix exponencialment.

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

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

El joc és molt similar a Minecraft, on el jugador pot crear i destruir diversos tipus de blocs en un món obert i infinit en 3D, l’alumnat pot crear/generar qualsevol tipus de construcció. La gran diferència amb aquest, a banda de ser un entorn de programari lliure, és que la distribució base només ofereix el sandbox o escenari, que va ampliant-se a mesura que l’usuari instala extensions. Per exemple, si volem jugar el més paregut a Minecraft, haurem d’instalar el mod anomenat MineClone 2.

Té una doble modalitat “singleplayer” o “multiplayer”. A més, tens l’opció d’instal·lar mods o packs de textura per a fer que joc siga mes cridaner. Tot el que vulga pot ficar-se en els budells de Minetest i poder personalitzar i millorar el joc.

El repte

La filosifia de treball va ser proposar un aprenentatge a l’alumnat basat en la presentació i oferiment de recursos en línia, i que siguen ells mateixos els que troben i trien el camí per on avançar.

El repte era el següent: “T’agrada jugar a Minetest? T’agradaria crear els teus propis mods i fer que el programa es comporte com tu vulgues? Estàs en el lloc adequat. Mètode de qualificació: Enviaràs una descripció d’allò realitzat a través de les tasques. El professor revisarà el teu treball en classe i la descripció enviada i et puntuarà proporcionadament.”

L’aposta estava feta. Es tractava de que pogueren aprendre programació fent allò que més els agrada: jugar i crear. La realitat és que Minetest dona per a molt. El que explicarem a continuació suposa només una xicoteta mostra del que es pot fer amb aquest entorn, amb la finalitat de que més docents s’animen a utilitzar-lo.

Trencant el gel

La primera tasca era posar a disposició de l’alumnat, als equip de les aules, el programari de Minetest. Al centre disposem de la versió de Lliurex 16 i model d’aula, és clar. Encara que aquest curs està prevista la migració gradual cap a Lliurex 19. Si busqueu als repositoris que venen amb el sistema, trobareu que la versió disponible és la 0.4.3. Però aquesta no és la que voliem, la versió actual és la 5.3 i és la que desitjem utilitzar. Per tant, agafem el Lliurex Remote Installer i li afegim un script d’instal·lació que faça la feina per nosaltres a tot l’equipament de l’aula.

El contingut de l’script no és molt complicat, només hem d’anar a la pàgina web de descàrrega, buscar l’opció d’instal·lació en Ubuntu a través de PPA, i tirar avant amb unes senzilles instruccions (afegim l’opció “-y” per instal·lació desatesa).

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

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

sudo apt-get update

sudo apt-get install minetest -y

Explique a l’alumnat que poden instal·lar Minetest també a casa on, evidentment, fan servir Windows o Mac. A més, els conte que si copien cada vegada el contingut del directori “.minetest” en la seua carpeta personal a l’equip de casa, ho tindran tot igual. Bona jugada.

Aquesta primera tasca per a ells és senzilla: es tracta de crear una construcció amb el mod MineClone 2 activat. Aquest complement es descarrega des del propi entorn del joc. Tots els mods es poden trobar a la pàgina web ContentDB, d’on podem descarregar el codi font de cada extensió que ens interesse.

https://content.minetest.net/

I per a que no ho fèren en un mon buit, se’ls va oferir construir en mons ja creats per altres jugadors en línia. Per al nostre cas, trobàrem dos mons: mon de gel i mon medieval, del Campus Virtual de Educación Digital del Ministerio de Educación de Buenos Aires. Disposen d’un entorn Moodle on tenen penjat aquests recursos.

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

La segona tasca va consistir en utilitzar el mod Teaching Mathematics, que consisteix en uns blocs ja creats on els jugadors han de resoldre operacions matemàtiques situant els blocs adequats com a resultat. Aquest mod es pot utilitzar de vàries maneres:

  • L’alumnat crea les seues propies operacions
  • El professorat prepara un mon amb operacions a resoldre
  • L’alumnat amplia el mod per afegir noves operacions o funcions matemàtiques

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

Minetest i la impressió 3D

Minetest és un motor gràfic lliure basat en vóxels, vol dir, el que entenem per píxels quan parlem en 2D, però ara referit al 3D. Es centra en dos objectius: que siga fàcilment modificable i ampliable, mitjançant el llenguatge Lua, basat en Python, i poder executar-se en qualsevol equip de qualsevol “edat”. Sí, podem reutilitzar eixos equips vells que tenim pel centre o a casa. Xe què bo!

https://www.lua.org/

Per a la tercera tasca anàvem a utilitzar un element innovador més: la impressora 3D que tenim al centre, una BCN3D i, amb Minetest com a eina de disseny, crear les nostres pròpies figures. Investigant d’on traure continguts per a la matèria, em vaig trobar amb un gran article de David Martín en el seu blog equipotic en diocesanos.es. La idea era que la construcció que l’alumnat havia fet en les tasques anteriors, ara la pogueren imprimir en tres dimensions i convertirla en un objecte! Com ell mateix diu: “Juntar a una veintena de muchachos de Primaria en un mismo escenario con 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.” Doncs jo vaig voler ser l’Hèrcules particular a Bocairent.

L’article del blog de David consta de dues versions, l’original del 2017 i una versió revisada i millorada del 2019. Ens basarem en la primera versió per a una explicació superficial del mini-projecte de disseny 3D, i us deixe l’altre article millorar per tal de satisfer la vostra curiositat. Les imatges que veuràs són les que s’han realitzat en aquell projecte.

2017: Diseño e impresión 3D con 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 pas, creació del mod d’exportació. Una vegada tenim Minetest instal·lat als nostres equips de l’aula, el primer pas és aprofitar la feina realitzada per aquest professor i crear un mod que agafe el disseny creat i l’exporte a un fitxer que es puga obrir amb programes de disseny 3D com OpenSCAD. Comprovarem que es visualitza la figura correctament abans de poder-la imprimir. Per a això, descarreguem tot el codi en llenguatge LUA que ens ofereix l’autor, el configurem com a un mod segons els manuals i l’executem des de la consola de Minetest. A banda d’això, caldrà configurar el programa tal i com ens indica David, el professor de diocesanos.es. Per tant, els passos a seguir són: crear el mod i dissenyar la figura. Una vegada feta aquesta, executem el mod i obtenim el fitxer amb extensió .scad per poder-lo obrir i convertir a .stl, que és el format que entén la impressora 3D.

Segon pas, configuració dels blocs de materials a utilitzar. La figura 3D que invente l’alumnat cal que estiga feta amb uns blocs concrets. En aquest pas es defineix en l’inventari quins són aquests blocs disponibles per a aquesta pràctica innovadora. Encara que a l’script proporcionat ja s’ha inclòs la majoria de materials tipus bloc i imprimibles: aigua, foc, lava, vidre, arbres, flors… ). Es recomana provar primer amb els blocs: dirt (terra) per a la terra, dirt_with_grass (superfície a construir) i stone (pedra) per a la construcció. Cal buscar-los i seleccionar-los a l’inventari de Minetest.

Tercer pas, creació del model. L’alumnat es posa a dissenyar, respectant el tamany màxim i els límits de la figura! Com és comprensible, cal fer un disseny que puga cabre en la impressora 3D i també que el mod creat siga capaç de reconéixer-lo. I ara, imaginació al poder! Cada alumnat pot fer el disseny que més li agrade, això sí, cal tenir en compte a més que la figura ha de tindre una base que la sustente per poder-la imprimir correctament, com sol ser habitual en aquest tipus de projectes, la impressora no pot imprimir en l’aire!

Quart pas, exportació. Per a exportar la figura a un fitxer .scad, mitjançant comandaments, li direm al mod quines són les dimensions i la localització de la figura 3D. Podem considerar al mon de Minetest com un gran cub on podem especificar coordenades cartesianes en tres eixos: X, Y i Z. Ens situarem en un cantó de la figura, per exemple un de la base inferior, marcarem el punt i després ens situarem en el punt oposat superior i el tornarem a marcar. Amb aquestes dades, executarem el comandament en la consola de Minetest: /openscad, i es generarà un fitxer en el directori .minetest/worlds amb el nom i extensió usuari.scad.

Cinqué i darrer pas, generar e imprimir el model 3D. Des del programa OpenSCAD carregarem el fitxer anterior i generarem el fitxer amb extensió .stl que entenen programes d’impressió 3D com Slic3r o Cura. Una vegada obert el .stl amb un d’estos programes, simplement generem el fitxer .gcode que enviarem a la impressora. I ja la deixem imprimint… Voilà! Ja tenim les nostres figures reals que l’alumnat ha creat i dissenyat amb Minetest.

Modding: crea el teu propi mon virtual

Com a epíleg del seguit de pràctiques i experimentació amb Minetest, es tractava d’introduir a l’alumnat al mon de la programació amb la creació de mods, o modding en anglés. Però clar, si no tenien experiència prèvia amb programació textual i, amb les poques hores de classe que te un trimestre, si es volien fer més unitats didàctiques a banda de programació doncs havíem de trobar un mètode més efectiu basat en tutorials. Afortunadament ho trobàrem. Un tal Nathan Salapat tenia publicats recentment tot un seguit de videotutorials per a treballar-ho. Posem fil a l’agulla.

https://www.nathansalapat.com/

Hola mon

La potència real de Minetest està en la programació, a través de la creació de mods o modificacions. Comencem pel llibre bàsic de referència, Minetest Modding book, de Ruben Wardy. Encara que està en anglès, l’alumnat pot utilitzar traductors en línia. Es pot consultar també la Wiki de Minetest amb recursos per al modding, Minetest Wiki: Modding intro.

Finalment, en Youtube podem trobar una sèrie de vídeos molt interessants sobre un curs de modding de Nathan Salapat. I amb tot aquest material, ja podem crear el nostre primer exemple: el típic “Hola mon”.

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

L’elaboració o crafting és la forma en què es creen blocs i elements en Minetest. Per a crear alguna cosa, el jugador ha de moure elements a una quadrícula d’elaboració i després organitzar els elements en un patró definit. Moltes receptes addicionals creades per jugadors i altres quadrícules d’elaboració estan disponibles a través de la base de dades contentdb, en la qual podràs trobar multitud de mods.

En el videotutorial de Nathan Salapat, podràs trobar una descripció general ràpida sobre com crear nodes d’art (craft items) i algunes de les diferents coses que pot fer amb ells. Alguns dels conceptes presentats no són molt pràctics, però podrien estendre’s per a fer alguna cosa que tinga sentit.

Els craft items són molt similars als nodes normals. Per a crear un node a partir d’uns altres es necessita una recepta (recipe). En aquesta recepta s’especifica si el node resultant s’obtindrà mitjançant la col·locació de nodes adjacents o bé construint un node sobre un altre node.

Dins de Minetest, accedim a l’inventari del joc, i des d’ací seleccionem els nodes que componen la recepta. Es combinen entre si segons les instruccions del mod i a partir d’aquests obtenim el node resultant.

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

I ací un exemple:

Groups

Els grups en Minetest serveixen per a determinar quines eines es poden utilitzar per a trencar blocs. S’apliquen per a la creació de receptes en els fitxers .lua.

En els anteriors exemples s’han utilitzat els grups, per exemple oddly_breakable_by_hand. Se solen configurar quan es registren nodes, per a establir el seu comportament. En el vídeo veuràs aquest i altres grups i quina és la seua utilitat.

El valor de rang (rate) serveix per a configurar la velocitat d’excavació de cada node agrupat, i pot variar des d’1 a 3. A major valor, major velocitat d’excavació.

Un exemple: Els nodes que s’enfonsen (crumbling) són els que s’han de cavar amb pala com dirt, sand, gravel, silts, etc. Els nodes de cracking es poden trencar amb un pic com stones o blocs metall. Els nodes snapping es trenquen millor amb una espasa o sword… Si reviseu el vídeo i les instruccions de l’autor podreu aprendre més sobre aquests aspectes.

Textures

Per últim, dins d’este epíleg sobre programació en Minetest amb el llenguatge Lua, es van treballar les textures i els efectes de textura. Fins ara, els nodes que hem utilitzat tenen soles una, però el programa ens dona altres múltiples opcions, per exemple, fixeu-vos en els troncs i els forns. Tenim el control sobre cada una de les sis cares de cada bloc, que són cubs en tres dimensions, per això, existeixen diferents etapes en la personalització de les nostres creacions.

Les textures es defineixen en la taula de lloses (tiles, en anglès). Si definim només una, el bloc o node mostrarà la mateixa textura en totes les seues cares. Pero podem definir vàries: top, bottom, right, left, front, back.

Conclusions

El treball amb Minetest suposa la utilització de programari lliure a les aules, la qual cosa significa que el mateix alumnat pot extendre i augmentar les seues possibilitats. Així mateix, s’aconsegueix un estalvi important en llicències si ho comparem amb programari propietari, es pot adaptar i ampliar, te la possibilitat de ser traduit al valencià (tasca per al departament de llèngües) i fomenta els valors com la col·labolació i la búsqueda del bé comú.

Qualsevol tasca que es pose en pràctica a l’aula i que demane la creativitat de l’alumnat té un èxit assegurat. Com a exemple, la utilització de Minetest com a dissenyador de figures 3D és una cosa que no se’ls haguera passat pel cap a ningú dels estudiants d’aquest curs i… voilà!

Les activitats realitzades al voltant dels jocs, videojocs i eines lúdiques aporten motivació. A més, l’entorn de treball és amigable i gens desconegut per a l’alumnat, que ja està habituat a jugar amb Minecraft en les seues cases. Per tant, l’adaptació és automàtica i majoritàriament, som els docents qui aprenem de l’alumnat!

Per últim, i com a objectiu final d’aquest article, convide a qualsevol altre/a company/a docent a tirar endavant amb aquest material a les vostres aules i sobretot, compartiu tot allò que feu!

https://millanetblog.wordpress.com/

14

"edutictac.es