Jump to content

Research stations have inconsistent efficiency bonus modifiers


hydrotoast
  • Branch: Live Branch Version: Windows Pending

Summary.

The efficiency bonus modifiers on research speed (e.g. science attribute, lit workspace, lab workspace, and others) have 1/3 effect compared to displayed tooltips.

Consider the displayed modifiers on tooltips for three bonuses on research speed.

  • dupe science attribute +40% / attribute-level
  • lit workspace +15%
  • lab workspace +10%

The actual observed effects are as follows.

  • dupe science attribute +13.33% / attribute-level
  • lit workspace +5%
  • lab workspace +3.33%

The affected buildings include:

  • Research Station (tested);
  • Super Computer (untested, determined from code);
  • Virtual Planetarium (untested, determined from code);

The Materials Science Research Station may be affected, but it consumes input material (radbolts) differently, so we have not investigated it deeply.

Technical Details.

The initial analysis was conducted by @walids where a regression model was fit to the observed consumption rate of input material in research stations depending on various conditions (e.g. science attribute, lit workspace, lab workspace). From the regression model, we observed that the bonus modifiers were consistently 1/3 as expected.

Further investigations into the decompiled code showed that there was a hidden bonus of +200% hardcoded into research stations (in the ResearchCenter component), which explains why all other bonus modifiers have 1/3 effect.

Given a baseRate for consumption and the totalBonus as the sum of the bonus modifiers (e.g. 0.25 = 0.1 + 0.15 for both lit workspace and lab workspace), then the actual consumptionRate is given as follows.

// research material in kg/s
consumptionRate = baseRate * (1 + 2.00 + totalBonus)

Note that the constant 2.00 represents the hidden bonus modifier of +200%. We can reformulate the consumptionRate such that the baseRate includes the hidden modifier.

// research material in kg/s
consumptionRate = baseRate * (1 + 2.00 + totalBonus)
    = 3 * (1/3) * baseRate * (1 + 2.00 + totalBonus) // by multiplicative identity.
    = (3 * baseRate) * ((1/3) * (3 + totalBonus)) // by commutativity.
    = (3 * baseRate) * (1 + totalBonus/3) // distribute and simplify.

Observe that the totalBonus will have 1/3 of its intended value and that baseRate is scaled to be 3x larger.


Steps to Reproduce

Methodology.

We expect bonus modifiers to apply additively relative to a baseRate. For the efficiency bonuses (science attribute, lit workspace, and lab workspace), the expected baseRate would be a dupe working at a research station (with zero science attribute, without light, in a nonlab room).

In the following experiment based on the regression analysis by @walids, we determine the research speed baseRate and the effect of each bonus modifier by measuring the consumption rate of the input material (dirt for research stations). The experiment is arranged as four independent test columns:

  1. Meep (science=0, nonlit, nonlab) to define our baseRate;
  2. Nikola (science=5, nonlit, nonlab);
  3. Frankie (science=0, lit, nonlab);
  4. Ellie (science=0, nonlit, lab);

The experiment is shown in the following video.

Results.

From left-to-right, the consumption rate of dirt are as follows.

  1. Meep (science=0, nonlit, nonlab) using dirt at 3.333 kg/s (defines our baseRate);
  2. Nikola (science=5, nonlit, nonlab) using dirt at 5.600 kg/s is less than the expected 10 kg/s = 3.333 * (1 + 0.4 * 5);
  3. Frankie (science=0, lit, nonlab) using dirt at 3.500 kg/s is less than the expected 3.666 kg/s = 3.333 * (1 + 0.15);
  4. Ellie (science=0, nonlit, lab) using dirt at 3.4444 kg/s is less than the expected 3.833 kg/s = 3.333 * (1 + 0.15);

Observe that the effect of each bonus modifier is less than expected. Specifically, the bonus modifier for science attribute, lit workspace, and lab workspace has 1/3 effect as +13.33% / +5% / +3.33 respectively:

  • Nikola (science=5, nonlit, nonlab) using dirt at 5.600 kg/s = 3.333 * (1 + 0.133 * 5) kg/s;
  • Frankie (science=0, lit, nonlab) using dirt at 3.500 kg/s = 3.333 * (1 + 0.05) kg/s;
  • Ellie (science=0, nonlit, lab) using dirt at 3.4444 kg/s = 3.333 * (1 + 0.033) kg/s;

Hence, the efficiency bonus modifiers for research speed are applied inconsistently relative to their displayed effect.

Notes.

  • these results have been confirmed in experiments by @KGello
  • the measured baseRate of 3.333 kg/s measured here is scaled version as (3 * baseRate) from the Technical Details section
  • the true baseRate defined in the decompiled constants appears to be 1.111 kg/s, but this would never be observable otherwise
  • Like 1
  • Thanks 1
  • Big Ups 1



User Feedback


There are no comments to display.



Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×
  • Create New...