[1.0.0] Something wrong with evolution progression.
Posted: Wed Sep 23, 2020 9:09 am
After looking into how the evolution progresses something seemed wrong.
All below checked and calculated for time evolution set to 200 and all other to 0.
From what I have read on the Factorio wiki, every second evolution factor is increased by time_factor divided by progression factor ( 1 - enemy_evolution ), so:
enemy_evoluton(tick) = enemy_evolution(tick-60) + time_factor * [ 1 - enemy_evolution(tick-60) ],
after a bit of simplification we have:
enemy_evoluton(tick) [%]= 100 * [ 1 - ( 1 - time_factor ) ^ ( tick / 60 ) ].
Here is my predicament. As you can see from the table below, calculated enemy_evolution (ee-calc) is getting more and more inaccurate from the real in game enemy_evolution (ee-game).
Why is that? Is there some kind of bug in the game code?
hr:mm__tick________ee-calc[%]__ee-game[%]
0:01____3600_______0.1199______0.1198
0:02____7200_______0.2397______0.2394
0:03____10800______0.3594______0.3587
0:04____14400______0.4789______0.4777
0:05____18000______0.5982______0.5964
0:06____21600______0.7174______0.7148
0:07____25200______0.8365______0.833
0:08____28800______0.9554______0.9508
0:09____32400______1.0742______1.0684
0:10____36000______1.1928______1.1857
0:20____72000______2.3715______2.3437
0:30____108000_____3.5360______3.4749
0:40____144000_____4.6867______4.5802
0:50____180000_____5.8236______5.6604
1:00____216000_____6.9470______6.7165
1:30____324000_____10.2373_____9.7474
2:00____432000_____13.4113_____12.5876
2:30____540000_____16.4731_____15.2544
3:00____648000_____19.4266_____17.7634
3:30____756000_____22.2757_____20.128
4:00____864000_____25.0241_____22.3605
4:30____972000_____27.6752_____24.4716
5:00____1080000____30.2326_____26.4709
5:30____1188000____32.6996_____28.3671
6:00____1296000____35.0793_____30.1679
6:30____1404000____37.3749_____31.8804
7:00____1512000____39.5894_____33.5109
7:30____1620000____41.7255_____35.0652
8:00____1728000____43.7861_____36.5485
8:30____1836000____45.7738_____37.9656
9:00____1944000____47.6912_____39.3207
9:30____2052000____49.5409_____40.6179
10:00___2160000____51.3251_____41.8608
10:30___2268000____53.0463_____43.0527
11:00___2376000____54.7066_____44.1967
11:30___2484000____56.3081_____45.2957
12:00___2592000____57.8531_____46.3522
12:30___2700000____59.3434_____47.3687
13:00___2808000____60.7810_____48.3474
13:30___2916000____62.1678_____49.2904
14:00___3024000____63.5056_____50.1995
14:30___3132000____64.7960_____51.0766
15:00___3240000____66.0408_____51.9234
All below checked and calculated for time evolution set to 200 and all other to 0.
From what I have read on the Factorio wiki, every second evolution factor is increased by time_factor divided by progression factor ( 1 - enemy_evolution ), so:
enemy_evoluton(tick) = enemy_evolution(tick-60) + time_factor * [ 1 - enemy_evolution(tick-60) ],
after a bit of simplification we have:
enemy_evoluton(tick) [%]= 100 * [ 1 - ( 1 - time_factor ) ^ ( tick / 60 ) ].
Here is my predicament. As you can see from the table below, calculated enemy_evolution (ee-calc) is getting more and more inaccurate from the real in game enemy_evolution (ee-game).
Why is that? Is there some kind of bug in the game code?
hr:mm__tick________ee-calc[%]__ee-game[%]
0:01____3600_______0.1199______0.1198
0:02____7200_______0.2397______0.2394
0:03____10800______0.3594______0.3587
0:04____14400______0.4789______0.4777
0:05____18000______0.5982______0.5964
0:06____21600______0.7174______0.7148
0:07____25200______0.8365______0.833
0:08____28800______0.9554______0.9508
0:09____32400______1.0742______1.0684
0:10____36000______1.1928______1.1857
0:20____72000______2.3715______2.3437
0:30____108000_____3.5360______3.4749
0:40____144000_____4.6867______4.5802
0:50____180000_____5.8236______5.6604
1:00____216000_____6.9470______6.7165
1:30____324000_____10.2373_____9.7474
2:00____432000_____13.4113_____12.5876
2:30____540000_____16.4731_____15.2544
3:00____648000_____19.4266_____17.7634
3:30____756000_____22.2757_____20.128
4:00____864000_____25.0241_____22.3605
4:30____972000_____27.6752_____24.4716
5:00____1080000____30.2326_____26.4709
5:30____1188000____32.6996_____28.3671
6:00____1296000____35.0793_____30.1679
6:30____1404000____37.3749_____31.8804
7:00____1512000____39.5894_____33.5109
7:30____1620000____41.7255_____35.0652
8:00____1728000____43.7861_____36.5485
8:30____1836000____45.7738_____37.9656
9:00____1944000____47.6912_____39.3207
9:30____2052000____49.5409_____40.6179
10:00___2160000____51.3251_____41.8608
10:30___2268000____53.0463_____43.0527
11:00___2376000____54.7066_____44.1967
11:30___2484000____56.3081_____45.2957
12:00___2592000____57.8531_____46.3522
12:30___2700000____59.3434_____47.3687
13:00___2808000____60.7810_____48.3474
13:30___2916000____62.1678_____49.2904
14:00___3024000____63.5056_____50.1995
14:30___3132000____64.7960_____51.0766
15:00___3240000____66.0408_____51.9234