Para meternos en harina, lo primero que necesitamos es crear una estructura de carpetas de juego en nuestro directorio games de minetest que encontraremos en /home/usuario/.minetest/games/ o en /usr/share/games/minetest/games /donde tendremos que crear una estructura para nuestro juego que en mi caso se llama «atrapa» creamos una estructura similar a esta:
├───atrapa
│ ├───mods
| └───game.conf
En la estructura de carpetas dentro de la carpeta mods, crearemos una carpeta para contener carpetas de mods, que en mi caso crearé una llamada «willy» dentro de esta carpeta, tendremos que crear una estructura como la siguiente:
├───willy
│ ├───models
│ └───textures
│ └───init.lua
│ └───mod.conf
│ └───depends.txt
Dentro de la sub carpeta models metemos nuestro modelo en formato b3d(Bliz) y en textures pondremos nuestra textura en formato png. Es importante que nuestro modelo tenga creada una animación para las acciones que necesitemos(andar,atacar,correr,etc..) No os preocupes si no tenéis instalado el plugin de blender para b3d, o no tenéis modelos 3d, más abajo he dejado un repositorio en gitlab de todo lo que necesitamos.
Una vez exportados nuestros modelos y texturas editaremos nuestro archivo game.conf de la siguiente manera:
name = Atrapa description = Test de juego para atrapar a willy rex y que deje de estafar con cripto y nft.
Luego en nuestra carpeta de mods, en mi caso en la carpeta willy, editaremos el archivo mod.conf para indicar el nombre de nuestro mod
name=willy
He dejado una copia de la estructura del juego básica y los modelos aquí, la idea es ir actualizando el gitlab con código y estructura según vayamos avanzando en los artículos. Solo tenéis que clonar el repositorio en la carpeta oculta /home/usuario/.minetest/games/ o /usr/share/games/minetest/games
git clone https://git.elbinario.net:8000/puppetmaster/minetest.git y dentro del directorio minetest,movemos la carpeta atrapa a el directorio de games. mv atrapa ../
Os generará una carpeta llamada atrapa, que contiene la estructura del juego,los modelos y nuestro mob willi con sus scripts en lua, así como la libreria mobs_redo necesaria para el manejo y los eventos de los mobs.
Si os fijáis en la carpeta de mods, solo encontraréis dos(willy y mobs_redo) estos mods no son por si solos suficientes para poder arrancar el juego, se necesitan más mods base para hacerlo, pero no los he subido porque varios de ellos sin él (motor) del juego y diferencia entre versiones, por lo que para evitar incompatibilidades lo mejor es que os copies los mods, necesarios de minetest_game a /home/usuario/.minetest/games/atrapa/mods/ o /usr/share/games/minetest/games podemos copiarlos de una tirada con rsync
rsync --recursive /home/usuario/.minetest/games/minetest_game/mods/ /home/usuario/.minetest/games/atrapa/mods/
o
rsync --recursive /usr/share/games/minetest/games/minetest_game/mods/ /usr/share/games/minetest/games/atrapa/mods/
Una vez tengamos el resto de mods copiados, tan solo tendremos que arrancar, minetest, eliges abajo nuestro juego «atrapa»(no tiene ningún icono asociado porque no lo hemos generado), configurar y activar todos los mods, y crear un nuevo mundo.
Con esto deberíais poder arrancar el juego y spawnear willyrex, por todo el nivel buscando en el inventario willy, nos aparecera un huevo que nos permite spawnearlo. También podemos atraparlo con el lazo, o golpearlo, pero ojo es muy resistente :P
Todavía no tenemos nada funcional únicamente vamos poniendo poco a poco piezas al puzzle para construirlo poco a poco, en próximos artículos. En el próximo artículo entraremos a ver el código del init.lua del mod de willy y empezaremos a añadir cositas.