Время исследования:
У каждой технологии есть базовая стоимость по времени. Она кратна стандартной базовой стоимости в 110 дней.
Скорость исследования:
Базовая стоимость исследования — это время, необходимое для изучения конкретной технологии. На практике эта стоимость, скорее всего, будет меняться в зависимости от применяемых модификаторов исследования (в лучшую или худшую сторону).
Модификаторы скорости исследования суммируются с базовой скоростью исследования (а не вычитаются из стоимости исследования). Например, базовая стоимость в 110 дней при бонусе к скорости исследования в 15 % составит:
[ 110 / (1 + 15%) ] = 96 дней
«Сохранённые дни» вычитаются из изменённого ожидаемого количества дней. Таким образом, «Сохранённые дни» получают выгоду (или страдают) от тех же модификаторов скорости исследования.
Совокупный бонус за исследования рассчитывается и обновляется каждый день. Таким образом, изменения в скорости исследований (за исключением бонусов с ограниченным сроком действия) применяются ко всем текущим исследованиям.
Скорость исследования не может быть ниже 10 % от стандартной скорости.
Модификаторы исследования:
В зависимости от уровня сложности игры игрок может получить бонус или штраф к скорости исследования:
- Гражданский: +15% бонус
- Новобранец: +7% бонус
- Обычный: без бонусов и штрафов
- Ветеран: –15% штраф
- Элита: –30% штраф
Торговое право:
Торговые законы также могут ускорить процесс исследования. Чем более открыта торговля, тем выше коэффициент снижения, как показано ниже.
- Свободная торговля: бонус +10%
- Экспортный фокус: бонус +5%
- Ограниченный экспорт: бонус +1%
Бонусы с ограниченным сроком действия:
Бонусы с ограниченным сроком действия предоставляются национальными центрами. После получения бонус с ограниченным сроком действия активируется, когда исследовательский слот назначается для соответствующей технологии. После активации бонус с ограниченным сроком действия привязывается к технологии, даже если слот переназначается. Однако игра предоставляет льготный период в 3 дня, чтобы можно было переназначить бонус на другую соответствующую технологию с тем же слотом.
Бонус с ограниченным сроком действия может дополнительно выступать в качестве премиального бонуса, уменьшая размер премиального штрафа на указанную сумму.
Лицензирование оборудования:
При лицензировании оборудования из другой страны исследователь этого оборудования получает бонус за скорость в размере 20%.
Обмен технологиями:
Когда страна входит в исследовательскую группу, она получает бонус к скорости исследования за каждую страну в группе, которая уже освоила эту технологию, до 50 %. Бонус за совместное использование технологий действует так же, как и бонус за ограниченное использование: после применения бонус привязывается к технологии; изменения в ситуации с совместным использованием технологий в стране будут отражаться только на будущих исследованиях. Субъекты могут получать меньше преимуществ от совместного использования технологий в зависимости от их автономности.
Штраф за досрочное завершение:
Ко всем технологиям прикреплена дата, когда они становятся актуальными. Их более раннее изучение происходит за счет снижения скорости исследований. За каждый год досрочного освобождения начисляется штраф на 200% за досрочное освобождение (AOT). Досрочные бонусы от национальных фокусов могут уменьшить этот модификатор штрафа. Чтобы провести исследование заранее, во всплывающей подсказке в игре отображается расчетное время до завершения, используя приведенную ниже формулу.
На исследование технологии, которое начинается за T лет до того, как она станет актуальной, при базовой стоимости исследования в N дней и совокупном бонусе к исследованию в B% потребуется:
365 * ( T + (1 / AOT) ) * ( 1 - e^(((-AOT * N) / 365) * (1 / (1 + B%))))))
дней, где AOT = 2 без каких-либо штрафных сокращений за национальные приоритеты. Предполагается, что исследование начинается со скоростью выше минимальной и заканчивается до того, как технология становится актуальной. Также допускается небольшая погрешность аппроксимации (вряд ли заметная в игре). Формула получена путём решения следующего интегрального уравнения для t (в днях):
N = 365 * int_0^t [ (1 + B%) / (AOT * (T - (x / 365)) + 1) ] dx
- (N / 365) * (1 / (1 + B%)) = int_0^t [ 1 / (AOT * (T - (x / 365)) + 1) ] dx
- (N / 365) * (1 / (1 + B%)) = ( ln(AOT * T + 1) - ln(AOT * (T - (t / 365)) + 1) ) / AOT
- (AOT * N / 365) * (1 / (1 + B%)) = ln( (AOT * T + 1) / (AOT * (T - (t / 365)) + 1) )
- e^( - (AOT * N / 365) * (1 / (1 + B%)) ) = ( AOT * (T - (t / 365)) + 1 ) / (AOT * T + 1)
- (T + (1 / AOT)) * e^( - (AOT * N / 365) * (1 / (1 + B%)) ) = T - (t / 365) + (1 / AOT)
- t / 365 = T + (1 / AOT) - (T + (1 / AOT)) * e^( - (AOT * N / 365) * (1 / (1 + B%)) )
- t = 365 * (T + (1 / AOT)) * ( 1 - e^( - (AOT * N / 365) * (1 / (1 + B%)) ) )
Если часть исследования не подпадает под штрафные санкции (т. е t > 365T в приведённом выше уравнении), то расчётное время до завершения при AOT, равном 2, составляет:
365 * ( T + (N / (365 * (1 + B%))) - (ln(2 * T + 1) / 2) )
Например, ровно за год до того, как технология становится актуальной, скорость её исследования увеличивается в 1/3. Поскольку скорость исследования пересчитывается каждый день, штраф за скорость уменьшается по мере исследования технологии. Через полгода штраф снижается до 1/2. Обычные модификаторы скорости исследования применяются линейно. Таким образом, обычный бонус за исследование в масштабах страны не уменьшает штрафы за AOT. Если активен бонус за досрочное выполнение задания на 50 %, как показано во внутриигровой подсказке, штраф за досрочное выполнение задания уменьшается на 0,5. Таким образом, при досрочном выполнении задания на 1 год скорость исследования изменяется на:
1 / ((2 * 1 - 50%) + 1) = 2/5
вместо 1/3 без бонуса; аналогично, при досрочном выполнении задания на полгода штраф за досрочное выполнение задания уменьшается с:
1 / ((2 * 0.5 - 50%) + 1) = 2/3
до 1/2 без бонуса.
Скрипт на Python:
Ниже приведён скрипт на Python для расчёта времени, необходимого для исследования технологии, с учётом её базовой стоимости, бонусов и штрафа за время ожидания.
res_perc = 0,0
time = 0
base = 170 # Базовая стоимость
bonus = 0,34 # Бонус за скорость исследования
aot = 0,47 # Штраф за опережение (не на годы)
base /= 1+bonus
while res_perc<1:
res_perc += 1/base/(1+aot)
aot -= 2/365
if aot<0: aot = 0
time += 1
print(time) # Выводит общее затраченное время