Производство в час

Производство в час:
Металл:
30 * уровень * 1,1^уровень
Кристалл:
20 * уровень * 1,1^уровень
Дейтерий:
10 * уровень * 1,1^уровень * (-0,004*средняя температура+1,36 )
Солнечная электростанция:
20 * уровень * 1,1^уровень
Термоядерная электростанция:
30 * Уровень ТЭС * (1,05 + Уровень Энергетической технологии * 0,01) ^ Уровень ТЭС
Солнечный спутник:
округлить вниз(((максимальная температура) + 140) / 6) энергии

Потребление в час

Потребление в час:
Энергии на руднике по добыче металла:= 10 * уровень * 1,1^уровень
Энергии на руднике по добыче кристалла:= 10 * уровень * 1,1^уровень
Энергии на синтезаторе дейтерия:= 20 * уровень * 1,1^уровень
Дейтерия на термоядерной электростанции: = 10 * уровень * 1,1^уровень

Вместимость хранилищ

Вместимость хранилищ:
округлить вниз(2.5 * e ^ (20 * (уровень) / 33)) * 5'000

Солнечные спутники

Солнечные спутники:
(средняя температура +160)/6 (макс. 50 энергии со спутника)
Округление вниз до целого числа.

Поле обломков

Поле обломков:
50% металла и кристалла, потраченного на разбитый флот

Повышение стоимости зданий

Повышение стоимости зданий:
Рудник по добыче металла: 60*1,5^(уровень-1) металла и 15*1,5^(уровень-1) кристалла
Рудник по добыче кристалла: 48*1,6^(уровень-1) металла и 24*1,6^(уровень-1) кристалла
Синтезатор дейтерия: 225*1,5^(уровень-1) металла и 75*1,5^(уровень-1) кристалла
Солнечная электростанция: 75*1,5^(уровень-1) металла и 30*1,5^(уровень-1) кристалла
Термоядерная электростанция: 900*1,8^(уровень-1) металла и 360*1,8^(уровень-1) кристалла и 180*1,8^(уровень-1) дейтерия
Исследование гравитации: *3 на уровень
Остальные исследования и здания "стоимость 1-го уровня"*(2^(уровень-1))
Пояснение:
60-стоимость 1-го уровня металла (металл)
15-стоимость 1-го уровня металла (кристалл)

Общие затраты

Общие затраты:
Рудник по добыче металла: 60*(1-1,5^уровень)/(-0,5) металла 15*(1-1,5^уровень)/(-0,5) кристалла
Рудник по добыче кристалла: 48*(1-1,6^уровень)/(-0,6) металла и 24*(1-1,6^уровень)/(-0,6) кристалла
Синтезатор дейтерия: 225*(1-1,5^уровень)/(-0,5) металла и 75*(1-1,5^уровень)/(-0,5) кристалла
Солнечная электростанция: 75*(1-1,5^уровень)/(-0,5) металла и 30*(1-1,5^уровень)/(-0,5) кристалла
Термоядерная
электростанция: 900*(1-1,8^уровень)/(-0,8) металла и 360*(1-1,8^уровень)/(-0,8) кристалла и 180*(1-1,8^уровень)/(-0,8)
дейтерия
Все остальные здания - "стоимость 1-го уровня"*((2^уровень)-1)

Радиус действия сенсорной фаланги

Радиус действия сенсорной фаланги:
(уровень фаланги)^2 - 1

Дальность полёта межпланетных ракет

Дальность полёта межпланетных ракет:
5*уровень импульсного двигателя - 1

Скорость полёта межпланетных ракет

Скорость полёта межпланетных ракет
Полёт внутри системы - 30 секунд, независимо от позиции.
При полёте в другую систему добавляйте к этим 30 секундам 1 минуту полёта за каждую систему. Т.е., полёт в соседнюю систему - 1 минута 30 сек.

Расчёт времени строительства зданий

Расчёт времени строительства зданий:
Время
в часах = (металл+ кристалл) / (2500 * MAX ( (4 - (level / 2)), 1) * (1+ (уровень фабрики роботов)) * (2 ^ (уровень фабрики нанитов)))
Внимание:фабрика нанитов, лунная база, сенсорная фаланга и ворота использовать формулу без MAX и так формула выглядит:
Время в часах = (металл+ кристалл) / (2500 * (1 + (уровень фабрики роботов)) * (2 ^ (уровень фабрики нанитов)))
пример:
метал с 1 на 2 уровень.
Время в часах = (90+22)/(2500*MAX ((4-(2/2)), 1)* (1+0)*(2^(0))) =112/2500*MAX ((3),1)*1*1= 112/2500*3=0.0.149часа=round(53,76)секунды=54,
Округление до целого числа.

Расчёт времени строительства кораблей и зашиты

Расчёт времени строительства кораблей и зашиты:
Время в часах = (кристалл+металл)/ (2'500 * (1 + (уровень верфи)) * (2 ^ (уровень фабрики нанитов)))
Как видно из двух вышеприведённых формул, фабрика нанитов уменьшает вдвое время строительства.

Расчёт времени исследований

Расчёт времени исследований:
Время в часах = сумма(металл+кристалл) / (1000*(1+уровень лаб.))

Стоимость уменьшения строительства(исследования) вдвое/завершить

Стоимость уменьшения строительства(исследования) вдвое/завершить:
черная материя= 750 * округление вверх(общее время постройки * 2)
Максимальная сумма для построек,кораблей и обороны : 72000ТМ (2дня) и для исследований 108000ТМ (3дня)

Сокращение времени полёта

Сокращение времени полёта:
10% на уровень реактивного двигателя (для мал. и бол. транспортов, лёгких истребителей, переработчиков, зондов)
20% на уровень импульсного двигателя (для тяж. охотников, крейсеров, колонизаторов и бомбардировщиков)
30% на уровень гиперпространственного двигателя (для линкоров, уничтожителей и звёзд смерти)
Обратите внимание, что здесь берутся проценты от начальной скорости. Экономия времени при коротких полётах составляет пару минут (при сниженной скорости немного больше) и едва окупается.

Защита для новичков

Защита для новичков:
Защита для новичков действует, когда у одного или двух игроков, желающих друг друга атаковать, менее 500 очков. Если у игрока А больше, чем 500% очков игрока Б, соотв. у игрока Б меньше 20% очков игрока А, и минимум игрок Б имеет меньше 5 000 очков, то атака между этими гроками невозможна.

Шпионаж

Шпионаж:
Защита от шпионажа в % на расположенную единицу
Разница в уровне шпионажа в % на расположенную единицу
. ..
. .
-2 0,0625
-1 0,125
0 0,25
1 0,5
2 1
. .
. .

Негативная разница (собственный уровень шпионажа выше, чем у противника): 0,25/(разница*-1*2)
Позитивная разница (собственный уровень шпионажа ниже, чем у противника): 0,25*(разница*2)

Время полёта(в секундах)

Время полёта (в секундах)
Внутри системы:
10 + (35.000 / %скорости * ((1.000.000 + (количество планет) * 5.000) / скорость) ^ 1/2)
Между системами:
10 + (35.000 / %скорости * ((2.700.000 + (количество систем) * 95.000) / скорость) ^ 1/2)
Между галактиками:
10 + (35.000 / %скорости * (((количество галактик) * 20.000.000) / скорость) ^ 1/2)
И несколько особенностей, связанных с расстоянием:
При перелёте между системами, позиции планет не влияют на дальность и время полёта.
То же касается и систем при перелёте между галактиками.
В связи с этим, полёты через 184 систем и больше длятся дольше, чем перелёт в соседнюю галактику. Полёт через 394 системы и больше длятся дольше, чем полёт в соседнюю галактику с возвратом. Поэтому при перестационировании флота дальше чем за 393 системы выходит быстрее лететь на колонию в соседней галактике, а оттуда "возвращаться" на колонию в изначальной галактике, которая удалена от первой планеты на 394 системы и больше.

Стоит заметить что в Kallisto скорость полётов идёт х2

Формула захвата ресурсов при атаке планет

Формула захвата ресурсов при атаке планет:
Учитывайте, что при атаке вы можете забрать не более половины имеющихся на планете ресурсов.
Например, при нападении на планету, где лежат 20.000 металла, 20.000 кристалла и 10.000 дейтерия, вы сможете получить максимум 25.000 единиц ресурсов {(20к+20к+10к)/2}. Металла в трюмы не помещается более 2/3 грузоподъёмности флота.
Вот схема так называемого "алгоритма грабежа", согласно которому захватываются ресурсы:
1. Треть грузоподьёмности флота заполняется металлом.
2. Половина оставшегося объема заполняется кристаллом.
3. Остаток заполняется дейтерием.
4. Если всё ещё остаётся свободное место, половина доступного объема заполняется металлом.
5. Оставшийся объем заполняется кристаллом.

Сбор поля обломков переработчиками

1.m = cargo / 2;
2.if ( dm < m) m = dm;
3.cargo -= m;
4.k = cargo;
5.if ( dk < k) k = dk;
6.cargo -= k;
7.if ( cargo < 0 ) cargo = 0;
8.m2 = cargo;
9.if ( ( dm-m) < m2 ) m2 = dm - m;
10.m += m2;

dm, dk - количество металла и кристалла в поле обломков
m, k - собрано металла и кристалла
cargo - свободное место для сбора лома (грузоподъемность)

cargo вычисляется следующим образом :
ГрузоподъемностьФлота
= ГрузоподъемностьВсегоФлота - (ТранспортируемыйМеталл +
ТранспортируемыйКристалл + ТранспортируемыйДейтерий)
ГрузоподъемностьРабов = КоличествоРабов * 20000
cargo = min ( ГрузоподъемностьФлота, ГрузоподъемностьРабов )

Защита от шпионажа

уровень = УровеньШпионажаАтакующего - УровеньШпионажаОбороняющегося (учитывается Технократ)
уровень = уровень * abs(уровень) - 1 + КоличествоКораблейАтакующего
структура = БазоваяСтруктураФлота / 1000 / 400
c = sqrt ( pow (2,(КоличествоКораблейАтакующего-(уровень+1))) ) * (структура * sqrt (КоличествоКораблейОбороняющегося)*5)
if (c > 2) c = 2
c = rand (0, c*100) / 100
if (c < 0) c = 0
if (c > 1) c = 1
ШансЗащиты = c * 100 (%)
БазоваяСтруктураФлота - это стоимость флота атакаующего игрока, не учитывая дейтерий.
Если ( уровень > 0 ) Показать флот
Если ( уровень > 1 ) Показать оборону
Если ( уровень > 3 ) Показать постройки
Если ( уровень > 5 ) Показать исследования
Если ( rand(0, 100) < ШансЗащиты ) Флот ввязывается в бой
(по этой причине иногда шпионские зонды не сбиваются даже если шанс защиты от шпионажа = 100, потому что условие 100 < 100 не выполняется)

Алгоритм распределения Главных планет

Алгоритм распределения Главных планет
PPG = КоличествоСистемВГалактике * 15 (количество планет в галактике)

1. Создается пустой массив PLANETS, размером КоличествоГалактик * PPG ( обычно он получается размером 9 * 499 * 15 = 67365 )
2. Из базы выбираются все планеты, для каждой планеты с координатами
[G:S:P] в массиве PLANETS делается пометка что позиция занята :
PLANETS[ (G - 1) * PPG + (S - 1) * 15 + (P - 1) ] = 1
3. Прогоняется весь массив PLANETS от 0 до КоличествоГалактик * PPG с шагом 1.3 и если запись пустая, то на позиции [G:S:P] создается Главная планета нового игрока.

G = floor ( n / PPG ) + 1
d = n - (G - 1) * PPG
S = floor (d/15) + 1
P = d % 15 + 1
(n - итератор цикла типа float)
Если на позиции находится поле обломков (даже виртуальное) или луна, то позиция считается занятой.

Картинки планет и лун

Картинки планет и лун:
Номер картинки = (система + планета) % 10 + 1. Галактика не учитывается.
Тип картинки зависит от четности номера системы и позиции планеты. В четных системах одна последовательность, в нечетных - другая:
3*desert + 2*dry + 2*normal + 2*jungle + 2*water + 2*ice + 2*gas
3*dry + 2*normal + 2*jungle + 2*water + 2*ice + 2*gas + 2*normal

Для лун : номер = система % 5 + 1. Галактика не учитывается.

Стоимость Астрофизики

Стоимость Астрофизики
Металл = 100 * floor ( 0.5 + 40 * pow (1.75, уровень-1) )
Кристалл = 100 * floor ( 0.5 + 80 * pow (1.75, уровень-1) )
Дейтерий = 100 * floor ( 0.5 + 40 * pow (1.75, уровень-1) )

Алгоритм ракетной атаки

Алгоритм ракетной атаки
Ракетная атака проводится в 3 стадии:
1. Количество МПР уменьшается на количество перехватчиков. Если после этого остались ещё МПР, то выполняется 2я и 3я стадии.
Рассчитывается максимальное количество урона = Кол-во оставшихся МПР * 12000 * (1 + 0,1 * ОружейнаяТехнологияАтакера)
2. Если первичная цель не указана, то переходим на 3ю стадию. Иначе производится атака первичной цели:

1.БроняЮнита = СтруктураЮнита * (1 + 0.1 * ТехнологияБрониДефа) / 10
    2.Количество уничтоженных юнитов = min ( floor ( Максимальный урон / БроняЮнита), Количество юнитов )
    3.Максимальный урон = Максимальный урон - Количество уничтоженных юнитов * БроняЮнита
    4.Максимальный урон = Максимальный урон - Количество уничтоженных юнитов

Последнее действие выполняет роль случайного элемента, поэтому иногда кажется что ракетные атаки "какие-то глючные"
3. Если после атаки первичной цели ещё осталось урона (или она не указана), то выполняется 3я стадия:

1.Производятся выстрелы по очереди - от ракетной установки и до межпланетных ракет дефа включительно
    2.Исключается тип обороны, который был указан как первичный и если количество юнитов равно 0 (такой обороны нет)
    3.Если после очередного выстрела макс. урона больше не осталось (урон <= 0), то обстрел завершается
    4.Количество уничтоженных юнитов расчитывается аналогично первичной цели.

Порядок выстрелов по обороне приводит к тому, что межпланетные ракеты противника уничтожаются в последнюю очередь.

Вместимость хранилищ

Вместимость хранилищ:
округлить_до_меньшего_целого_[2,5 * e ^ (20 * уровень / 33)] * 5000
в русифицированном Экселе: =ОКРВНИЗ(2,5*EXP(20*[уровень]/33);1)*5000