Notxor tiene un blog

Defenestrando la vida

Minetest y otros juegos similares

2021-05-07

Hace tiempo ya hablé de mezclar juegos 3D y aventuras conversacionales y quedó en un intento bastante vaporware. Partíamos entonces de modelarlo todo en Blender3D y manejar el movimiento en el mundo a partir de comandos en la consola. Se llegó a hacer alguna acción de movimiento, pero poco más. Llegamos a una limitación del blender gameengine y decidimos pasarlo a Godot... y en ese cambio, que implicaba rehacer todo el código, llegó la parálisis. ¿Qué tiene que ver esto con minetest? Pues bastante. Leí por ahí que es una plataforma que permite generar diversos juegos o mundos programables a través de una API en Lua. En definitiva, llevo unos cuantos días explorando las posibilidades, mirando la documentación y jugando.

Si alguno no sabéis qué es Minetest quizá os suene el comercial Minecraft, el primero es un clon de este, pero libre. Las preguntas que están guiando esta investigación son tres: 1. ¿Puedo realizar un juego en el que se introduzcan los comandos por consola? 2. ¿Se pueden hacer juegos independientes de un servidor para jugar en local? y 3.: en caso de que las respuestas a las dos preguntas anteriores sean afirmativas, ¿será muy complicado hacerlo?

No sé aún, sólo busco hacer juegos como podrían ser aventuras conversacionales, o gráficas, por divertimento. Mi último objetivo sería poder hacer algún tipo de juego educativo a partir de esta plataforma, aunque no termina de convencerme por ciertas razones que comentaré más adelante. Todavía, hay que probar muchas cosas y juguetear con toda la herramienta. La idea sería montar un servidor al que un grupo de jugadores se pueda conectar y resolver algún tipo de puzle, o similar, de forma colaborativa, o competitiva ─según el objetivo planteado─.

La investigación ha empezado jugando. Ya había entrado e iniciado un poco el juego cuando el amigo Fanta de Mastodon Madrid montó un servidor de Minetest. Entonces me evadí de él, pues me consumía horas que necesito emplear para otras cosas. Pero en esta ocasión, para las investigaciones, me decidí a probar otro servidor donde no me conocieran. Las casualidades quisieron que me conocieran (virtualmente). Arranqué el juego conectándome a un servidor que se llama «La Era del Dragón» y lo elegí porque fue el único servidor que encontré con nombre en español.

Cuando inicié la aventura me puse mi nick habitual, Notxor, aparecí en un castillo con un montón de espacios y estancias... yo no sabía cómo salir y explorando caí en un agujero sin saber cómo salir. De repente apareció otro usuario (posteriormente supe que era uno de los administradores) que me hablaba (yo no recordaba cómo contestar y tuve que mirar las teclas más habituales por Internet). El caso es que lo primero que me preguntó fue: ¿Eres el mismo Notxor del blog? ... Vaya, debería haberme puesto otro nombre, pensé. Ya era tarde, me habían descubierto, así que tuve que admitir que sí.

Intenté implicarme en el juego, pero fui tan bien recibido que creo que la experiencia de jugador se me desvirtuó un poco al principio... todavía tenía herramientas de madera y piedra y ya saltaba por portales de un sitio a otro siguiendo al administrador del nodo, minando con maquinaria pesada, visitando el espacio o el infierno y teniendo herramientas, casi mágicas, que no sabía ni utilizar. Para rematar la jugada de la procrastinación, hace unos días mi hija me vio jugando y dijo «mi padre jugando al /minecraft/». La corregí: «no, al /minetest/», y le conté lo que era y cómo funciona más o menos. El caso es que se lo instaló en su ordenador y se conectó al mismo servidor. Ahora compartimos también espacio virtual y algún que otro sinsabor del juego1. Y ya de últimas, ayer arrastró al servidor a uno de sus amigos.

Captura-pantalla_dragones.png

El caso es que simplemente construirte tu casa, conseguir recursos y administrarlos, moverte de arriba a abajo en un mundo aparentemente sin fin2 es bastante entretenido y autorreforzante, por tanto adictivo. Además permite interactuar con otros jugadores, por lo que añade un plus de sociabilidad que hay que tener en cuenta, sobre todo si se quiere intervenir con menores. Puede ser bastante interesante, sobre todo en temas de trabajo en equipo o de socialización.

Captura-pantalla_mi-casa.png

Los paisajes, a pesar de los voxels o vóxeles3, que no tengo muy claro cómo se pronuncia y escribe dicho palabro, son bastante aparentes, hay ciclos de noche y día, árboles, plantas, terrenos desérticos, selvas, jardines frutales, mares, ríos... Toda esa variedad hace que se convierta en un mundo completo, si a eso le añadimos los mods de animales, enemigos (como zombies, esqueletos, dragones) y fauna en general. El poder domesticar animales o criarlos en una granja; cultivar la tierra... Es decir, simplemente un mundo puesto en un servidor y gente, jugadores, que interactúan, ya es suficientemente interesante.

Pero lo que me gustaría hacer sería algo que significaré un pasito más. Ni siquiera necesitaría un mundo completo con todo. Mi intención es hacer algo más parecido a lo que sería un scape room. El jugador aparecería, por ejemplo, dentro de una gruta o de un castillo y el objetivo sería salir de allí. O quizá... ¿Qué tal la aventura original hecha en esta plataforma? ¿o un remake de La Abadía del Crimen? ¿No estaría bien?

Editor de mundos

Captura-pantalla_minetest-malla.png

Con el juego en sí, viene la opción de crear servidores con mundos nuevos, poder modificarlos de la manera más creativa posible y ponerlos en servicio.

No tengo muy claro aún cómo funciona todo. Hay muchas opciones y estoy empezando a leer un poco de documentación. He encontrado incluso sitios donde se crean juegos educativos en esta plataforma, con una traducción incompleta, pero decente, al español, aunque está en perfecto francés y tiene traducción al inglés.

Juegos y mods

Existen, y se encuentran fácilmente, paquetes que cargan opciones y mods en Minetest que permiten jugar con objetos o personajes que no están en el paquete básico del juego. Me ha llamado especialmente un paquete que permite añadir elementos de El Señor de los Anillos a tu servidor. No he podido usarlo propiamente, pues al cargarlo me da un error en el código y no termina la carga. No sé todavía lo suficiente como para intentar arreglar el problema, pero todo se andará.

Captura-pantalla_lorg-of-the-test.png

Estoy aprendiendo. Hay un manual para crear mods y juegos en esta dirección:

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

El lenguaje de desarrollo de este tipo de juegos, y mods, es Lua. No es un lenguaje que pueda decir que controlo especialmente, pero me defiendo con él. Ya lo he utilizado en algunas ocasiones, por ejemplo configurando mi gestor de ventanas awesomewm, o también, haciendo algunas pruebas con el game engine löve2D.

Y hay mucha información sobre utilización de Minetest para la enseñanza en minetest.net/education, que es la página francesa que he mencionado antes.

Por lo que he podido observar hasta ahora, Minetest utiliza unas bases de datos en sqlite3:

  1. auth.sqlite3: con tres tablas,
    • auth: id (integer), name (varchar(32)), password (varchar(512)), last_login (integer)
    • sqlite_secuence: name, seq
    • user_privileges: id (integer), privilege (varchar(32))
  2. map.sqlite3: una sola tabla,
    • blocks: pos (integer), data (blob)
  3. players.sqlite3: tiene cuatro tablas,
    • player: name (varchar(50)), pitch (numeric(11,4)), yaw (numeric(11,4)), posX (numeric(11,4)), posY (numeric(11,4)), posZ (numeric(11,4)), hp (integer), breath (integer), creation_date (datetime), modification_date (datetime).
    • player_inventories: player (varchar(50)), inv_id (integer), inv_width (integer), inv_name (text), inv_size (integer)
    • player_inventory_items: player (varchar(50)), inv_id (integer), slot_id (integer), item (text)
    • player_metadata: player (varchar(50)), metadata (varchar(256)), value (text)

No sé si esta información será relevante para la programación, pero parece interesante tenerla a mano.

Conclusiones

El sistema de Minetest promete como soporte para distintos juegos. Sin embargo, aún no tengo claro si esos juegos podrán ser viables, para distribuir entre los posibles interesados, o si son fáciles de hacer o si merece la pena hacerlos.

Parece un sistema orientado a realizar algunos tipos de actividades: trabajar en la mina, crear tu granja, pelear con distintos mods, y no tanto para proponer una determinada aventura, sea conversacional o gráfica.

La principal pega que le encuentro es que no es inclusivo. Proporciona mucha información relevante visualmente y de manera auditiva. Antes de que los enemigos te ataquen, los oyes y para defenderte tienes que «apuntar» tus armas con el ratón... Personas ciegas o sordas estarán en franca desventaja si es que pueden jugar. Esto no importa mucho para un juego normal, pero si quieres portarlo a las aulas o generalizarlo, estarás dejando fuera, sin posibilidad de recuperarlos de ningún modo, a algunos usuarios. Si por ejemplo, es un juego educativo y lo quieres utilizar en un aula donde hay algún niño ciego o sordo, no es de recibo dejarlos fuera. ¡Qué poco me gusta putear a la gente por lo que es, en lugar de tener sólo en cuenta lo que hace!

Footnotes:

1

Hace poco otro usuario le mató todos los animales de su granja: los patos, los pollos, los perros... con el consiguiente disgusto. El usuario fue expulsado por el administrador, pero es otra historia.

2

estás situado en un mundo 3D de 62.000x62.000x62.000 ... puedes cavar 31.000 posiciones hacia abajo o construir 31.000 posiciones hacia arriba. No creo que nadie haya podido aún visitar los seis extremos de un mundo virtual.

3

Vóxel es una contracción de volumetric pixel, o pixel volumétrico. Sería el equivalente 3D de un pixel 2D.

Categoría: juegos minetest

Comentarios

Debido a algunos ataques mailintencionados a través de la herramienta de comentarios, he decidido no proporcionar dicha opción en el Blog. Si alguien quiere comentar algo, me puede encontrar en Mastodon y en Diaspora con el nick de Notxor.

También se ha abierto un grupo en Telegram, para usuarios de esa red.

Disculpen las molestias.