GamePress

I was reading the page about CpM (here: https://pokemongo.gamepress.gg/cp-multiplier), and I was curious where all those constants came from (I know they came from GameMaster, but how were they derived?), so I played a little with the provided formulas and I found that I can derive all the listed constants from just 5 numbers (which are CpM values for levels 1, 10, 20, 30, 40). I'm not sure if this is new, but I haven't seen the formula posted anywhere (I searched), so I'm posting it here. Maybe someone finds it useful.

Here are the CpMs for levels 1, 10, 20, 30, 40 (from the article):
CpM_1 = 0.094
CpM_10 = 0.42250001
CpM_20 = 0.59740001
CpM_30 = 0.7317
CpM_40 = 0.79030001

CpM for any other level, including half levels can be computed using this formula:
(CpM_n^2 - CpM_1^2) / (level_n - level_1) = (CpM_2^2 - CpM_1^2) / (level_2 - level_1)

... where:
CpM_n = constant we are looking for (CpM for given level n)
CpM_1 = CpM for nearest lower level (one of 1, 10, 20, 30)
CpM_2 = CpM for nearest higher level (one of 10, 20, 30, 40)
level_n = level of CpM we are looking for
level_1 = nearest lower level
level_2 = nearest higher level

So for example to compute CpM for level 16, the formula looks like this:
(CpM_16^2 - CpM_10^2) / (16 - 10) = (CpM_20^2 - CpM_10^2) / (20 - 10)
(CpM_16^2 - 0.42250001^2) / (16 - 10) = (0.59740001^2 - 0.42250001^2) / (20 - 10)
CpM_16 =~ 0.5343543 (which matches the value from GM)

The right side of the formula is also equivalent to CPMStep/2 (variable from the linked article).

The only unknown thing left is where do those 5 constants come from.

Asked by hnedka6 years 11 months ago
Report

Answers

In other words, cpM^2 is linear over the the level range 1-10, 10.5-20, 20.5-30, 30.5-40. This is known, you can see it when you power up, the cp gain is constant over these ranges, since the CP formula is proportional to cpM^2.

Up
0
Down

The GM file.

Up
0
Down

This is helpful to have. Thank you for sharing.

Up
0
Down