La vida en pequeñas dosis

Cómo hacer un mapa con “planet” y Gimp/Inkscape (1)

Como quería hacer un mapa para un nuevo proyecto en el que estoy trabajando, y muchas veces es difícil encontrar información de este tipo en castellano, voy a poner por aquí el proceso que sigo habitualmente. Los resultados no son comparables al mapa de “La Marca del Este” de A. J. Manzanedo, o de alguno de “mappers” profesionales como Sapiento y los grandes gurús de Cartographers Guild, porque para eso hace falta un talento del que carezco; pero sirven para tener algo con lo que pasar un rato.

planet

La raíz de todos los mapas que he hecho está en un pequeño programa llamado planet, hecho por un profesor danés llamado Ægidius Mogensen. Genera mapas fractales en varios tipos distintos de proyección: Mercator, Mollweide, ortográfica, estereográfica, y varias más que ni entiendo ni he usado.

Foto de Ægidius Mogensen

Ægidius Mogensen, el autor de "planet"

planet es un programa en línea de comandos, hecho en C, que hay que descargar y compilar. La instalación se reduce a hacer “make” y luego usar el binario generado. Funciona en base a una semilla, un número decimal a partir del que se genera el mapa. Esta semilla es lo más importante del mapa, porque si cambia en un solo dígito el mapa resultante será diferente. Cuando consigamos un mapa que nos guste, debemos apuntar la semilla para poder reproducirlo en todas las proyecciones y a todas las resoluciones que queramos.

Yo suelo usar mapas de 3000×3000 o 4000×4000 pixels. Parece mucho, pero siempre es mejor trabajar a mucha resolución para que sólo haga falta encogerlos, no ampliarlos (como cualquiera con una cámara de fotos digital habrá comprobado). Para las vistas previas uso mucha menos resolución: 800×600, por ejemplo. Así puedo hacerme una idea de qué aspecto tendrá el mapa sin pasarme varios minutos esperando.

Aparte de la proyección, planet puede generar el mapa en varios modos: en color, en blanco y negro, con línea de contorno o sin ella, y con “efecto 3D” (bump-mapping) o sin él. Por defecto se generan en color y sin bump-mapping, y con un mapa de colores que recuerda al de la tierra. No es realista, porque los colores se asignan por altura: verde para la costa, marrón para media altura, gris para sitios más altos y blanco para las cimas. Y como cualquiera que conozca el desierto de Atacama sabrá, eso de las costas verdes no es siempre cierto.

Búsqueda de una semilla

El primer paso para hacer un mapa es generar uno que nos guste. Eso implica buscar una semilla adecuada, que es un proceso tedioso e imposible de hacer durante mucho tiempo por humanos cuerdos. Yo la genero aleatoriamente y veo qué mapas salen, usando unos scripts en Python y las utilidades ImageMagick. El script principal (“runplanet.py”) tiene un modo “vistazo” para generar varios mapas a la vez, a baja resolución, y colocarlos todos en una sola imagen. Así puedo cargar la imagen, ver los mapas y generar más si no me gusta ninguno.

Ejemplo del modo "glance" de mis scripts para planet

Ejemplo del modo "vistazo" de mis scripts para planet

Como todos los generadores aleatorios, planet tiene sus vicios. El más frecuente es el exceso de tierra o de agua: tiende a generar “supercontinentes” que ocupan casi todo el mapa, más bien cargados en uno de los polos, o formando una barrera de polo norte a polo sur; y también son típicos los mapas en los que sólo hay unas pocas islas esparcidas por el océano.

Otra limitación del programa es que no genera montañas realistas. En el mundo real, las montañas forman largas cadenas que surgen donde las placas tectónicas colisionan, elevando el terreno. En los mapas generados por planet hay ciertos puntos en los que se acumula la masa y da la impresión de caer por su propio peso hacia los alrededores, como las laderas de un volcán. Hay tierras altas y bajas, pero no tienen el aspecto que tienen en el mundo real. Podemos aprovechar estos cambios de altura para dibujar montañas luego, o para separar placas tectónicas imaginarias. Hace falta echarle un poco de imaginación al mapa generado para convertirlo en algo útil.

Algunos de estos mapas sirven si buscamos un mapa para un sitio determinado: una montaña, un valle, una península, una isla, un fragmento de costa, etc. Pero no son adecuados para un mapa de un mundo imaginario.

Dando forma al mundo

Para este ejemplo he usado la semilla 0.560789, que aparte de ser un número bonito da un mapa con un par de continentes de buen tamaño y una gran isla a bastante distancia de ellos, perdida en medio del mar del sur. También tiene varios mares interiores, siempre interesantes y abundantes en los mapas generados por planet. En el continente inferior izquierdo pueden ver uno de los defectos habituales de planet, un ejemplo del aspecto “volcánico” de las algunas montañas: todo el continente parece una isla volcánica de tamaño épico, con aspecto de cono con bordes irregulares.

Mapa generado por planet con la semilla 0.560789

Mapa generado por planet con la semilla 0.560789

El siguiente paso es buscar la orientación adecuada para el mapa, para lo que suelo crear mapas en una resolución un poco mayor, como 800×600. Con planet podemos “mover” el mapa variando la latitud y longitud. En las proyecciones “totales” (en las que se ve todo el mapa), suelo cambiar la longitud para que se vean mejor los continentes. En las proyecciones esféricas (como la ortográfica), cambiar la longitud y la latitud es la única forma de ver distintas partes del globo (como los polos, por ejemplo).

En el caso del ejemplo, no hace falta tocar nada: aunque a veces los continentes están a caballo de los bordes del mapa (se ve una parte en cada lado), en éste ven todos perfectamente. Sí que hará falta tocar la latitud y longitud para la proyección ortográfica, que muestra sólo una parte del mundo y tendremos que “enfocar” hacia la que nos interesa.

Proyección ortográfica del mundo "0.560789"

Proyección ortográfica del mundo "0.560789"

Como verán en las imágenes, hay algo más que también hace planet: generar una cuadrícula sobre el mapa. Yo uso una de 15º, más que nada para ayudarme a decidir cuánto tengo que mover el mapa en un sentido u otro si las cosas no encajan. Para el mapa sobre el que voy a trabajar la quito, pero mientras estoy probando si el mapa es adecuado es una ayuda muy valiosa.

Aparte de éstas, que sólo afectan a cómo se ve el mundo, hay otras opciones en planet que alteran su composición: altitud inicial, variación debida a la distancia y variación debida a la altitud. Con éstas podemos aumentar o disminuir la cantidad de tierra que se ve por encima del agua y hacer el mundo más o menos “rugoso”.

El producto final

Cuando todo está decidido, genero unos GIFs monstruosos que contienen, cada uno, cinco versiones diferentes del mismo mapa. En concreto:

  • Una en blanco y negro sólo con el contorno de los continentes
  • Una en color, sin bump-mapping
  • Una en color, con bump-mapping
  • Una en blanco y negro, con curvas de relieve
  • Una en blanco y negro, sólo con la cuadrícula

Y esto cuatro veces, una por proyección: Mercator, Mollweide, ortográfica y rectangular. Suelo usar sólo la rectangular, pero siempre genero las cuatro por si acaso luego me hacen falta. Todavía no ha ocurrido, pero me niego a aceptar que las demás son prescindibles. Es como tener el síndrome de Diógenes.

La ventaja de “empaquetar” todas estas imágenes en un GIF es que al cargarlas con Gimp se muestran como capas diferentes. Así puedo, por ejemplo, superponer la cuadrícula al mapa en color, o superponer el contorno sobre el mapa con bump-mapping. Por supuesto, ocupan una barbaridad: entre 5 y 10 megabytes cada GIF. A Gimp suele costarle un poco abrirlos.

Conclusión

Y hasta aquí todo lo que les quería contar hoy sobre planet. Inicialmente pretendía cubrir en un sólo post todo el proceso típico para hacer un mapa de los míos, que como verán no necesita de demasiado talento. Pero visto lo que me ha llevado la parte de planet, he pensado que es mejor dividirlo en dos.

No sé cuándo publicaré la siguiente entrada. Tendrán que añadir el weblog a su lector RSS y esperar pacientemente. Espero que merezca la pena 🙂

Previous

¿Hay más juegos de rol que jugadores?

Next

Cómo hacer un mapa con “planet” y Gimp/Inkscape (2)

2 Comments

  1. Sheila

    Buenas,
    Es una entrada muy interesante y de verdad que la necesitaba, pero sinceramente poco útil para los que no sabemos de informática, he entrado para descargar planet, lo he descargado, he abierto el programa de comandos, lo he ejecutado, creo, y fin no sé como seguir porque no lo explicas, estoy un poco perdida. ¿Serias tan amable, para aquellos que no entendemos lo que significa hacer “make” o usar el binario generado, que no encuentro por ninguna parte, cómo se utiliza este programa? Porque de verdad que me ha gustado mucho tu entrada y necesito crear un mapa para mi mundo. Llevaba días buscando un programa para generar uno acorde a lo que quiero y tú eres el primero que me lo ha proporcionado, mil gracias por ello, pero por favor, si puedes explicarme después de descargar planet cómo sigo para hacer algo similar a lo tuyo, o sea poder seguir los pasos tuyos, te lo agradecería muchísimo.

    • xouba

      Lo siento, cuando escribí el artículo asumí que sólo le interesaría a gente como yo, que ha estudiado algo de informática. Me das una alegría al saber que hay otra gente que lee estas cosas 🙂

      Desde el 2013 (después de que escribiera el artículo) hay un frontal web para el generador que puedes usar de forma mucho más cómoda. Está aquí: http://topps.diku.dk/torbenm/maps.msp . Tiene un límite de tamaño de 1000 píxeles, pero por lo demás es igual que el de línea de comandos. Por favor, échale un vistazo. Estoy seguro de que puedes conseguir algún resultado interesante.

Responder a Sheila Cancelar respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.

Powered by WordPress & Theme by Anders Norén