⇱ View fullscreen

To calm myself I like to "draw" maps. This is one of them. Try exploring it.

View it in the terminal curl -s https://glow.li/map | less -RS.

Interesting Places

To make working with the map a lot easier, I created recipies that generate only small sections of the map. Because I don't always have to regenerate the whole map, and don't have to find the place every time it gets much faster. This also means that there are recipies for almost all interesting (hand drawn) places on the map.

Drawing the map

While I did draw maps using GIMP before, I wanted something more portable, as in I could do it in the terminal and my phone using #Termux . That's why this map is "written". The source file will look like weird text, and then a converter will convert it into colors and unicode symbols.

w,.(Port Kalau)aa.a..
w,BB.bbbbBbb...aa....
w,xb.xxxxxxxbba.a....
w,xxxxb.b.bxxx+++++++
w,xbu.wwwwwjwb..wwwww
wLxubbw.b.bxwwwww....
w.b...wxxxxx++++++...
wwwwwwwxbayyy+yyy+...
www  BB7++yyy+yyy+...
www   xx.+yyy+yyy+...
www  BB3.+++++++++...

Extract from the Map

At first the source will look like gibberish, but it's actually always just one letter per tile.

Map key

═══ Legend for Mapmakers ═══            
 w  ≈  water 
 ,  ░  sand 
 .  `  grass 
 i  ▓  snow 
 s  █  street 
 y  ▓  farmland 
 U  ▓  Brache 
 a  φ  forrest on grass 
 ä  φ  forrest on asphalt 
 â  φ  forrest on sand 
 u  Γ  palmforrest on sand 
 ü  Γ  palmforrest on asphalt 
 ú  Γ  palmforrest on grass 
 b  ▪  building 
 B  █  multiblock_building 
 L  ◘  lighthouse 
 g  ⌂  gravestones 
 m  ▲  mountain 
 0  ┼  street_crossing 
 -  ─  street_h 
 |  │  street_v 
 1  ┐  street_1 
 2  ┌  street_2 
 3  ┘  street_3 
 4  └  street_4 
 5  ┬  street_5 
 6  ┴  street_6 
 7  ┤  street_7 
 8  ├  street_8 
 9  ▪  street_none 
 ₀  ┼  dirt_crossing 
 ~  ─  dirt_h 
 !  │  dirt_v 
 ₁  ┐  dirt_1 
 ₂  ┌  dirt_2 
 ₃  ┘  dirt_3 
 ₄  └  dirt_4 
 ₅  ┬  dirt_5 
 ₆  ┴  dirt_6 
 ₇  ┤  dirt_7 
 ₈  ├  dirt_8 
 ₉  ▪  dirt_none 
 ⁰  ╬  rails_crossing 
 =  ═  rails_h 
 §  ║  rails_v 
 ¹  ╗  rails_1 
 ²  ╔  rails_2 
 ³  ╝  rails_3 
 ⁴  ╚  rails_4 
 ⁵  ╦  rails_5 
 ⁶  ╩  rails_6 
 ⁷  ╣  rails_7 
 ⁸  ╠  rails_8 
 ⁹  ▪  rails_none 
 c  ╫  street-rails-crossing-horizontal 
 C  ╪  street-rails-crossing-vertical 
 j  ║  bridgev 
 q  ═  bridgeh 
 p  ▐  pool_right 
 P  ▌  pool_left 
 o  ●  pond 
 t  .  Animal 
       empty 

Difficulties with certain formats

The generator can generate many different formats, but piping the ansi-colored output to less -RS is the best way.

PNG

It can technically do PNG, and it's doing that for generating the tiles for the interactive map, but displaying the whole map as a single PNG would use about 6 Gb of video RAM and a really beefy computer to render. I tried; eventually my computer will run out of RAM before completing. That's why I even bothered with the tiled map.

Repository

You can view the generator and the map source in this repository. If you want to make your own town in my map, shoot me a pull request.

https://github.com/Neo-Oli/fantasymap

History

The original template for the map was generated with this fantasy map generator. This huge PNG I indexed to a few colors. Indexed Map

This file I then converted the the X PixMap file format

/* XPM */
static char * /home/glow/fantasymap/map_xpm[] = {
"1000 500 6 1",
"   c #130903",
".  c #1A0707",
"X  c #09E1F4",
"o  c #5C3D06",
"O  c #245950",
"+  c #DCCECE",
/* pixels */
"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii[...]",
"iiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiiii[...]",
[...]

After this I just copy-and-replaced a few things and ended up with the blank map, to which I added towns streets and did large scale landscaping.