Siempre que me da la vena creativa me obsesiono durante uno o dos meses con una cosa: un personaje, una ambientación, una historia … Es lo que me está pasando ahora con el Exilio. Por eso hoy vuelvo a darles la lata con lo mismo.

 

Show me the pixels

El mapa original del Exilio era un bitmap creado con planet (el generador que uso para todos los mapas) y editado con Gimp. Tiene sus ventajas, pero una gran desventaja: es difícil escalarlo. Si quieres hacer “zoom” a una parte en concreto, el resultado saldrá pixelado. Y como aquí no tenemos los programas mágicos de CSI que convierten un pixel de un metro cuadrado en una imagen nítida de la matrícula de un coche, manchas de insectos incluídas, es un problema.

Mapa original del Exilio

El mapa original del Exilio. Qué vacío me parece ahora.

No es un problema particular de los mapas, sino de cualquier imagen. Para dar calidad y permitir mucho detalle necesitas mucha resolución. Lo pueden ver en las cámaras digitales: empezamos en los 2 megapixels y ahora vamos por los 14, en cámaras “de turista”. Con todos esos megapixels puedes imprimir las fotografías a gran calidad/tamaño, y saldrán todos los detalles. Para que empiece a pixelar una imagen así necesitas ampliarla mucho, muchísimo. La calidad en sí de la imagen depende de más cosas (la óptica, por ejemplo), pero eso ya es otro tema del que no sé ni papa. Les evitaré la vergüenza ajena de verme intentar explicarlo.

Ídem para las televisiones. Quien haya visto una película en DVD y comparado con una en Blu-Ray lo entenderá. Un DVD tiene una resolución de 720×576 pixels; Blu-Ray (en formato “Full HD”), 1920×1080. No hay color. En Blu-Ray le puedes contar los poros de la cara a los actores.

Por todo esto, la primera versión del mapa del Exilio fue un bitmap de 3000×3000 pixels. De ahí recorté una gran parte para dejar el continente principal, con lo que el resultado quedó como vieron en el primer post sobre el Exilio.

Inkscape al rescate

Una parte de ese mapa está hecha con Inkscape, un programa de dibujo vectorial. Flash de historia informática: el primer programa que popularizó este concepto fue Corel Draw, años ha. Con un programa de dibujo vectorial no se trabaja con pixels, sino con nodos y figuras. Es mi forma horrible de explicarlo; mejor lean la entrada de Wikipedia sobre gráficos vectoriales para entenderlo.

En un dibujo vectorial no guardas unos pixels que van de una coordenada a otra, sino dos nodos unidos por una línea, o un triángulo de borde negro y relleno color rojo. Si haces zoom, el programa calcula cómo se vería el dibujo con la nueva magnificación, y lo muestra. En la práctica, esto sirve para tener “zoom infinito”, tanto hacia abajo (ampliando) como hacia arriba (disminuyendo). Puedes añadir todo el detalle que quieras, y redimensionar la imagen a tu gusto. Siempre se verá perfecta, a cualquier resolución.

Pero el dibujo vectorial no es la panacea. Muchos de los efectos posibles en los bitmaps no se pueden aplicar en el dibujo vectorial. Por eso se sigue usando Photoshop para retocar las fotos de las modelos de las revistas, y no Illustrator (el programa de dibujo vectorial que más he visto mencionado por ahí). Aparte, guardar tantos datos y redibujarlos constantemente es caro en términos computacionales. Con los bitmaps tienes toda la potencia de tu tarjeta gráfica para hacer escalados, pero con un dibujo vectorial es la CPU quien tiene que “comerse” el trabajo. En casa, en un Phenon 945 de cuatro cores, uno de ellos trabaja constantemente para atender a mis caprichosas peticiones de zoom y unzoom. Lo maltrato bastante. Soy una mala persona.

En cualquier caso, para mapas en blanco y negro o en pocos colores se pueden conseguir buenos resultados con el dibujo vectorial. No pensaba ni intentarlo, pero descubrí un fantástico tutorial en Cartographers’ Guild de cómo hacer montañas rápidamente en Inkscape (creo que necesitan tener usuario para verlo), y lo probé con el mapa que tenía. La prueba progresó y acabé por trazar (pasar de bitmap a vectorial) el mapa del continente y dibujar sobre él las montañas, ríos, regiones, nombres, etc.

Para trazar los bordes del continente usé uno de los mapas generados por planet, en blanco y negro y sólo con el contorno de los continentes. Una de las maravillas de este pequeño programita es que permite generar varios tipos de mapa del mismo planeta, en varias proyecciones. Si no fuera por eso, todo hubiera sido más difícil.

El resultado no es del todo bueno. Hay bastantes imperfecciones, aún habiendo eliminado a mano muchas. Le echo la culpa a lo intrincado del contorno generado por planet y al trazador de Inkscape, que hace lo que puede. Quizás en algún momento intente refinarlo más, pero lo he intentado un par de veces a base de eliminar o recolocar nodos y casi lo estropeo del todo. O sea: not likely. Lo más probable es que se quede como está.

A estas alturas habrán dejado de leer o se estarán preguntando qué pinta tiene el mapa. Pues bien, helo aquí:

Mapa del Exilio, 100dpi

Mapa del Exilio hecho con Inkscape. Exportación a 100dpi.

Pinchen en la imagen para verla a tamaño real. El borde arrugado del “lienzo” es cutre, pero fue fácil de hacer. Es lo único bueno que puedo decir. Usé un rectángulo, al que añadí nodos y luego fractalicé.

Lo que les he puesto ahí es una versión en PNG de 100 puntos por pulgada (o dpi). Si quieren, también tienen la versión “normal” a 200dpi y la “XL” a 300dpi. Yo uso la normal para referencia. La de 300dpi la saqué más que nada para ver qué tal quedaba. Y fue útil, porque algunos efectos extraños que no veía en Inkscape se revelaron al exportar en alta resolución.

La versión vectorial es un SVG de más de 1MB. Como es un XML se puede comprimir y queda en bastante menos, pero todavía no le he quitado toda la basurilla que tiene (bocetos de montañas, textos para copiar y pegar estilos, etc.) y no la pondré por aquí. Cuando tenga una versión limpia actualizaré este post y podrán verla. Supongo que se podrá cargar con otros programas (en teoría, SVG es un estándar), pero no prometo nada.

Mejor en colores

¡Pero no acaban aquí las maravillas! Unos días más tarde, estaba browseando (¡sufre, Cervantes!) el foro de CG y vi el mapa que estaba haciendo bartmoss sobre la Antártida. También con Inkscape, todo vectorial. Me gustó, y sobre todo me gustaron los colores. Decidí usarlos para dar algo más de vistosidad al mapa del Exilio.

Encontré un problema inesperado: por cómo funciona el trazador de Inkscape, lo que yo tenía no era un trayecto cerrado en el que pudiera definir un color de relleno (lo que pasa, por ejemplo, con un círculo o un cuadrado). Era más bien un conjunto de trayectos superpuestos cuyo relleno estaba en el borde mismo. Después de un par de pruebas poco exitosas (debido a mi escaso Inkscape-fu), usé la herramienta de Bucket fill para rellenar a mano el contorno. Lancé Gimp en otro escritorio virtual y copié uno de los colores del mapa de la Antártida de bartmoss para el relleno.

En Inkscape, al rellenar creas un objeto nuevo, el relleno en sí. Puedes hacer con él lo mismo que con los demás: moverlo, rotarlo, etc. Y también puedes definir un borde, que es lo que hice usando otro de los colores del mapa de bartmoss. Había hecho un par de pruebas antes con el Bucket fill y por accidente había visto que un borde de otro color en el relleno quedaba bastante bien, así que ahora lo hice intencionadamente. Y éste fue el resultado:

Mapa del Exilio en color, 100dpi

Mapa del Exilio en color. Mucho más bonito, ¿eh?

(imagen exportada a 100dpi; también hay versión en 200dpi y 300dpi)

Como ven, también he oscurecido un poco el terreno bajo las montañas. No quedan del todo bien, y no sé muy bien por qué. Estoy barajando varias posibilidades, como aplicar gradientes en lugar de colores planos, a ver si mejora. Pero estoy un poco perdido. Quedará así para siempre, me temo.

Estuve probando a cambiar los colores de varias regiones usando el mismo método (pintando una zona y difuminándola mucho para que se funda con el fondo), pero no me acababa de gustar el resultado. Ahora mismo el color no es muy fiel al contenido (el “Desierto Deslumbrante” debería ser casi blanco, y “el País de la Hierba Azul” debería ser … pues eso, azul), pero hasta que encuentre una forma de colorearlo que me guste lo voy a dejar así. Menos es más.

El mapa tiene otros defectos. Por ejemplo, hay zonas del continente que no rellené en su momento, y como mi reputación de vago es legendaria, ahora están en blanco porque no me molesté en arreglarlo. Aparte, aún faltan muchos nombres, y me gustaría añadir pequeños dibujos en algunos sitios: fortalezas, acantilados, cosas así. Miniaturas a modo de mapa turístico.

Pero todo se andará. De momento, agradezco cualquier comentario o sugerencia que quieran dejar por aquí.