I'm looking at the CPA code at the moment (related to an expansion plot) and am rejiggering some very old timing code to be a bit more malleable (the current timings are fine for the normal case, just so I can tweak for plots, etc) and due to how the randomization is done I'm not 100% sure what the practical results of what I'm seeing would be. So I wanted to check if my guess is actually what y'all generally see so I don't accidentally change the timing during the refactor.
From the code I can see that:
On Diff 7, the minimum time to the first CPA (and the minimum time between CPAs) is 3 hours, 12 minutes.
On Diff 8, it's 2 hours, 48 minutes.
On Diff 9, it's 2 hours, 24 minutes.
On Diff 10, it's 2 hours.
But that's only the theoretical minimum because once that threshold is reached it actually just gets to make a random roll every 90 seconds from (minimum) to (minimum*4), and if the time since the last CPA (or the beginning of the game, if no CPA has launched) is greater than the roll it announces the CPA (which launches when that visible timer runs out).
So on if the first roll is exactly on the minimum threshold there's actually zero chance of it announcing; exactly 90 seconds later it would get a second roll with some chance. On Diff 7 it would be rolling a number between 11520 and 46080, and would only proceed if the result were less than 11610. Or more simply it's rolling 0 to 34560 and hoping for less than 90. That's roughly a 0.26% chance, I believe. If it misses that, 90 seconds later it rolls again with a 0.52% chance, etc.
On diff 7, your cumulative chance (from the perspective of "before I make the first roll") of having a cpa is roughly 50% about 36 minutes after reaching the minimum, or a total interval of 3 hours, 48 minutes.
It's roughly 75% at 49 minutes after reaching the minimum, or a total interval of very nearly 4 hours.
It's roughly 90% at 63 minutes after the minimum, or a total interval of 4 hours, 15 minutes.
Those numbers squeeze closer together for the higher difficulties as the denominator on the rolls goes down (34560 on diff 7, 21600 on diff 10, linearly interpolated between I believe).
Anyway, my questions are:
1) Does this accurately describe what you're observing in the game?
2) Does this level of variation feel ok? Would you prefer it to be less random? More random? (not that I'd really be ok with making it all that more, but may as well know what people think).