RimWorld

RimWorld

Rick Aug 10, 2018 @ 10:36pm
Story Teller info
So I've recently gone to have a read about the Story Tellers and their stats and such. Since they are such a core part of the gaming experience.

I've had a look on the wiki page about them and for the most part it's understandable, but just needed some clarification on a few stats, and the events around them.

Wiki: https://rimworldwiki.com/wiki/AI_Storytellers

desiredPopulationMin = 4 -- This is clearly the # of colonists the teller would like to have in the colony. But what happens if it's under this?
desiredPopulationMax = 13 -- What happens when/if it goes over this?
desiredPopulationCritical = 18 -- What happens when going over?
threatCycleLength = 9.2 -- MaxTime between ?? What is threat cycle length?
minDaysBetweenThreatBigs = 1.9 -- Minimum days between large threats? Like raids?
classic_RandomEventMTBDays = 1.00 -- Not a clue. What do?
classic_ThreatBigMTBDays = 3.75 -- Not a clue. What do?
classic_ThreatSmallMTBDays = 1.25 -- Not a clue. What do?

I am using Randy Random on extreme and he appears to have a few special attributes.
AverageIncidentsPerDay = 1.45 -- What?
GeneralWeight = 0.79 -- Weight for what?
ThreatSmallWeight = 0.0950 -- Small weight? What is determined as small?
LargeThreatWeight = 0.095 -- What is determined as large?
MaxThreatBigIntervalDays = 13 -- 13 days? Between MaxThreat? What is Max threat?

Thanks all.
Last edited by Rick; Aug 10, 2018 @ 10:38pm
Originally posted by Astasia:
Those stats aren't accurate anymore, many of the values no longer exist or have been changed in B18, and the system is further overhauled in b19. You can open the following file to see the new system:

*\Steam\steamapps\common\RimWorld\Mods\Core\Defs\Storyteller\Storytellers.xml

The general idea is roughly the same though so I'll explain some of them. These are the B18 values, I don't have b19 loaded and it's in such a state of flux it wouldn't be worth going through currently.

<populationIntentFromPopCurve>
<points>
<li>0, 8</li>
<li>1, 4</li>
<li>5, 1</li>
<li>9, 0.5</li>
<li>13, 0</li>
<li>18, -1</li>
</points>
</populationIntentFromPopCurve>

For population there is a scaling system that determines how easy it is to get new colonists. In the newer versions it's a curve rather than having the desired population values. At very low population the storyteller will create more "free colonist" events like wanderers joining or escape pods crashing down, as population increases those events become much less frequent. Once population hits 13 then those free pop the free colonist events stop and you have to recruit prisoners to gain more population. As population rises further and hits 18 and beyond, the chance for downing raiders instead of killing them decreases and the chance to recruit them drops until they are all 99%.

threatCycleLength no longer exists and I'm not sure exactly what it did before.

<threatOffDays>6.0</threatOffDays>
<threatOnDays>4.6</threatOnDays>

These are the values that replaced threatCycleLength I believe, but they have no obvious function.

<mtbDaysThreatSmall>3.75</mtbDaysThreatSmall>
<mtbDaysThreatBig>1.20</mtbDaysThreatBig>

mtb = mean time between

It means on average every 3.75 days a small threat will happen. A small threat is single animal insanity, a big threat is a raid, infestation, crashed ship chunk, manhunter pack ,or mass animal insanity.

<minDaysBetweenThreatBigs>1.9</minDaysBetweenThreatBigs>

This does what it says, it's minimum days between big threats. Yes the average is lower than the mininum, I don't know why. It means Casandra sends big threats at you like clockwork though, almost every 2 days.

Randy works very differently. He doesn't break down events into different categories and send them at you individually, instead he has a single pool of all events and pulls at them randomly based on a weight.

<mtbDays>1.13</mtbDays>

So every 1.13 days on a average he picks an event from the following list:

<Misc>5.5</Misc>
<OrbitalVisitor>1</OrbitalVisitor>
<ThreatBig>1</ThreatBig>
<ThreatSmall>0.9</ThreatSmall>
<AllyArrival>1</AllyArrival>
<AllyAssistance>0.5</AllyAssistance>
<ShipChunkDrop>0.5</ShipChunkDrop>

The numbers are the weights, so he has roughly a 50% chance to create a misc event and a 10% chance to create a big threat event. Then he has the following value:

<maxThreatBigIntervalDays>13</maxThreatBigIntervalDays>

This is the opposite of what casandra and phoebe have, instead of a minimum interval between big threats he has a max interval, because with a 10% chance per day it's possible to go a long time without creating a big threat. That value makes it so if no big threat is created after 13 days the game will try to force one, but it can be blocked if it's an invalid threat type (like an infestation with no viable spawn locations).
< >
Showing 1-3 of 3 comments
The author of this thread has indicated that this post answers the original topic.
Astasia Aug 11, 2018 @ 2:37am 
Those stats aren't accurate anymore, many of the values no longer exist or have been changed in B18, and the system is further overhauled in b19. You can open the following file to see the new system:

*\Steam\steamapps\common\RimWorld\Mods\Core\Defs\Storyteller\Storytellers.xml

The general idea is roughly the same though so I'll explain some of them. These are the B18 values, I don't have b19 loaded and it's in such a state of flux it wouldn't be worth going through currently.

<populationIntentFromPopCurve>
<points>
<li>0, 8</li>
<li>1, 4</li>
<li>5, 1</li>
<li>9, 0.5</li>
<li>13, 0</li>
<li>18, -1</li>
</points>
</populationIntentFromPopCurve>

For population there is a scaling system that determines how easy it is to get new colonists. In the newer versions it's a curve rather than having the desired population values. At very low population the storyteller will create more "free colonist" events like wanderers joining or escape pods crashing down, as population increases those events become much less frequent. Once population hits 13 then those free pop the free colonist events stop and you have to recruit prisoners to gain more population. As population rises further and hits 18 and beyond, the chance for downing raiders instead of killing them decreases and the chance to recruit them drops until they are all 99%.

threatCycleLength no longer exists and I'm not sure exactly what it did before.

<threatOffDays>6.0</threatOffDays>
<threatOnDays>4.6</threatOnDays>

These are the values that replaced threatCycleLength I believe, but they have no obvious function.

<mtbDaysThreatSmall>3.75</mtbDaysThreatSmall>
<mtbDaysThreatBig>1.20</mtbDaysThreatBig>

mtb = mean time between

It means on average every 3.75 days a small threat will happen. A small threat is single animal insanity, a big threat is a raid, infestation, crashed ship chunk, manhunter pack ,or mass animal insanity.

<minDaysBetweenThreatBigs>1.9</minDaysBetweenThreatBigs>

This does what it says, it's minimum days between big threats. Yes the average is lower than the mininum, I don't know why. It means Casandra sends big threats at you like clockwork though, almost every 2 days.

Randy works very differently. He doesn't break down events into different categories and send them at you individually, instead he has a single pool of all events and pulls at them randomly based on a weight.

<mtbDays>1.13</mtbDays>

So every 1.13 days on a average he picks an event from the following list:

<Misc>5.5</Misc>
<OrbitalVisitor>1</OrbitalVisitor>
<ThreatBig>1</ThreatBig>
<ThreatSmall>0.9</ThreatSmall>
<AllyArrival>1</AllyArrival>
<AllyAssistance>0.5</AllyAssistance>
<ShipChunkDrop>0.5</ShipChunkDrop>

The numbers are the weights, so he has roughly a 50% chance to create a misc event and a 10% chance to create a big threat event. Then he has the following value:

<maxThreatBigIntervalDays>13</maxThreatBigIntervalDays>

This is the opposite of what casandra and phoebe have, instead of a minimum interval between big threats he has a max interval, because with a 10% chance per day it's possible to go a long time without creating a big threat. That value makes it so if no big threat is created after 13 days the game will try to force one, but it can be blocked if it's an invalid threat type (like an infestation with no viable spawn locations).
Last edited by Astasia; Aug 11, 2018 @ 2:45am
CellNav Aug 11, 2018 @ 4:09am 
Originally posted by Astasia:
Those stats aren't accurate anymore, many of the values no longer exist or have been changed in B18, and the system is further overhauled in b19.

Very helpful information Astasia :steamhappy:

Thank you for taking the time to post what you know. I have a feeling that the parameters you're not sure about must be staring you in your eyes, and making you wonder "what are you thinking Mr Data" ... It would bother me, that's for sure ... :)
Rick Aug 11, 2018 @ 7:27pm 
Many thanks Astasia
I was unaware of the overhaul in b18/19 I'll have a look at the file myself also. However thank you greatly for the clearly constructed breakdown of the data. I appreciate it.
< >
Showing 1-3 of 3 comments
Per page: 1530 50

Date Posted: Aug 10, 2018 @ 10:36pm
Posts: 3