The Veil of the Molten Sky

Trying to make an ultramafic man – and a colleague has some fancy Stable Diffusion.

Veil of the Molten Sky castle in a volcano smoke cloud – dark grey.

So I asked a robot to make a high level adventure to match – very good!

Title: Veil of the Molten Sky

Introduction:
In a world where magic and mystery intertwine, a new quest awaits a high-level party of adventurers. Rumors have spread like wildfire about the emergence of a majestic smoke castle that materializes high above the land, shrouded in clouds and mystery. This enigmatic fortress is said to only manifest itself during the rare eruptions of the Volcanea, a dormant volcano that has awoken once again.

Plot:
The party receives an urgent message from a renowned mage named Seraphina who resides in the city of Emberforge. She explains that the Veil of the Molten Sky, a fortress of legend, is about to appear with the eruption of Volcanea. Seraphina believes that the castle holds ancient secrets and artifacts of immense power, capable of tipping the balance between good and evil.

Act 1: The Prophecy of the Molten Sky
Upon reaching Emberforge, the party learns from Seraphina that they must harness the energy of the erupting volcano to reach the smoke castle. She gives them an ancient scroll that contains a cryptic prophecy revealing the exact moment the castle will be accessible. The party must decipher the riddles and uncover the precise timing to ascend to the castle’s location.

Act 2: The Eruption’s Fury
As Volcanea roars to life, the adventurers experience the ground shaking beneath them as lava and ash spew from the volcano’s summit. The skies darken, and they glimpse the ethereal silhouette of the smoke castle above the clouds. They must quickly journey towards the summit while navigating treacherous terrain and facing fiery obstacles.

Act 3: Ascending the Molten Labyrinth
Upon reaching the volcano’s peak, the party discovers a hidden entrance leading to the molten heart of the mountain. Inside, they encounter a perilous labyrinth infused with magma magic. Along their path, they face challenges and puzzles, such as cooling streams of molten rock and shifting platforms over rivers of lava. Amidst these trials, they must defeat magma golems that guard the path to the Veil of the Molten Sky.

Act 4: The Castle in the Clouds
Emerging from the labyrinth, the party reaches the heights where the smoke castle materializes. A grand bridge of solidified lava connects the land to the majestic fortress. As they cross the bridge, they face formidable magma golem guardians who test their strength and strategy. Eventually, they breach the castle’s walls and explore its opulent interior.

Act 5: Secrets of the Molten Sky
Within the castle’s chambers, the adventurers uncover ancient tomes and artifacts that hold knowledge and power beyond their imagination. They learn that the castle was once the refuge of a long-forgotten mage order that harnessed the energy of the volcano to shape the world. However, the power became corrupted, leading to the order’s downfall. The party must decide whether to harness the secrets for good or seal them away to prevent further devastation.

Conclusion:
With their adventure drawing to a close, the party descends from the smoke castle, carrying newfound knowledge and relics. As they leave the castle behind, the skies clear, and Volcanea settles once more. The world is forever changed by their actions, and they have made their mark in the annals of history.

In the end, the Veil of the Molten Sky may vanish from the world, but the legends surrounding it will live on, inspiring generations to come.

Advanced Dungeons and Dragons Monster Clustering

A few years ago I looked at this, have found it again, so here’s a start.

Not, many mess categories as you know, but here’s a plot from 2 that will fit on a screen.

Vermin and plants, some animals and common humanoids and your garden variety monstrous humanoids when you lump it at this very joined together level.

Kmodes method, just have to find where I put that part.

https://github.com/bluetyson/ADnD-Monster-Cluster-Analysis/blob/main/ADnD-Monster-Clustering-Basic.ipynb

Vampire kangaroo

Vampire kangaroo

Now kangaroos can be twilight creatures, coming out when it is cooler, but when you get close enough to see the red eyes – it is too late!

Basically, a vampire that can jump as fast as your standard fanger can fly.

Skeleagle

Skelleagle

One of the strange monsters haunting the Mokuy skies. Likes the high places, but anywhere with bones to snack on.

Something like skeleton stats and eagle flight. Turn as skeletons.

AC,7,MV,12, Fl 30,HD,1-1,Thac0,20,3,NA,DM,1d4/1d4/1d4,SA,Special,SD,Special,SZ,M (4-6'),ML,,XP,100

1/2 damage from piercing weapons, etc.

Map-Generation part 2

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

You can see some examples here https://docs.google.com/spreadsheets/d/1G8AZf2tBOtGYr5AEKis7_AZYpJ1_T18LFYp_mi_rikY/edit#gid=1019219400 and https://pastebin.com/raw/W9zgH3pN

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.

Mokuy Australia TextMapper first pass

Mokuy Australia text map
Mokuy Australia

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.

0101 ocean
0102 ocean
0103 ocean
0104 ocean
0105 ocean
0106 ocean
0107 ocean
0108 ocean
0109 ocean
0110 ocean
0111 ocean
0112 ocean
0113 ocean
0114 ocean
0115 ocean
0116 ocean
0117 ocean
0118 ocean
0119 ocean
0120 ocean
0121 ocean
0122 ocean
0123 ocean
0124 ocean
0201 ocean
0202 ocean
0203 ocean
0204 ocean
0205 ocean
0206 ocean
0207 ocean
0208 ocean
0209 ocean
0210 ocean
0211 ocean
0212 ocean
0213 ocean
0214 ocean
0215 ocean
0216 ocean
0217 ocean
0218 ocean
0219 ocean
0220 ocean
0221 ocean
0222 ocean
0223 ocean
0224 ocean
0301 ocean
0302 ocean
0303 ocean
0304 ocean
0305 ocean
0306 ocean
0307 ocean
0308 ocean
0309 ocean
0310 ocean
0311 ocean
0312 ocean
0313 ocean
0314 ocean
0315 ocean
0316 ocean
0317 ocean
0318 ocean
0319 ocean
0320 ocean
0321 ocean
0322 ocean
0323 ocean
0324 ocean
0401 ocean
0402 ocean
0403 ocean
0404 ocean
0405 ocean
0406 ocean
0407 ocean
0408 ocean
0409 ocean
0410 ocean
0411 ocean
0412 ocean
0413 ocean
0414 ocean
0415 ocean
0416 ocean
0417 ocean
0418 ocean
0419 ocean
0420 ocean
0421 ocean
0422 ocean
0423 ocean
0424 ocean
0501 ocean
0502 ocean
0503 ocean
0504 ocean
0505 ocean
0506 ocean
0507 ocean
0508 ocean
0509 ocean
0510 ocean
0511 ocean
0512 ocean
0513 ocean
0514 ocean
0515 ocean
0516 ocean
0517 ocean
0518 ocean
0519 ocean
0520 ocean
0521 ocean
0522 ocean
0523 ocean
0524 ocean
0601 ocean
0602 ocean
0603 ocean
0604 ocean
0605 ocean
0606 ocean
0607 ocean
0608 ocean
0609 ocean
0610 ocean
0611 ocean
0612 ocean
0613 ocean
0614 ocean
0615 ocean
0616 ocean
0617 ocean
0618 ocean
0619 ocean
0620 ocean
0621 ocean
0622 ocean
0623 ocean
0624 ocean
0701 ocean
0702 ocean
0703 ocean
0704 ocean
0705 ocean
0706 ocean
0707 ocean
0708 ocean
0709 ocean
0710 sand
0711 sand
0712 sand
0713 sand
0714 sand
0715 ocean
0716 desert
0717 ocean
0718 ocean
0719 ocean
0720 ocean
0721 ocean
0722 ocean
0723 ocean
0724 ocean
0801 ocean
0802 ocean
0803 ocean
0804 ocean
0805 ocean
0806 ocean
0807 ocean
0808 ocean
0809 sand
0810 sand
0811 bush
0812 desert
0813 desert
0814 mountain
0815 desert
0816 mountain
0817 sand
0818 sand
0819 sand
0820 sand
0821 ocean
0822 ocean
0823 ocean
0824 ocean
0901 ocean
0902 ocean
0903 ocean
0904 ocean
0905 ocean
0906 ocean
0907 ocean
0908 ocean
0909 sand
0910 desert
0911 desert
0912 desert
0913 mountain
0914 mountain
0915 mountain
0916 mountain
0917 mountain
0918 desert
0919 mountain
0920 sand
0921 ocean
0922 ocean
0923 ocean
0924 ocean
1001 ocean
1002 ocean
1003 ocean
1004 ocean
1005 ocean
1006 ocean
1007 ocean
1008 sand
1009 sand
1010 desert
1011 mountain
1012 mountain
1013 mountain
1014 mountain
1015 desert
1016 bush
1017 desert
1018 bush
1019 desert
1020 sand
1021 ocean
1022 ocean
1023 ocean
1024 ocean
1101 ocean
1102 ocean
1103 ocean
1104 ocean
1105 ocean
1106 ocean
1107 sand
1108 sand
1109 bush
1110 bush
1111 desert
1112 mountain
1113 desert
1114 mountain
1115 desert
1116 forest
1117 bush
1118 bush
1119 sand
1120 ocean
1121 ocean
1122 ocean
1123 ocean
1124 ocean
1201 ocean
1202 ocean
1203 ocean
1204 ocean
1205 ocean
1206 sand
1207 sand
1208 bush
1209 bush
1210 desert
1211 desert
1212 mountain
1213 mountain
1214 mountain
1215 marsh
1216 forest
1217 trees
1218 bush
1219 sand
1220 ocean
1221 ocean
1222 ocean
1223 ocean
1224 ocean
1301 ocean
1302 ocean
1303 ocean
1304 ocean
1305 ocean
1306 marsh
1307 marsh
1308 bush
1309 bush
1310 mountain
1311 mountain
1312 mountain
1313 mountain
1314 marsh
1315 marsh
1316 forest
1317 bush
1318 sand
1319 sand
1320 ocean
1321 ocean
1322 ocean
1323 ocean
1324 ocean
1401 ocean
1402 ocean
1403 ocean
1404 sand
1405 sand
1406 desert
1407 marsh
1408 marsh
1409 marsh
1410 mountain
1411 mountain
1412 desert
1413 marsh
1414 marsh
1415 marsh
1416 forest
1417 bush
1418 sand
1419 ocean
1420 ocean
1421 ocean
1422 ocean
1423 ocean
1424 ocean
1501 ocean
1502 ocean
1503 ocean
1504 sand
1505 desert
1506 mountain
1507 marsh
1508 marsh
1509 marsh
1510 marsh
1511 mountain
1512 mountain
1513 mountain
1514 marsh
1515 marsh
1516 forest
1517 bush
1518 sand
1519 ocean
1520 ocean
1521 ocean
1522 ocean
1523 ocean
1524 ocean
1601 ocean
1602 ocean
1603 ocean
1604 sand
1605 mountain
1606 mountain
1607 mountain
1608 marsh
1609 mountain
1610 mountain
1611 marsh
1612 mountain
1613 marsh
1614 marsh
1615 marsh
1616 forest
1617 bush
1618 sand
1619 ocean
1620 ocean
1621 ocean
1622 ocean
1623 ocean
1624 ocean
1701 ocean
1702 sand
1703 sand
1704 bush
1705 desert
1706 mountain
1707 mountain
1708 marsh
1709 desert
1710 mountain
1711 mountain
1712 marsh
1713 marsh
1714 marsh
1715 marsh
1716 forest
1717 bush
1718 ocean
1719 ocean
1720 ocean
1721 ocean
1722 ocean
1723 ocean
1724 ocean
1801 ocean
1802 sand
1803 sand
1804 bush
1805 desert
1806 desert
1807 desert
1808 marsh
1809 desert
1810 desert
1811 mountain
1812 mountain
1813 marsh
1814 forest
1815 marsh
1816 forest
1817 bush
1818 sand
1819 ocean
1820 ocean
1821 ocean
1822 ocean
1823 ocean
1824 ocean
1901 ocean
1902 sand
1903 bush
1904 forest
1905 forest
1906 forest
1907 bush
1908 marsh
1909 marsh
1910 swamp
1911 desert
1912 desert
1913 marsh
1914 marsh
1915 marsh
1916 marsh
1917 forest
1918 bush
1919 sand
1920 sand
1921 ocean
1922 ocean
1923 ocean
1924 ocean
2001 ocean
2002 sand
2003 sand
2004 sand
2005 marsh
2006 marsh
2007 forest
2008 marsh
2009 marsh
2010 water
2011 swamp
2012 marsh
2013 forest
2014 forest
2015 marsh
2016 marsh
2017 forest
2018 trees
2019 sand
2020 marsh
2021 ocean
2022 ocean
2023 ocean
2024 ocean
2101 ocean
2102 ocean
2103 ocean
2104 ocean
2105 sand
2106 sand
2107 marsh
2108 marsh
2109 marsh
2110 water
2111 water
2112 marsh
2113 forest
2114 forest
2115 marsh
2116 forest
2117 forest
2118 forest
2119 marsh
2120 marsh
2121 sand
2122 ocean
2123 ocean
2124 ocean
2201 ocean
2202 ocean
2203 ocean
2204 ocean
2205 ocean
2206 sand
2207 forest
2208 forest
2209 marsh
2210 marsh
2211 water
2212 marsh
2213 forest
2214 forest
2215 forest
2216 marsh
2217 marsh
2218 forest
2219 bush
2220 bush
2221 sand
2222 sand
2223 ocean
2224 ocean
2301 ocean
2302 ocean
2303 ocean
2304 sand
2305 ocean
2306 sand
2307 forest
2308 marsh
2309 marsh
2310 marsh
2311 marsh
2312 forest
2313 marsh
2314 marsh
2315 marsh
2316 forest
2317 forest
2318 forest
2319 trees
2320 trees
2321 forest
2322 bush
2323 sand
2324 ocean
2401 ocean
2402 ocean
2403 sand
2404 bush
2405 sand
2406 forest
2407 marsh
2408 marsh
2409 marsh
2410 marsh
2411 marsh
2412 forest
2413 forest
2414 forest
2415 marsh
2416 marsh
2417 forest
2418 marsh
2419 trees
2420 trees
2421 forest
2422 bush
2423 sand
2424 ocean
2501 ocean
2502 ocean
2503 sand
2504 sand
2505 bush
2506 bush
2507 forest
2508 forest
2509 marsh
2510 marsh
2511 marsh
2512 marsh
2513 forest
2514 forest
2515 marsh
2516 marsh
2517 forest
2518 marsh
2519 forest
2520 forest
2521 trees
2522 bush
2523 sand
2524 ocean
2601 ocean
2602 ocean
2603 ocean
2604 ocean
2605 sand
2606 sand
2607 sand
2608 sand
2609 forest
2610 forest
2611 forest
2612 marsh
2613 forest
2614 forest
2615 forest
2616 marsh
2617 bush
2618 bush
2619 marsh
2620 forest
2621 trees
2622 bush
2623 sand
2624 ocean
2701 ocean
2702 ocean
2703 ocean
2704 ocean
2705 ocean
2706 sand
2707 ocean
2708 sand
2709 bush
2710 bush
2711 forest
2712 forest
2713 forest
2714 marsh
2715 forest
2716 marsh
2717 marsh
2718 marsh
2719 marsh
2720 forest
2721 trees
2722 bush
2723 sand
2724 ocean
2801 ocean
2802 ocean
2803 ocean
2804 ocean
2805 ocean
2806 ocean
2807 ocean
2808 ocean
2809 sand
2810 sand
2811 bush
2812 forest
2813 forest
2814 marsh
2815 forest
2816 marsh
2817 marsh
2818 forest
2819 marsh
2820 forest
2821 trees
2822 sand
2823 ocean
2824 ocean
2901 ocean
2902 ocean
2903 ocean
2904 ocean
2905 ocean
2906 ocean
2907 ocean
2908 ocean
2909 ocean
2910 sand
2911 sand
2912 sand
2913 forest
2914 forest
2915 bush
2916 bush
2917 forest
2918 forest
2919 forest
2920 sand
2921 sand
2922 ocean
2923 ocean
2924 ocean
3001 ocean
3002 ocean
3003 ocean
3004 ocean
3005 ocean
3006 ocean
3007 ocean
3008 ocean
3009 ocean
3010 ocean
3011 sand
3012 sand
3013 bush
3014 sand
3015 bush
3016 sand
3017 bush
3018 sand
3019 sand
3020 ocean
3021 ocean
3022 ocean
3023 ocean
3024 ocean
3101 ocean
3102 ocean
3103 ocean
3104 ocean
3105 ocean
3106 ocean
3107 ocean
3108 ocean
3109 ocean
3110 ocean
3111 ocean
3112 sand
3113 sand
3114 sand
3115 sand
3116 ocean
3117 sand
3118 ocean
3119 ocean
3120 ocean
3121 ocean
3122 ocean
3123 ocean
3124 ocean
3201 ocean
3202 ocean
3203 ocean
3204 ocean
3205 ocean
3206 ocean
3207 ocean
3208 ocean
3209 ocean
3210 ocean
3211 ocean
3212 ocean
3213 ocean
3214 ocean
3215 ocean
3216 ocean
3217 ocean
3218 ocean
3219 ocean
3220 ocean
3221 ocean
3222 ocean
3223 ocean
3224 ocean
3301 ocean
3302 ocean
3303 ocean
3304 ocean
3305 ocean
3306 ocean
3307 ocean
3308 ocean
3309 ocean
3310 ocean
3311 ocean
3312 ocean
3313 ocean
3314 ocean
3315 ocean
3316 ocean
3317 ocean
3318 ocean
3319 ocean
3320 ocean
3321 ocean
3322 ocean
3323 ocean
3324 ocean
3401 ocean
3402 ocean
3403 ocean
3404 ocean
3405 ocean
3406 ocean
3407 ocean
3408 ocean
3409 ocean
3410 ocean
3411 ocean
3412 ocean
3413 ocean
3414 ocean
3415 ocean
3416 ocean
3417 forest-mountain tower "Ruby Base"
3418 ocean
3419 ocean
3420 ocean
3421 ocean
3422 ocean
3423 ocean
3424 ocean
3501 ocean
3502 ocean
3503 ocean
3504 ocean
3505 ocean
3506 ocean
3507 ocean
3508 ocean
3509 ocean
3510 ocean
3511 ocean
3512 ocean
3513 fir
3514 ocean
3515 ocean
3516 ocean
3517 ocean
3518 ocean
3519 ocean
3520 ocean
3521 ocean
3522 ocean
3523 ocean
3524 ocean
3601 ocean
3602 ocean
3603 ocean
3604 ocean
3605 ocean
3606 ocean
3607 ocean
3608 ocean
3609 ocean
3610 ocean
3611 ocean
3612 ocean
3613 ocean
3614 ocean
3615 ocean
3616 ocean
3617 ocean
3618 ocean
3619 ocean
3620 ocean
3621 ocean
3622 ocean
3623 ocean
3624 ocean

The Randomnomicon and making random OSR rulesets

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.

https://traversefantasy.blogspot.com/2022/12/osr-rules-families-faq-methodology.html

The 1000 Dungeon Project

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.

Here’s a summary :-

https://docs.google.com/spreadsheets/d/1kpZhtAO4cLtyLnh6bCCRVdigOL8jbjAFJ6CFyEZ2cX8/edit?usp=sharing

Wandering Monster Totals
Wandering Monster XP histogram
Monster numbers
Monster XP histogram
Rooms

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:

monster_xp                            0.0
wm_xp                                 0.0
monster_total                         0.0
wm_total                              0.0
traps                                 1.0
rooms                                 2.0
total_treasure_copper                 0.0
total_treasure_silver                 0.0
total_treasure_electrum               0.0
total_treasure_gold                   0.0
total_treasure_platinum               0.0
total_treasure_gems                   0.0
total_treasure_jewellery              0.0
total_treasure_magic                  0.0
total_treasure_monster_copper         0.0
total_treasure_monster_silver         0.0
total_treasure_monster_electrum       0.0
total_treasure_monster_gold           0.0
total_treasure_monster_platinum       0.0
total_treasure_monster_gems           0.0
total_treasure_monster_jewellery      0.0
total_treasure_monster_magic          0.0
wm_total_treasure_copper              0.0
wm_total_treasure_silver              0.0
wm_total_treasure_electrum            0.0
wm_total_treasure_gold                0.0
wm_total_treasure_platinum            0.0
wm_total_treasure_gems                0.0
wm_total_treasure_jewellery           0.0
wm_total_treasure_magic               0.0
Coins                                11.0
Gems                                  0.0
Jewellery                             0.0
Magic                                 0.0
Total Gold Equivalent                21.5
x                                    13.0
y                                    16.0
z                                     1.0

Median room size is 13 by 16 – y dimensions are likely to be bigger.

So if we call a median room an exemplar, let’s have a look:

Selecting all the 13 by 16 the medians:
monster_xp                            0.0
wm_xp                                19.0
monster_total                         0.0
wm_total                              0.5
traps                                 0.0
rooms                                 3.5
total_treasure_copper                 0.0
total_treasure_silver                 0.0
total_treasure_electrum               0.0
total_treasure_gold                   0.0
total_treasure_platinum               0.0
total_treasure_gems                   0.0
total_treasure_jewellery              0.0
total_treasure_magic                  0.0
total_treasure_monster_copper         0.0
total_treasure_monster_silver         0.0
total_treasure_monster_electrum       0.0
total_treasure_monster_gold           0.0
total_treasure_monster_platinum       0.0
total_treasure_monster_gems           0.0
total_treasure_monster_jewellery      0.0
total_treasure_monster_magic          0.0
wm_total_treasure_copper              0.0
wm_total_treasure_silver              0.0
wm_total_treasure_electrum            0.0
wm_total_treasure_gold                0.0
wm_total_treasure_platinum            0.0
wm_total_treasure_gems                0.0
wm_total_treasure_jewellery           0.0
wm_total_treasure_magic               0.0
Coins                                60.0
Gems                                  0.0
Jewellery                             0.0
Magic                                 0.0
Total Gold Equivalent                60.0
x                                    13.0
y                                    16.0
z                                     2.0
Periodic Checks                      10.0

So these are therefore likely to have an exit to level 2 – [z = 2]

The distribution of area of the Dungeons:

Dungeon area, x by y by z

Here are the individual stats for the Dungeons:

https://docs.google.com/spreadsheets/d/1rbTE5-d4ju9nuQC57Dt8rCNPvuNbW3VR-JA7iAMqyvc/edit?usp=sharing

%d bloggers like this: