The Factoriopedia lists one “/m” rate for each asteroid type at a given position on a space route, but you clearly have to kill more asteroids as you go faster so it cannot be “per minute” (Factorio uses /m to mean per minute elsewhere in the game). However, it cannot mean metre either because you travel at many kilometres per second: you’d get thousands of asteroids per second per type! Searching through the forums, Lemmy, and reddit, I didn’t find an answer to this conundrum of space versus time
I’ve now gotten around to figuring out how the spawn rate varies :)
Method
- Let the ship fly at the indicated speed (V) for 10 minutes (plus margin, because the asteroids need a bit of time to move from spawn to the ship) between Solar System Edge and Shattered Planet
- Open the production stats window, set to 10 minutes, select the kills tab, and take a screenshot so that we can work with nonmoving values
- Calculate the ship’s average position, namely: position at time of screenshot minus (5 minutes × V km/s)
- Look up the expected spawn rate at that position by linearly interpolating between the nearest values in the Factoriopedia (they are precise to 40 km, so we know the value at 0km, …, 960km, 1000km, 1040km, etc.)
- Calculate the ratio between how many huge asteroids were killed per minute (per the kills graph) and how many huge asteroids should have spawned
- Plot that value on the graph as a percentage
Results
There seem to be two or three formulas in use: one for 10km/s and below (it appears as though this is in effect when your ship touches 10.xx km/s every few seconds, but that seems strange), one for a rapid but smooth transition (or maybe they blend the two other formulas together?), and then one for speeds above 15 km/s. The middle formula may also just be a blend of the other two, perhaps they average the result between 10 and 15 km/s (or apply a sigmoid or whatnot)
-
The formula for slow speeds seems to spawn 1.1x (or 10%) more asteroids as the speed doubles from 5 to 10 km/s (not many data points in this range; value is very approximate)
-
The formula for high speeds spawns about 1.5–1.7x more asteroids when you go 2x faster
The Factoriopedia value isn’t distance-based (one could think “/m” is a shorthand for “/10km” or so), because then it would have been 1:1 linear: when you cover twice as much distance per unit of time, the number of kills would double. It also isn’t time-based, because then the graph should have shown a flat line at 100%. It appears to be a derivative of your ship’s speed (and perhaps other factors, such as its width)
Sorry for the sparse data above 50 km/s btw. I had spent a bunch of time and already pretty much gotten the answer when I realised that I could go back to an earlier save and do the same thing for an easier section of the route where the ship can safely fly faster. I collected just these two data points and, when that also looked close enough to linear, called it “good enough” =)
Discussion/limitations
-
I wonder if the Factorio developers made Promethium much more common if you fly slow, to make it easier to collect for players that didn’t build a great ship
-
Not all asteroids that spawn get killed, so the graph must be wrong in absolute terms, i.e., the actual spawn rate is higher than what I calculate using the “killed” statistic. My railguns’ range about covers as far as the huge asteroids spawn out and I see that only a few on the edges (faded out, only visible when hovering over them) make it down the length of the ship, so the absolute number is probably not super far off. In any case, my personal goal was to figure out the relative number, not the absolute one
-
Yes, I know these speeds are rookie numbers compared to some of the things I see online. But it’s all my own work :). I purposefully don’t look at other designs in detail because the satisfaction of figuring it out is the point of the game for me. The “not invented here” syndrome is a problem for my workplace, not my gaming experience :D
Future work
A. I’m also curious how platform width affects the rates, but did not have time to design another ship for trying that out
B. Check that the results are identical on other routes
C. Check how it behaves at and below zero speed
Supplementary material
The Factoriopedia does not show the total spawn rate and so it’s hard to see what the difficulty is of each segment towards Shattered Planet. I’ve added a few data points to what I needed for the above calculation anyway and now we have the answer to that as well:
Spreadsheet with raw data for your enjoyment: https://lucgommans.nl/p/factorio/space-age-asteroid-spawn-rate-factoriov2.0.48.ods
Feel free to share the graphs or infos around, consider it CC-BY-SA or a similar flavor if you like ^^
That’s cool, but please label your axes!
Your first graph insinuates that there’s a constant spawn of prometheum asteriods before speed spawns anything. I wonder if that’s actually a baseline spawn or if promethium has a different speed multiplier to the other asteroids…
It also insinuates that the factoriopedia uses a baseline speed of 20km/s for it’s graphs. That could be tested on the other routes as well.
There may also be a limit on the number of asteroids allowed to exist at once. I wonder if how soon after spawning they are destroyed affects rates. This could be tested with a skinny long ship with a wide base, where asteroids are spawned at the front but not destroyed ontil they reach the wide rear.