[1.0.0] Something wrong with evolution progression.

Bugs that are actually features.
Post Reply
User avatar
irbork
Fast Inserter
Fast Inserter
Posts: 239
Joined: Fri Jul 04, 2014 1:17 pm
Contact:

[1.0.0] Something wrong with evolution progression.

Post by irbork »

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

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2240
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [1.0.0] Something wrong with evolution progression.

Post by boskid »

Not likely that would change because it could change the whole balance of the game.

Just curious, could you redo you math assuming `[ 1 - enemy_evolution(tick-60) ]` factor is taken as a square? That is: `[1 - enemy_evolution(tick-60)]^2`

-- edit:
15h mark:
89734.png
89734.png (5.83 KiB) Viewed 1107 times

-- edit:
I went through all the changes and it looks it works as intended. 0.13.0 (>4y ago) changelog:

Code: Select all

    - Changed the way evolution factor approaches the maximum (1).
      The addition of evolution factor was changed from addition * (1 - evolution) to addition * (1 - evolution)^2
      This means that the progress gets more slower towards the high values.

User avatar
irbork
Fast Inserter
Fast Inserter
Posts: 239
Joined: Fri Jul 04, 2014 1:17 pm
Contact:

Re: [1.0.0] Something wrong with evolution progression.

Post by irbork »

That explains things.
Does that include pollution and destroy factors?

This is how it is said on wiki and what made me calculate wrong:
The percentages are applied on the base of (1 - current_evolution_factor). So for instance destroying enemy spawners in the beginning of the game results in increase of evolution factor by 0.005 (half a percent) while doing this when the evolution factor is 0.5 the increase is only 0.0025 (quarter a percent).
So it would be better if it was changed to - ...base of (1 - current_evolution_factor)^2
and if it affects destroy factor - ...is 0.5 the increase is only 0.00125 (eighth a percent)

User avatar
boskid
Factorio Staff
Factorio Staff
Posts: 2240
Joined: Thu Dec 14, 2017 6:56 pm
Contact:

Re: [1.0.0] Something wrong with evolution progression.

Post by boskid »

It applies to all 3 sources of evolution increase: pollution, time and kills. I let Bilka know to update the wiki.

Bilka
Factorio Staff
Factorio Staff
Posts: 3128
Joined: Sat Aug 13, 2016 9:20 am
Contact:

Re: [1.0.0] Something wrong with evolution progression.

Post by Bilka »

The wiki has been fixed.
I'm an admin over at https://wiki.factorio.com. Feel free to contact me if there's anything wrong (or right) with it.

Post Reply

Return to “Not a bug”