I have started looking at adapting this for HexDescribe type reasons.
For example: – https://github.com/bluetyson/Map-Generation/blob/main/src/map.py
https://chgowiz-games.blogspot.com/ is working on a epic random generator for a campaign you can read about at his blog – using HexDescribe https://campaignwiki.org/hex-describe
Borrowing his business classifications for an example for the Map-Generation software:
The output for this program is GeoJSON, so thanks to QGIS – which is great open source software.
closeup example
Randomly perturbed Voronoi generation seems to work well for the random wanderiness of towns or cities that spring up.
The original code has churches, monasteries and Cathedrals. Pretty sure our D&D type games don’t need that sort of building type overload.
As well as GeoJSON – it has a viewer script that is basically QTing a PNG, so your usual plt.savefig() before that will get you that version of the output, saved, too. Need to make one that is labelled – maybe a geopandas .
Converting this to perl directly would take a bit of work – no higher level geospatial apis like shapely around there, so would have to redo in gdal directly :- https://metacpan.org/pod/Geo::GDAL. Probably easier to wrap, for fun.
The wrinkle here is that my HexKit version was pointy topped hexes, not flat topped like TextMapper – but as a rough look to try and do more detailed things, ok. Will have to do another version later.
Thanks to a post by Jens D https://the-disoriented-ranger.blogspot.com/2023/01/lots-of-ducks-no-row-and-gallery-of.html I noticed mention of a game being designed called the above, which sounds like fun.
Last month Marcia at Traverse Fantasy did some cluster analysis of OSR type rulesets.
People asked about where others fit in.
Idle thought is that with CC and other open licensed games – those that are adjacent you could slice up into the relevant sections – and randomly roll for each.
A function could even feed the classification into Marcia’s breakdown of rulesets as above to get ‘synthetic’ data for said clusters.
Thanks to the AD&D Random Dungeon Generator I wrote https://github.com/bluetyson/ADnD1e-Random-Dungeon-Generator, I can parallelise, so doing this only takes less than a minute.
The basic random walk theory these talk is ‘Ahead’ is the y positive direction and always follow exits – e.g. stairs down (and can go up sometimes too).
The first 1000 dungeons I have done with 10 Periodic Checks as the DMG table calls them. e.g. a roll on the main table.
Wandering Monster TotalsWandering Monster XP histogramMonster numbersMonster XP histogramRooms
Here you can have the situation if you find an empy room it can have secret doors – beyond which are more rooms, which can have secret doors if empty – I have it so it follows that stack down, then goes back – e.g. Rooms are the interesting thing.
So with 10 checks, a couple of rooms is likely.
In fact, here are the medians for this batch of 1000: