← back to the blog

Subscribe to this blog

GM Friend Update

This month I've been working on a generator for my GM Tool, so that you can map out the hexes as you please or you can quickly generate a landscape complete with weird randomly generated monsters. I'll definitely be making tweaks to it in the future, so if you have any suggestions let me know! Either comment below or send an email to rmakesthings@gmail.com.

Image of a randomly generated hex map


The generator works by generating two grids of noise (using perlin simplex noise) and using one grid for height and the other for humidity. Anything below a certain height is set to water, anything above a certain height is set to mountains etc. In a similar way land is set to swampland if it has high humidity, and desert if its humidity is low. Land tiles also have a random chance of containing a city or other non-standard hex-type.

The sub-hexes also get some details added to them. Most notably the name, which is just the same as the names you can generate in the note section by typing in "%p". Sometimes they don't match up very well like a desert in the middle of a continent being called "harbour" or "island", you can edit the names currently but that might be something I clean up in the future.

The other thing I do is generate monsters. I do this by borrowing the creature templates from this great blogpost: http://dungeonofsigns.blogspot.com.au/2016/10/monster-design-and-necessity.html and adapting them a little. I also have a wide variety of special effects which are dictated by the hexes theme. Each hex gets two themes, chosen at random from a subset based on the type of hex. So a swamp hex might get the themes "death" and "disease", for example. Then each monster in the hex is assigned one of those themes, and if they are chosen to get a special ability their ability is chosen at random from a list associated with that theme. Hopefully this helps make each hex thematically connected rather than just a random mish-mash. This text generation system is based on the great implementation by the creator of donjon available here https://donjon.bin.sh/code/random/.

I added one extra part that really helped each monster come to life and allow me to easily generate a description for them on the fly while GM-ing. The "Appearance" descriptor. It simply chooses a random type of person, monster, animal, or combination of the two, but this really helps me come up with descriptions.

For instance:
Monster (Theme:burrow)
HP:1
AC:12
Hit Bonus:0
Attacks:1
Number Appearing:4d6
Special:1/2 normal speed as dig speed
Intelligence:Animal

Here we have a weak swarming creature that can dig through earth. Normally i'd probably just describe this as some evil looking mole. But add in the appearance category:

Monster (Theme:burrow)
Appearance:Bat-Squid
HP:1
AC:12
Hit Bonus:0
Attacks:1
Number Appearing:4d6
Special:1/2 normal speed as dig speed
Intelligence:Animal

A burrowing bat-squid creature. Suddenly this thing sounds absolutely terrifying. At least in my mind. Of course, there are a few kinks to this system:
Monster (Theme:poison)
Appearance:Clam-hydra
HP:2HD
AC:14
Hit Bonus:2
Attacks:1
Number Appearing:3d6
Special:save vs poison or paralyzed
Intelligence:None

A clam-hydra is less terrifying. It still has merit as an oracle for generating descriptions, but I think eliminating some of the more overtly humorous entries could be a good step.

If you're eager to give suggestions, one thing I can easily add is more special abilities and more themes. At the moment each theme has 4 special abilities and there are 43 categories, though theres definitely a lot of duplicates and similar effects mixed in there.

Another thing I plan to include is multiple special abilities, it should be a pretty simple addition but I just need to balance it to make sure it doesn't go overboard. Avoiding duplicates is also an issue.

Do check out my GM Tool, I'm having a lot of fun with the random generator!

Posted on April 28th, 2018 by Rhys McMillanHexmapping Tool | Twitter | Patreon

Comments

Mario Lurig
One suggestion: Make cell generation aware of the previous cells. In other words, don't generate the whole map initially with noise, generate say 3 columns. Then when you generate further columns, make them aware of adjacent rendered tiles and weight their results to more likely match the previous tile. This reduces the chance of single tile oddities.
Sat Apr 28 2018 15:51:59 GMT+0000 (UTC)