"I suppose that it's a little bit different to other generators in that it's an all-in-one, and the generators feed into each other; for example, one can go carousing in the tavern, and one of the potential events is offending a faction, which is taken from the factions that already exists in the town."
May we present Rhys of Eigengrau's Generator.
Q&A with Rhys of Eigengrau's Generator
How did you get into creating random generators?
I got into random generators as a relatively simple project to teach myself how to code. My idea was to write one that was more narrative focused, rather than a list of adjectives to describe something; when I was starting out DMing, I found that adding the little boring inconsequential details was challenging, so I thought that something that took care of that would be useful. I also found the one-word descriptions of taverns and such left something to be desired; although "big" is a valid description of a tavern, in the heat of the moment it can be hard to pad that out into a proper description. So I automated it.
Creating Eigengrau's Generator was an iterative affair; I first made the tavern module, then added NPC generation, followed by blacksmithing, alchemy, general stores, sociopolitics, factions, temples, and everything else.
I suppose that it's a little bit different to other generators in that it's an all-in-one, and the generators feed into each other; for example, one can go carousing in the tavern, and one of the potential events is offending a faction, which is taken from the factions that already exists in the town. Depending on the size of the guard, there may be guards to stop fights breaking out in the tavern. Overall town prosperity can have an impact on the wealth of establishments and NPCs.
What generators are you most proud of creating and why?
From a purely theoretical perspective, I am probably most proud of the sociopolitical modelling that's done behind the scenes; an oft-ignored facet of world building is the potential for different government types, and sources of political power; in a magical world, one would think that for smaller towns, those that could use magic would be able to lord it over the peons, but it seems in many fantasy settings, magocracies are exclusively for ancient orders of wizards. So I like to think that the sociopolitical system rectifies that tendency to assume that the government system would be similar to ours of some thousand years ago.
However, mechanically? I'm proud of the scenario generator. Punch in a season and a biome, and you get a quick paragraph or two, liberally stealing from the excellent tables that /u/OrkishBlade over on /r/BehindTheTables. Great for those "oh crap, I need to pad this session out a little" moments.
What is the most fun thing about creating generators?
It's always satisfying when I finish a new feature to hook it up to the rest of the generator; a couple lines of code, and suddenly the NPC racial diversity is tied to the town's racial demographics! Researching new features is also a lot of fun; I've learnt a lot about medieval society and the anatomy of ships by trying to make the generator relatively realistic.
What are the most painful lessons you've learnt from creating generators?
Learning coding from scratch, a lot of my issues are entirely brought upon by myself; I'm just good enough to know that my code is bad, and that I'm building a codebase in a sub-optimal way, but not quite good enough to be able to figure out how to future proof it better! There's been a lot of rewriting old code, nothing is set in stone for too long before I realise that I've done it in a bad/not-quite-as-sensible way.
But to answer your question with a more concrete example, I'd say that I've had to learn that perfection is the enemy of good. It's incredibly tempting to try and write features that do everything, but the feature creep just slows down development. Setting boundaries for the scope has been a difficult thing to learn, because I want the tool to be as good as it can be, but it needs to be updated regularly, rather than a twice-a-year update that changes everything.
How do you use random generators yourself?
I use my generator as a tool to refer to; making up names is quite challenging for me, so it's usually the first feature to be coded in (so I can use it in my weekly sessions). I've also found the random item generators to be great when I need to pad out the loot for players, but don't want to accidentally roll an overpowered Sun-Sword or something. My current campaign is very much focused around alchemy, so the potion generator gets a lot of use; they typically chug potions right before battle, which can be... interesting. I've used everything that I've put in the generator at least once, as I'm relying largely on my own needs for direction as to where the Generator is working, and where it needs improvement.
What are your next big projects (generators or otherwise) that you can talk about?
I'm working on making the towns feel more alive, currently; more details, and more random events that can happen.
Another thing I'm working on is a long-overdue feature to include custom NPCs that can appear randomly; the first crop of NPCs that aren't randomly generated will include some of my Patreon supporters, and the wizard Galder, the PC of Laurence Withey, a young redditor who suffered from an advanced pelvic RMS, who wished for his character to be immortalised, similar to the spells of Mordenkainen and Bigby, who were originally PCs. They've set up a subreddit detailing his adventures, /r/AdventuresOfGalder. I'm trying to keep the GitHub relatively up-to-date with planned features, and the entire project is open source, so there's not a lot that I would say is secret as such.
Where can people find you on social media?
I also have a personal website - outside of coding, I am an art music composer.
Is there anything else you would like to talk about?
I initially got into the random generation stuff as a simple exercise to keep me occupied, but it has spiraled into something truly marvelous. I'm so grateful for my supporters, and love how the interaction rate is very high. It's a very rewarding feeling, having made something and see people actively engage with it, use it, and make suggestions on how to improve it.
The open-source nature of everyone sharing their lists of random effects and such has been crucial to the rapid development of this tool, and I can't thank everyone that's posted their content without any expectation of compensation enough, and hope that my efforts to consolidate them live up to the standard of quality that they expect.
You can find more creator interviews on Rand Roll.
What is your favourite feature of Eigengrau's Generator?