Thursday, April 5, 2018

Pseudobot: Random Character Generator

Excitement.
I've seen people ask for a system to "roll" random characters in GURPS, and I have seen people insist that it is not good, useful, or what have you. I figure if people ask time and time again, there is someone that wants it.
Completely frankly, I don't like random characters that much, but if that makes TTRPGs fun to someone, and GURPS particularly, then who am I to tell them to go play D&D instead? If you care about the algorithm and method, there's a bit more text after the break.

How Characters are Generated

The code for this system basically takes a collection of lists, each list having certain rules for different selection criteria (eg, how many points of things can be taken, and whether duplicate selections are allowed) and each selectable item in the list also has a few possible rules (whether the item has any prerequisites or any mutually exclusive selections.)
This algorithm is generic, so if I want, I can easily set this up for, for example, Pointless Monster Hunting or for Action 4: Specialists as well, but for now, it has a dataset for Pointless Slaying and Looting.
Think of each list as a deck of shuffled cards. Based on rules about duplicates, prerequisites and mutually exclusive conditions, certain cards are removed from the deck before shuffling and drawing. After drawing a card, all the cards are added back to the deck, all the invalid cards are removed again, and then the deck is shuffled for another draw until either there are no more options in the category we can afford, or we have maxed out the budget of traits for that list.
In practical terms, this makes it a bit unwieldy and cumbersome to generate these characters by real means, such as dice; a card deck could work, but it would be an annoying amount of shuffling and adding and removing cards. Thankfully, what might be several minutes in real life is less than a hundredth of a second for a piece of software.
The characters generated run the gamut of lousy to modest, I'd recommend if anyone seriously wanted to use this tool to roll maybe 3 or 5 characters and choose their favorite. I mean, some people get their jollies by trusting the RNG and taking any janky nonsense it spits out, so I could also see some fun in a single card draw if that's your thing.
I think in the future, I might want to add just a teensy weensy bit of intelligence to favor optimal choices but not outright deny absolute bonkers choices. If I did that, I'd probably do some weighting, so for example, a character that gets the high IQ Brainy archetype is more likely than the high ST Brute archetype to get the Wizardry ability, and then more likely to get spell wildcard skills in turn, while also being discouraged (but not stopped) from selecting abilities that count on high ST and DX to leverage fully. Using the deck of cards analogy, we might think of this as a normal deck having 10 of each card, but the things we want to discourage, we remove half of those cards, and the things we want to encourage, we double those cards.
I also would like to bring it to a point where it could automatically generate a gcs character sheet which would make the rapid fire nature of the thing even more convenient, but we'll see about that.

No comments:

Post a Comment