Prueba de concepto historical-minecraft de generación de mapas


#1

Sólo he tardado un año en actualizar…

Bueno, resulta que @namuras hace mucho tiempo que me hizo llegar unos ficheros DEM pero yo no he hecho nada.

Hoy me he peleado de nuevo y he llegado a algunas conclusiones. Básicamente creo que las herramientas que teníamos en mente estaban demasiado hilvanadas y no suficientemente documentadas. Pero buscando un poquito he encontrado un material interesante:

He hecho una prueba de concepto y salvo un par de errores de sintaxis de los mods de minetest que ha descargado el script he generado un mundo aparentemente completo y operativo:

Las otras dos imágenes son los TIFF de origen.

El procedimiento:

git clone https://github.com/mcedit/pymclevel
cd pymclevel
python setup.py install --user
cp pocket.yaml indev.yaml classic.yaml minecraft.yaml ~/.local/lib/python*/site-packages/pymclevel-*.egg/pymclevel/
cd -
git clone https://github.com/NYPL/historical-minecraft
cd historical-minecraft/fort-washington
python generate_map.py game
cd -
git clone https://github.com/minetest-tools/mcimport
mcimport/mcimport.sh  # abrirá un selector de archivos para elegir la carpeta donde generate_map.py ha creado el mundo minecraft
minetest  # elije entre los mundos disponibles el que se acaba de crear y a jugar

Conclusiones:

  • el script de NYPL funciona muuuy bien
  • el conversor a minetest funciona muuuuuy bien, y te deja todo guardado en los lugares predeterminados de Minetest.
  • sí hay un par de errores con algunos mod que probablemente se deban a alguna incompatibilidad entre versiones
  • el procedimiento de generación de NYPL tiene carencias: no añade más información de las construcciones que la del área que ocupan. O sea, que no genera edificios o construcciones con volumen.

Esto se puede arreglar ampliando el proceso de creación y añadiendo al mapeado de construcciones datos en uno o dos de los valores GB de color información sobre la construcción. Obviamente eso implica modificar el script de generación, pero no debería ser complicado.

Espero seguir haciendo pruebas.

PD: editado para añadir la imprescindible dependencia de pymclevel.


Pendiente: prueba de concepto