Upbringing

From Wildermyth Wiki
Revision as of 09:29, 22 June 2024 by Psionusoid (talk | contribs) (→‎Upbringing Stats: started to add more details about how upbringing stats are split up; minor edits to MutM hero section)
Example upbringing showing the generated backstory, hooks, and bonus stats

Upbringing is a permanent, unchangeable attribute that is randomly generated for every hero. The upbringing is responsible for defining permanent stat bonuses, the hero's hooks, and the automatically generated backstory. This system is intended to make every encountered hero unique.

On a technical level, the upbringing consists of an origin, an anecdote ("dote" for short), and a motivation ("mote" for short). Each of those parts comes with a defined hook, history tags (defining aspects of the character's backstory, e.g. eccentric, criminal, happy childhood), personality stats (e.g. leader, flirt, hothead), and combat- and campaign-relevant stats (e.g. health, melee accuracy, charisma). Heroes that are generated as children (joining the party during an interval as they reach adventuring age) have their own separate set of origins, meaning that the probabilities for obtaining certain hooks or desired stat combinations is different. Also, unlike standard recruits, children may receive a bonus for armor, stunt chance, and/or bonus damage (these stats are also possible for some other non-child, non-standard recruits). The game will not allow combinations that would result in duplicates of the same hook. For instance, if a hero is generated with an origin that comes with the Wildheart hook, it is not possible for that hero to have a dote or mote that would also come with the Wildheart hook. In addition, most of the upbringing parts come with so-called forbidden aspects, further making many origin/dote/mote combinations impossible.

This upbringing system results in 1,035,914 unique "regular" hero upbringings and 212,310 unique possible upbringings for children.

Upbringing Stats

Every origin, dote, and mote has a set of "primeStats" and "storyStats".
"primeStats" are a list of stats, such as "Speed, Dodge, Melee Accuracy" or "Potency, Warding". The game assigns a bonus for those stats depending on how many primeStats are set for that specific origin/dote/mote. The more primeStats that origin/dote/mote has, the lower the bonus will be for each individual stat. For instance, origin_36 which has the primeStats Ranged Accuracy, Warding, Speed, Dodge, and Melee Accuracy (5 different primeStats) would give a 0.3 bonus to Warding whereas origin_61 which has the primeStats Ranged Accuracy, Warding, and Charisma (3 different primeStats) would give a 0.5 bonus to Warding. This means that there is a trade-off, with heroes falling into a spectrum between having a narrow set of very high bonus stats or a very broad selection of comparatively low bonus stats.
More specifically, each hero is given 5 "points" worth of stats from upbringing, although this value is approximate in practice due to rounding. Origins and dotes are worth 2 points each while motes are worth 1 point. The total value of the origin, dote, or mote is split equally (up to rounding) between the primeStats it awards. One point worth of each upbringing stat is listed in the table below. After splitting, stats are rounded to the nearest tenth or whole number depending on the stat, rounding up at x.5 or .x5, although due to multiple steps of rounding (needs verification that this is the real reason), some stats can be rounded down in practice. For example, for the "needs rescuing" hero below, 5/6 of a point worth of potency would grant 0.25 potency, which should then round up to 0.3 potency. However, only 0.2 potency is granted, possibly because 5/6 is calculated first, leading to just under 0.25 potency, which is then rounded down.

Amount of upbringing stats with 1 point worth of primeStats
Stat Amount per point Rounding
Health 0.6 Nearest Tenth
Speed 0.6 Nearest Tenth
Recovery Rate 10 Nearest Whole Number
Retirement Age 5 Nearest Whole Number
Armor 0.6 Nearest Tenth
Warding 0.7 Nearest Tenth
Dodge 6 Nearest Tenth
Block 6 Nearest Tenth
Accuracy 4 Nearest Whole Number
Stunt Chance 4 Nearest Whole Number
Bonus Damage 0.3 Nearest Tenth
Potency 0.3 Nearest Tenth
Charisma 30 Nearest Whole Number
Tenacity 30 Nearest Whole Number

"storyStats" are the aforementioned personality stats. Examples are "35 bookish, 35 snark" or "70 poet". Personality stats are rescaled such that exactly one stat is between 80 and 99 and exactly one other stat is between 60 and 79 (needs verification and further explanation of how this works).

Unique Heroes

Monarchs Under the Mountain

In the Monarchs Under the Mountain campaign, the "Needs Rescuing" farmer has a unique backstory and the following stats:
Hooks: Shame, Gritty, Potential
Potency: +0.2
In addition, that hero has five bonus stat "slots". These "slots" are filled with a randomly selected stat, with a specific bonus per stat. It is possible for the same stat to fill multiple "slots", giving the same stat bonus multiple times, so there is another trade-off between specialization and broadness. Because of this unique generation method, the farmer can obtain stat combinations that are impossibly high for any other hero if enough "slots" are filled with the same stat. Every stat has an equal chance of filling one of the five "slots" with a probability of 1/15 (needs verification; there's some evidence this isn't actually true). Before rescaling, the personality stats are 1-60 for every stat, plus 30 Leader.

Stat bonuses for the Monarchs Under the Mountain farmer
Stat Bonus per "slot" Theoretical maximum (single stat filling all "slots", 1/759375 odds)
Health 0.5 2.5
Speed 0.7 3.5
Recovery Rate 8 40
Retirement Age 4 20
Armor 0.5 2.5
Warding 0.6 3
Dodge 5 25
Block 5 25
Accuracy 3 15
Stunt Chance 3 15
Bonus Damage 0.2 1
Potency 0.2 1 (total 1.2 Potency with the guaranteed 0.2 Potency)
Charisma 25 125
Tenacity 25 125
Eluna and the Moth

The non-Legacy starting heroes have fixed stats. It is also possible to recruit Elsee Arcwright, who also comes with fixed stats.

Fixed stats for Eluna and the Moth heroes
Stat Older Sibling Younger Sibling Elsee Arcwright
Hooks Literary, Loyal, Dreamer Flirt, Loyal, Wanderlust Nostalgic, Gritty, Potential
Health 0.6 0.6 1.2
Speed 0.8
Recovery Rate 10 10 7
Retirement Age 5 5
Armor 0.4
Ranged Accuracy
Bonus Damage 0.3
Potency 0.3 0.3
Tenacity 30 30 20
All the Bones of Summer

In the All the Bones of Summer campaign, the non-Legacy starting heroes have fixed stats. In addition, there are two plot-guaranteed recruits, a Hunter and a farmer whose class gets picked by the player.

Fixed stats for All the Bones of Summer heroes
Stat Hunter of the Old Blood The Friend The Toughlipped Kid Fenspear Heir Recruitable Farmer
Hooks Destiny, Wildheart, Nostalgic Nostalgic, Physical, Loyal Gritty, Potential, Slacker Slacker, Literary, Wanderlust Shame, Physical, Thorny
Health 0.5 0.5 0.6 0.5
Speed 0.8 0.7 0.8 0.7
Retirement Age 4 4
Armor 0.5
Dodge 6 5
Block 5
Ranged Accuracy 3
Stunt Chance 3 3 4
Bonus Damage 0.3 0.2 0.2 0.3 0.2
Potency 0.3 0.2 0.2 0.3 0.2
Charisma 30
Tenacity 25
A Walk in the Unlight
Fixed stats for A Walk in the Unlight heroes
Stat An Able Youth Kaylem of Sable Lake Onya of Red Birch Mountain Rayvis the Wroth Daicleed the Disarticulator
Hooks Lucky, Nostalgic, Loyal Dreamer, Literary, Slacker Integrity, Proud, Gritty Distant, Thorny, Potential Weird, Darkheart, Curious
Health 0.8 0.8 1 1
Speed 1 1 1
Armor 0.8 0.8 1
Warding 0.9 0.9 1.2
Bonus Damage 0.4 0.5
Potency 0.4 0.4 0.5

Minmaxing randomly generated heroes

By continuously using the Reroll button until stumbling upon a rare and desirable stat combination, it is possible to minmax.

Some character builds can greatly benefit from certain upbringing stats. Certain upbringing stat combinations make heroes objectively more or less fit to perform certain roles in combat.

For instance, a hero that is generated with 1.1 Speed and 5 Melee Accuracy bonuses from upbringing could be considered optimally suited for a Thornfang Hunter build. A hero that is generated with 10 bonus retirement age is more fit to suit a newly generated Warrior making it through a long campaign without relying on hook quest retirement age bonuses. A hero with a high Dodge and Block bonus is objectively more fit for using Riposte than a hero without.

(Disclaimer) Credits to metoxys for simulating all possible upbringing combinations, analyzing the data, and compiling this upbringing spreadsheet. If you share this around, then please credit metoxys properly.
Upbringing spreadsheet
Upbringing spreadsheet with hooks