So I was prepping my D&D campaign last night and realized all my kingdom names sounded like bad knockoffs of Lord of the Rings. “Eh, I’ll just whip up a quick name generator,” I thought. Famous last words.
The Messy First Attempt
Dusted off Python and started slapping lists together. Grabbed consonants, vowels, slapped them randomly:
import random
cons = ['b','d','f','g']
vows = ['a','e','o','u']
print(*(cons) + *(vows) + *(cons))
Ran it. Got “Fog”. Then “Gub”. Absolute trash. Sounded like cave trolls grunting. My players would roast me alive.
Switching Gears
Scrapped that approach. Dug through my notes – turns out I bookmarked fantasy name structures months ago:
Place + feature (“Silvercrest”)
Descriptor + terrain (“Misty Peaks”)
Ancient + object (“Obsidian Throne”)
Created three new lists:
Place words: [Silver, Shadow, Crystal]
Descriptors: [Forgotten, Eternal, Whispering]
Features: [Reach, Vale, Spire]
Making It Actually Work
Wrote this disaster:
first_list = ["Crimson", "Ivory", "Ashen"]
second_list = ["Sanctum", "Crown", "Watch"]
third_list = ["Dominion", "Expanse", "Realm"]
for i in range(5):
name = *(first_list) + " " + *(second_list)
if *(0,1): # Coin flip
name += " of the " + *(third_list)
print(name)
Test run gave me “Ivory Sanctum of the Dominion”. Okay, not terrible! But then got “Ashen Watch” without the third part – clean and simple. Even better.
Realization Hits
Played with it for an hour generating names. The magic sauce? Randomly omitting parts. Sometimes “Crimson Watch” beats “Crimson Watch of the Expanse”. Added weights so shorter names appear more often.
Final step? Saved my lists in a text file so I can swap words later. Now when my party sails to Whispering Spire next session? Totally using this. Still might get mocked, but at least it won’t be “Gub Kingdom” again.
Disclaimer: All content on this site is submitted by users. If you believe any content infringes upon your rights, please contact us for removal.
So today I wanna show you how I tackled that yb bern tickets thing. Got this email promo, figured yeah let’s grab some before they gone. Kicked off my laptop, coffee steaming hot. Opening Up The Site First thing, hauled...
Honestly I gotta tell you about this wild ride trying to use Koora Live for English practice. Saw the app mentioned somewhere, thought, “Hey, live sports? Commentary in English? Perfect learning hack!” So here’s what went down. Getting Started Was...
Okay so this all started because my buddy Dave kept bugging me about getting his stupid Raspberry Pi server to talk to his old NAS box. The thing kept crashing when you tried moving files around and he kept whining...
So yesterday I got curious about this Bodø/Glimt vs Lazio match, right? Saw people talking about it online but couldn’t find a good breakdown. Figured I’d just dig into the stats myself since nobody else seemed bothered. Grabbed my laptop...