Cthulhu Eternal has become my preferred
Lovecraftian RPG system: free to use (including commercially), the
publisher hasn't got into NFTs or AI art, and it's broadly compatible
with other Lovecraftian games.
A while ago I abused Typst to write a
program which would turn a JSON file defining a character into a
playable character sheet. (The official form-fillable sheets are the
"special" sort of PDF that Adobe Acrobat now produces unless firmly
prevented, and nothing for Linux supports them.) That's the first part
of the Shoggoth software suite, to which I later added a program to
calculate skill improvements between adventures and a cheat-sheet
generator which would produce a summary of the party's stats and
skills for the benefit of the game master.
But how do you get the JSON file with the character in it? Well, if
you're me, you write it in a text editor as you're going through the
character generation process. But most people aren't me.
Now I've added a random character generator, written in Python on the
basis that it should be fairly easy for people to work out how to run
it on their own machines, and lightly inspired by my GURPS template
expander. Given an era and an archetype within that era, it'll
generate stats, pick skills, and so on. Some tidying up is needed
afterwards (picking skill specialisations and filling in Bonds, for
example) but much of the work is done, whether you wanted a quick NPC
or something to tweak into a player character.
So far I've converted six of the SRDs to era files, meaning that any
of the archetypes in them can be generated automatically: Victorian,
World War I, Jazz Age, World War II, Cold War and Modern. I'll
gradually reach back in time and do others, unless someone else ends
up doing them first.
The code is at
codeberg and free to use.