2022-08-18 A map generator for the terminal

It’s getting dark. Rain is falling softly. All is gray.

These days I’ve been working on a hex map generator for the terminal. Yeah, I don’t expect anybody else to be using it. It works via SSH instead of via a browser. I was trying to see how far I could go, and I’ve been using some interesting libraries from the Charm family to do it:

Wish

Bubble Tea

Lip Gloss

Here’s what it looks like when the client (on the right) connects to the SSH server (which I have running locally, in this case). Move around using the arrows or h/j/k/l and raise or lower the land using u/d. Quit using q.

And as you can see from my Emacs on the left, it’s written in Go. I’m surprised that Go isn’t cumbersome to use. I always thought that it was something of a mix between Java and C. Maybe it is and I’m just less cool than I thought I was. 😅

I still need to think about drawing rivers… and adding settlements. And all the other stuff I like about my Alpine maps.

A random Alpine map

Source code:

Repository for Hex Populate

​#Programming ​#Maps ​#Hex Populate

Comments

(Please contact me if you want to remove your comment.)

Should be live, now:

ssh campaignwiki.org -p 2022

– Alex 2022-08-19 14:37 UTC

---

Rivers done.

Map with rivers

Actually, thick lines might work better.

Map with more visible rivers

– Alex 2022-08-20 06:24 UTC

---

This really is beautiful! I’m loving it and is a good excuse to learn another programing language for you.

– PresGas 2022-08-20 20:40 UTC

PresGas

---

Thanks! 😅

Stuff that annoys me to no end are bugs in the river flow computation. What’s up with 0403 in the map on the right, for example: no flow? The random Alpine map generator would try harder to break through.

River flow problems

Or this one: the circular flow from 0403 to 0504 to 0404 and back to 0403. This is not cool. 😆

River flow problems

– Alex 2022-08-21 21:53 UTC