July 6, 2023

Trade VIII: Pricing Abilities

DM's Escritoire says:

Been a while, but Alexis' recent post generated an interesting comment from you regarding using his Sage system to effect manufacturing and prices. Care to share the direction you're taking. I recently watched his (ten year old) youtube and caught something I missed in the last third regarding references for "service providers." I may try to revisit this approach unless the Sage abilities shows more promise.

I would care to share the direction I'm taking, thank you for asking.

Alexis' approach is to make the yearly income of a person with a certain skillset equal to the amount of time needed to train them to that level. I took a different approach, but I'm hoping his solution can inspire me to close some of my gaps.

My trade system still operates largely as described several years ago. My upgrades have largely been relegated to a better processing system: I no longer calculate each stage of good in turn. Instead, I overhauled the recipe system so that each good is calculated recursively based on the price of its ingredients. This also makes it trivial to add new items to the system, as no recalculation needs to be done for complex manufactured goods.

Raw resources are still assigned based on rarity calculations: I attempt to make these as accurate to the real world as possible, but I also keep a file to override those results in case I want to force a particular resource to occur somewhere.

Industries/labor was a different matter. I'd started out giving each industry a "support value" based on MDME: how many people are required to support the resource of an industry. Many people pointed out issues with MDME's support values, but I do think the core idea is sound. But that leaves us back at square one: what number for SV do we use? My answer so far, unfortunately, is do what I feel right.

{
  "item": "potter",
  "cpUnit": 10,
  "tech": 6,
  "SV": 300
}

Occasionally, a price will not make sense, and I'll reevaluate the SV. But this is the base number I use to determine whither and which. Let's take a population of 1000. We randomize the order of industries and begin with potter as above. $\left\lfloor\frac{1000}{300}\right\rfloor=3$. So there will be $1-3$ potter references here. Let's roll a $2$ (the actual roll percentage is also calculated from the SV and population). This means that $2\cdot300=600$ of the population is tied up in "supporting" the potter, leaving 400 for the next industry we consider. These base references are then spread across the trade network just like anything else.

This process results in a unique fingerprint of industries for each city.

It is no complex matter to extend this to sage abilities.

{
  "item": "hunting",
  "cpUnit": 2,
  "tech": 4,
  "SV": 50
}

Our fiat values are again cpUnit (the unit here being /day) and SV. Hunting ought to be a more common skill than most, so we begin with these numbers and see how it turns out. Because each ability is assigned independently, we can define all Amateur Logistics abilities to have the same base numbers, and the final output for a given market will still be unique. Authority/Expert/Sage abilities can be likewise scaled up appropriately from the Amateur values.

This lets the party acquire a hireling with a bespoke set of abilities and gives a total monthly price based on the specific set of skills they desire.

Future considerations:

  • Better understanding of how the various fiat numbers are derived, something more internally consistent like the price of training/apprenticeship
  • Replace some industries with appropriate skills, e.g., Potter can be replaced by Pottering. As mentioned above, I think this is probably a better approach overall, since it more directly ties the  market network into the sage system