Sunday, 31 December 2023

Overly complicated Hex-terrain generation procedures

I chanced upon a preview of "Sandbox Generator" from Atelier Clandestin which is 11 pages of straight-to-terrain-generation procedures with examples. While I cannot say anything for the remaining 145 pages of the book (as I haven't bought it), the preview is easy to grasp and useful on its own, but what I didn't like that the generated terrain in the preview is only concerned with most common terrain, grasslands-forest-hills-marsh-mountains which is, in my perception, invokes pseudo-European land already too prevalent in fantasy games. Certainly it is possible to use those default terrains as a guide and reskin them to reflect the variety of different biomes (and maybe the rest of the book does exactly that) but I decided to instead make this overly complicated procedures for my own use so I can have more ready-to-go results. 

So I wanted more of that; "Alien Landscape" by Renaud Perochon

It is very mechanical, it is confined to spreadsheet, probably better served automated (but I don't know how to code this), and is concerning certain lands understandable mostly to me, but anyway:

Procedure:

0. pick up a random hex on a sheet of hexpaper
 
1. Roll 1d12 for the starting Places (table 1 below, horizontal);
 
2. Roll 1d6 for starting hex terrain in that Place (table 1 below, vertical);
 
3. Decide how much chaos / terrain continuation you wish in you hexes and pick up 1d8 for high chaos, 1d10 for middle and 1d12 for low chaos (table 2 below). Technically you can use 1d20 if you want mostly the same terrain with rare discontinuities.

4. Pick up one of the four ways of seeding the hexes (it determines how the next hex is defined on the hexgrid, and it isn't that important mathematically);
 
5. Keep rolling terrains according to your chaos method and chosen ways.
 
6. (Optionally) if Place switches to a different place and the new hex is higher in elevation than the old hex, go back to previous hex and smooth things out (see below)
 

...or that; "Freya's Castle" by Roger Dean
 

Table 1: Places (1d12, → horizontally) and terrains within them (1d6, ↓ vertically)

(table 1) 1 2 3 4 5 6
1d12→/ 1d6↓ Commonality Scars of War Nomads Old Green Gelesei Mooncradle
01 Rocky mountains Canyon trenches Aerial islands Freshwater geysers Vertical labyrinth Cliffs and bluffs
02 Rolling hills Sharp coral peaks Anchor stones Column lakes Carved arches Rainland
03 Lush forest Calcified shells Echo growth Wander-trees Serrated folds Dry husk ruins
04 Green grassland Vivid bloom Palegrass-sea Moss country Glass palms Tattered delta
05 Marshes and meadows Salt-sands Mist canals Waterways Fragile earth Beach
06 River, lake or coastline Impact craters Spirit mere(s) Sunken valley Amber still-sea Islands amidst the sea

 

Table 1, continuation

(table 1, cont.) 7 8 9 10 11 12
1d12→/ 1d6↓ Regalia Ruination Twilights Memory-keepers Alatano Barroweld
01 Pillar trees Mound-domes Uplands Black canopy Flat mesas Tombstone steps
02 Stepped stones Monoliths Wind lanes Endlessey Carstians Gravebeds
03 Gilded wasteland Alcherene wilds Floaters Petriflora Flash-wood Bone copses
04 Flowerfields Merehind Bubble knolls Umbralis Shifting steppe Shimmers
05 Hollow giants Solitude Roots Bogs and bayous Tanglescrubs Firepits
06 Flooded gutters Dissolution Cenotes Blackwaters Desert
Tidal lulls

(I only noticed after posting that two parts of the table kind of broadly synchronize vertically as well)

Chaos method, or how much continuation terrain might have

Sometimes the change is drastic; Pit of Emerald Energy by Daniel Dociu

High-chaos method works best for some random terrain or for really broad strokes of hexes. Low chaos is probably better for zoomed-in lands of 2 mile hexes.

Table 2: Terrain continuation procedure

High-chaos Middle-chaos Low-chaos Mostly the same thing
roll 1d8 roll 1d10 roll 1d12 roll 1d20
01 = 01 on terrain table 01 = 01 on terrain table 01 = 01 on terrain table 01 = 01 on terrain table
02 = 02 on terrain table 02 = 02 on terrain table 02 = 02 on terrain table 02 = 02 on terrain table
03 = 03 on terrain table 03 = 03 on terrain table 03 = 03 on terrain table 03 = 03 on terrain table
04 = 04 on terrain table 04 = 04 on terrain table 04 = 04 on terrain table 04 = 04 on terrain table
05 = 05 on terrain table 05 = 05 on terrain table 05 = 05 on terrain table 05 = 05 on terrain table
06 = 06 on terrain table 06 = 06 on terrain table 06 = 06 on terrain table 06 = 06 on terrain table
07 = as the previous hex 07-09 = as the previous hex 07-11 = as the previous hex 07-19 = as the previous hex
08 = roll 1d12 for a new Place and 1d6 for a new terrain within it 10 = roll 1d12 for a new Place and 1d6 for a new terrain within it 12 = roll 1d12 for a new Place and 1d6 for a new terrain within it 20 = roll 1d12 for a new Place and 1d6 for a new terrain within it

High-chaos only has 25% chance of terrain continuation (1/8 chance of direct continuation and 1/8 chance of rolling the same terrain); chaos chance is 75% out of which the chance to switch the Place is slightly less than 12.5% (1/8 chance diminished by 1/12 of chance to roll the same Place on table 1).

Middle-chaos has 40% chance of terrain continuation (3/10 chance of direct continuation and 1/10 chance of rolling the same terrain); chaos chance is 60% out of which the chance to switch the Place is about 10% (1/10 chance diminished by 1/12 chance to roll the same Place on table 1).

Low-chaos has 50% chance of terrain continuation (5/12 chance of direct continuation and 1/12 chance of rolling the same terrain); chaos chance is 50% out of which the chance to switch the Place is slightly less than 8% (1/12 chance diminished by 1/12 chance to roll the same Place again on table 1).

Mostly the same thing has 70% chance of terrain continuation (13/20 of direct continuation and 1/20 chance of rolling the same terrain anyway); chaos chance is 30% of which the chance to switch the Place is slightly under 5% (1/20 chance diminished by 1/12 chance to roll the same Place again on table 1). You a going to be stuck on mostly the same terrain with this method, so I think it is easier to roll initial terrain, fill the map with it and then roll 1d3 for any chance of changing it.


Four ways of seeding hexmap, which all probably give about the same result

Sometimes it creates hybrids like this;
Armoured Castle Ruins by Maciej Wojtala 

1 In row/columns

Probably the fastest but also kind of boring. Good for making rectangular maps.

Rows/columns method

Start from top-left corner, generate any subsequent hexes in vertical or horizontal order until the desired size of a map is filled, do U-turn on the last hex and fill hexes in the opposite direction.

1.5 In row/columns, variant

Generate first column/row as in the method above, but instead of U-turn start over from the same edge and use the hex on the left as previous hex in cases where it is important.

Rows/columns variant
2. Spiral clump

Generates a circular hexmap. Do as big of a clump as you wish, then set another center hex somewhere and do it again.

Spiral clump
Start at random hex somewhere in a middle of a hexpaper sheet. Set #02 hex straight above #01 hex, and then fill new hexes around hex #1 clockwise. When the circle is over, set #08 hex straight above #02 hex and do another round.

3. Snowflake clump

This is the method "Sandbox Generator" uses in preview. Generates a circular hexmap; useful with another clump originated from another centerpoint.

Snowflake clump

Start at random hex somewhere in the middle of the hexpaper. Hexes ##02-07 use hex #01 as a foundation and radiate from it. Hexes #08, 10, 12, 14, 16 and 18 continue from hexes ##02-07 respectively and then in-between hexes ##09, 11, 13, 15, 17, 19 are filled clockwise from them.


4. Threads

Most convoluted method. This is for situations when  there is a lot of time, nothing better to do and possibly surreal results are ok. Creates a widely convoluted map which often loops and doubles back on itself. Better start somewhere away from the edges of hexpaper sheet and closer to the middle although there is no guarantee that it won't run past the edge (but in this case you can just continue from the opposite edge of the paper). 

After you picked up your starting hex and rolled on what Place and terrain it is, keep that terrain in mind.

Roll 1d6 or 1d12 depending on how long you wish the thread to be (I found that picking one die and sticking to kind of works the best, but nothing, in theory, prevents using 1d4, 1d8, 1d10, 1d20 or even 1d100 if you don't value your sanity). The resulting number on that roll is the amount of steps that the current terrain-thread is going to go. For each step roll 1d6 to determine where the next hex is going to be and fill it with current terrain.

Direction of the thread
After all steps are filled, roll according to the chaos method for the new terrain, new amount of steps and where these steps go. If the same hex shares 2 terrains, either double-down on magnitude of it if it is the same terrain (those will be some mighty rolling hills) or create a hybrid terrain (it is rolling hills but also moss country).

Technically nothing prevents to add as many terrains to the hex as a random chance demands but I found that it is difficult to mark more than two symbols in the same hex, so if third loop to the same hex happens, I jump over all double-filled hexes in the same direction until I get a blank or once-filled hex.

On the example below initial thread of hills (red) was going for 5 steps (doubling down on itself once) then forest (yellow) went for 7 steps, creating mixed terrain with hills on one occasion and doubling down on itself once, and then uplands (azure, new Place, new terrain) went on 8 steps with some doubling down, some hybrid terrain and one jump over two already double-filled hexes.

Example of Threads method

Notes and other things 

Moss country; image possibly of Dartmoor National Park

Commonality – the all-familiar terrain of rolling hills, rocky mountains and dense forests. Comes choke-full packed with people speaking Common language and a sharp distinction between a person, a god and a monster (which isn't always the case for other Places). In certain lands Commonality is sort of a parasite that redefines all other terrains in a broad terms of itself, i.e. unique places such as Bone Copses are roughly defined as 'forest' and Uplands as 'mountains'. The Place/terrain table 1 reflects it, with highest elevation terrain as #1 and lowest as # 6 as per Commonality mandate. 

Smoothing of terrain: Hence, as all terrains arranged by the height, if during the process you roll a new Place and a new terrain has lower number than the current hex, you can 'smooth' the current hex (of old Place) by averaging those two numbers and setting the current hex (with old Place) to the terrain of that number from new Place.

For example: Grassland of Commonality (3) gives way to Vertical Labyrinth (1) of Gelesei. The average would be 2. After marking where Vertical Labyrinth starts, go back to previous hex and change Grassland to Carved Arches (2) from Gelesei.

Each Place is a history of the world, biomes left by ages past and places touching hands with other worlds, of god-wars and demon-truces. I wanted to create full 20 different Places and while I manage a few more it could only fit 1d16 die so I think I'd sort of separate them into more underworld / otherword Places if  I am ever going to write about it again.

Great inspiration for strange terrains and their interpretations is Laws of the Land by Screwhead, so I'd use this generator in a conjunction to the terrains above in case if I need to variate it even further.

6 comments:

  1. Very solid. You paint a compelling picture of each place with different terrain types, and now I want to learn more about them.

    ReplyDelete
    Replies
    1. Thank you, I am very glad to hear this.
      While terrains were here for the inspiration mostly, if you want to know about any of them, please let me know which you'd like to hear about and I'll try to make a separate post.

      Delete
    2. They all sound neat! Though if I were to choose one, Gelesei is the most intriguing to me based on the name and terrain options. The places in the second half of table 1 are all tied for second.

      Delete
    3. Thank you, I'll see if I'd be able to write anything good about them (I do work slowly but I'll try).

      Delete
  2. Also interested in the gelesei, got like a third of a draft of a place done up using your method and wonder if I'm close to your idea of it or way off base.

    ReplyDelete
    Replies
    1. Thank you, I will try to speed it up; my next post probably will be about one of the four terrains that didn't make it into a table but I will try to do Gelesei just after it and I will be very curious to see your perception on it. My apologies, I am writing slowly.

      Delete