⇱ 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

16-color fallback

curl -s https://glow.li/map16 | less -RS

History of the map

Interesting Places

To make working with the map a lot easier, I created recipes 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 recipes 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+...
wwwssBB7₄+yyy+yyy+...
wwwsssxx.+yyy+yyy+...
wwwssBB3.+++++++++...

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 
 W ~ water_shallow 
 D ≈ water_deep 
 , ░ sand 
 . " grass 
 i ▓ snow 
 l ░ lava 
 y ▉ farmland 
 U ░ dirt 
 ; ░ gravel 
 a ● forest on grass 
 ä ● forest on plaza 
 â ● forest on sand 
 u * palmforest on sand 
 ü * palmforest on plaza 
 ú * palmforest on grass 
 b ▘ building 
 B █ multiblock_building 
 L ◘ lighthouse 
 O ○ Well 
 g ⌂ gravestones 
 m ▲ mountain 
 s █ plaza 
 S █ plaza_connecting 
 x ┃ street 
 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 
 ╹ ╹ street_10 
 ╻ ╻ street_11 
 ╺ ╺ street_12 
 ╸ ╸ street_12 
 9 ▪ street_none 
 + ╷ dirtroad 
 ₀ ┼ dirtroad_crossing 
 ~ ─ dirtroad_h 
 ! │ dirtroad_v 
 ₁ ┐ dirtroad_1 
 ₂ ┌ dirtroad_2 
 ₃ ┘ dirtroad_3 
 ₄ └ dirtroad_4 
 ₅ ┬ dirtroad_5 
 ₆ ┴ dirtroad_6 
 ₇ ┤ dirtroad_7 
 ₈ ├ dirtroad_8 
 ₉ ▪ dirtroad_none 
 ╴ ╴ dirtroad_9 
 ╶ ╶ dirtroad_10 
 ╵ ╵ dirtroad_11 
 ╷ ╷ dirtroad_12 
 r ║ rails 
 ⁰ ╬ rails_crossing 
 = ═ rails_h 
 § ║ rails_v 
 ¹ ╗ rails_1 
 ² ╔ rails_2 
 ³ ╝ rails_3 
 ⁴ ╚ rails_4 
 ⁵ ╦ rails_5 
 ⁶ ╩ rails_6 
 ⁷ ╣ rails_7 
 ⁸ ╠ rails_8 
 ⁹ ▪ rails_none 
 ⒑ ═ rails_10 
 ⒒ ═ rails_11 
 ⒓ ║ rails_12 
 ⒔ ║ rails_13 
 c ╫ street-rails-crossing 
 C ╪ street-rails-crossing-vertical 
 * ╵ waterway 
 ⑮ ╴ waterway_9 
 ⑯ ╶ waterway_10 
 ⑰ ╵ waterway_11 
 ⑱ ╷ waterway_12 
 ⑩ ┼ waterway_crossing 
 ⑪ ─ waterway_h 
 ⑫ │ waterway_v 
 ① ┐ waterway_1 
 ② ┌ waterway_2 
 ③ ┘ waterway_3 
 ④ └ waterway_4 
 ⑤ ┬ waterway_5 
 ⑥ ┴ waterway_6 
 ⑦ ┤ waterway_7 
 ⑧ ├ waterway_8 
 ⑨ ▪ waterway_none 
 q ═ bridge 
 j ║ bridgev 
 p ▐ pool_right 
 P ▌ pool_left 
 o ● pond 
 F ✈ airplane 
 t . animal 
 ? ? label 
 $ $ debugger 
 E E error 
 N N null space for testing 
 ¬ ▗ wall 
 ᴬ ▐ wall_v 
 ᴮ ▀ wall_h 
 ᴰ ▜ wall_crossing 
 ᴱ ▜ wall_1 
 ᴳ ▐ wall_2 
 ᴴ ▀ wall_3 
 ᴵ ▝ wall_4 
 ᴶ ▜ wall_5 
 ᴷ ▀ wall_6 
 ᴸ ▜ wall_7 
 ᴹ ▐ wall_8 
 ᴺ ▝ wall_10 
 ᴼ ▗ wall_11 
 ᴾ ▝ wall_12 
 ᴿ ▘ wall_12 
 ᵀ ▜ wall_none

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

How I got the initial map

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 into 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.