Jump to content


Photo

Расчет производительности рудников (Classic)


1 reply to this topic

#1 Kpuk_

Kpuk_

    Рейдер

  • Пользователь
  • 256 posts
  • Вселенная:RU
  • Альянс:Limited Edition
  • Тип игры:Атакер

Posted Today, 11:19

Не хочешь, чтобы твои труды слили в общий доступ без твоего ведома - слей сам.

 

Всем доброго времени суток, сегодня речь пойдет про производство шахт на наших и ваших планетах, как ее высчитать и как получаются те цифры, что мы видим по итогу на наших аккаунтах.
Для начала нужна оговорка, я не взломал код игры, не использовал ПО и прочие ухищрения для получения формулы, что будет представлена в ходе данного топика. Вся информация была получена лишь с открытых источников и просчитана с помощью математики и ее методов.

 

Начнем с основ, расчет производительности на планете можно поделить на 2 этапа:

  1. Этап создания планеты, определения ее позиции, температуры и итоговой добычи рудника
  2. Этап добавления к добыче рудника бонусов

Этап №1

Данный эпат нужен лишь для общего понимания, и не обязательно заниматься этими вычислениями, так как конечный итог даст вам Игра на вкладке сырье, либо во вкладке с самим рудником!

В момент когда вы создаете планету или переносите на конкретные координаты, идет процесс высчитывания температуры.

Прежде чем считать ее, давайте поймем - для чего она нужна? Все очень просто, от нее зависит базовая добыча Дейтерия.
Температура зависит от позиции планеты, и всегда (по моим наблюдениям) имеет разницу между максимальной и минимальной -  в 40°C
То есть температура может быть
Максимально холодной -  от -290°C до -240°C
Максимально горячей - от +265°C до +305°C

Из открытых источников я узнал, что есть следующая формула где-то в коде игры стандартных Ogame игр:

$production = floor(10 * $level * pow(1.1, $level) * (1.44 - 0.004 * $max_temp) * $universe_speed);

Где:

  • floor - округление в меньшую сторону
  • level - уровень рудника
  • pow - степень
  • max_temp - максимальная температура на пленете
  • universe_speed - скорость вселенной (на главной странице указано х3000, но мы ее не будет использовать, так как она недостоверна)

Она определяет какая добыча Дейтерия будет на планете.

Давайте рассмотрим ее подробней без всякого кода, лишь воспользовавшись следующими константами

  • 1.44 — фиксированное значение смещения (offset).
  • 0.004 — множитель температуры.

Начнем с поиска базовой температуры, с которой коэффициент прироста добычи равен единице.

В коде игры используется следующая формула температурного множителя:


K = 1.44 - 0.004 * T

Исходя из формулы - базовая температура (максимальная в диапазоне у планеты) -  +110°C

K = 1.44 - 0.004*110 = 1.44-0.44 = 1,0

Где:

  • K - коэффициент эффективности, с помощью которого определяется какой прирост к Базовой добыче будет у рудников

Вычислим коэффициент для максимально холодной планеты в -250°C :

K = 1.44 - 0.004*(-250)=2,44

Вычислим коэффициент для максимально горячей планеты :

K = 1.44 - 0.004*(265)=0,38

Исходя из этого, можно сделать вывод - производство дейтерия на планете будет больше на самой холодной планете то есть от -290°C до -240°C.

Как рассчитать максимальную добычу для своего уровня рудника?
Начнем с расчета шага для изменения температуры в 1°C, Для этого нужно взять 2 планеты, на них посмотреть текущую добычу и текущую максимальную температуру, и используя формулу - найти шаг изменения добычи:

Screenshot_2.png

Где:
  • Pcold —Добыча в час на более холодной планете (где число дейтерия больше).
  • Pwarm —Добыча в час на более теплой планете.
  • Tmax_warm —Максимальная температура теплой планеты.
  •  
    Tmax_cold —Максимальная температура холодной планеты.

Имя шаг, можно рассчитать производительность на любой планете:

Screenshot_3.png

 

Где:

  • Ptarget - Искомая добыча на новой планете;
  • Pknown - известная добыча на вашей текущей планете;
  • Tknown - температура новой планеты (минимальная в диапазоне);
  • Ttarget - температура вашей текущей планеты (минимальная в диапазоне);
  • m -вычисленный ранее шаг (цена одного градуса). 

Этап №2

Итого имея базовую добычу рудника, что считали в 1-м этапе, мы можем использовать в следующих вычислениях.

Оговорка касаемо производства, чтобы не указывали данные во вкладке сырье, базовая добыча на самом деле составляет лишь 95% от того, что указано, так же как и естественная добыча (для металла не 3.000.000 а лишь 2.850.000), это очень важно учитывать для расчетов

 

Итак начнем, разделим задачу на 2 части:

  1. Поиск корневой добычи (базовая добыча со всеми возможными для нее бонусами)
  2. Поиск Бонусов (без учета корневой добычи)

Эти данные можно найти простым путем, вы все ее видели и возможно задавались вопросом почему так или иначе:

Бонусы указаны в отдельной строке (Бонусы)

Корневую добычу можно найти используя вкладку сырье и используя формулу - P_root = (Всего в час) - (Бонусы) - (Естественное производство)

 

 

Часть 1)

Начнем с поиска истинной базовою добычи:

Базовая добыча урезана в игре на 5%, значит используем добычу что показывает рудник
P_base = P_mine*0.95
Где:
  • P_base - истинная базовая добыча
  • P_mine - добыча, что показывает рудник во вкладке сырье
Начнем поиск корневой добычи, но для начала сыщем всем бонусы, что увеличивают ее:
B_first = peace + research + arsenal + geolog + alianse_bonus + 2gala + academ + fonds
Где:
  • peace - % к добыче рудников от мирного уровня
  • research - % к добыче рудников от исследований (Технология добычи)
  • arsenal - % к добыче рудников от арсенала (Апгрейд добычи)
  • geolog - % к добыче рудников от геолога (Сенат)
  • alianse_bonus - % к добыче рудников от прокачки альянса (не путать с бонусом фракции)
  • fonds - % к добыче рудников от фонда производства

Здесь указаны все бонусы, что влияют на корневую добычу. Теперь мы можем ее найти по формуле:

P_root = P_base + (P_base * (prime + B_first * prime / 100) / 100)
Где:
  • prime - % к добыче рудников от премиум аккаунта
Часть 2)
 
Начнем с коэффициентов
1) Бонусы которые сильно увеличивают нашу продукцию: 
Factor_1 = 100 + ((guber + aliance_fraction + structure)*(1+prime%))/100
Где:
  • guber - % к добыче рудников от губернатора (Шахтер)
  • aliance_fraction - % к добыче рудников от фракции альянса
  • structure - % к добыче рудников от структуры планеты
2) Все остальные бонусы: 
Factor_2 = (100 + B_first)/100
Итоговый бонус производства будет вот такой
P_bonus = P_base * (Factor_1 * Farctor_2 - 1)
 
Итого добыча на планете будет:
P = P_root + P_bonus + (естественная добыча)
 
 
Для удобства подсчета я создал таблицу на Google disk, и предоставляю всем доступ к ней:
 
Инструкция
1) Заполнять нужно лишь на белом фоне, не забывая удалить точки, что могут быть перенесены из игры способом вставки
2) Минимально для расчетов нужно заполнить - Добычу рудников на строке 7 и бонусы игрока с 16 по 28 строки.
3) Раздел "Расчеты корневой добычи и базовой добычи простыми методами" нужен лишь для сверки, если он не совпадает с разделом "Расчет Корневой добычи с помощью формулы", значит вы ввели неверно либо добычу, либо бонусы
 
Вопрос-Ответ
Итоговая цифра не соответствует реальной? Причина проста - игра везде использует округление в меньшую сторону, и исходя из которых даже 0.1 добычи в базе могут существенно измениться к концу вычислений 
 
Можно ли использовать данные формулы на других проектах Xterium? Вполне возможно на Reborn можно, но нужно проверять и считать
 
Для чего эта информация? Для общего развития, и для самостоятельных расчетов, понимания что больше всего повлияет на добычу
 

 


  • 4

#2 MILAHA-414

MILAHA-414

    Игрок

  • Пользователь
  • 28 posts
  • Тип игры:Атакер

Posted Today, 13:33

 

Не хочешь, чтобы твои труды слили в общий доступ без твоего ведома - слей сам.

 

Всем доброго времени суток, сегодня речь пойдет про производство шахт на наших и ваших планетах, как ее высчитать и как получаются те цифры, что мы видим по итогу на наших аккаунтах.
Для начала нужна оговорка, я не взломал код игры, не использовал ПО и прочие ухищрения для получения формулы, что будет представлена в ходе данного топика. Вся информация была получена лишь с открытых источников и просчитана с помощью математики и ее методов.

 

Начнем с основ, расчет производительности на планете можно поделить на 2 этапа:

  1. Этап создания планеты, определения ее позиции, температуры и итоговой добычи рудника
  2. Этап добавления к добыче рудника бонусов

Этап №1

Данный эпат нужен лишь для общего понимания, и не обязательно заниматься этими вычислениями, так как конечный итог даст вам Игра на вкладке сырье, либо во вкладке с самим рудником!

В момент когда вы создаете планету или переносите на конкретные координаты, идет процесс высчитывания температуры.

Прежде чем считать ее, давайте поймем - для чего она нужна? Все очень просто, от нее зависит базовая добыча Дейтерия.
Температура зависит от позиции планеты, и всегда (по моим наблюдениям) имеет разницу между максимальной и минимальной -  в 40°C
То есть температура может быть
Максимально холодной -  от -290°C до -240°C
Максимально горячей - от +265°C до +305°C

Из открытых источников я узнал, что есть следующая формула где-то в коде игры стандартных Ogame игр:

$production = floor(10 * $level * pow(1.1, $level) * (1.44 - 0.004 * $max_temp) * $universe_speed);

Где:

  • floor - округление в меньшую сторону
  • level - уровень рудника
  • pow - степень
  • max_temp - максимальная температура на пленете
  • universe_speed - скорость вселенной (на главной странице указано х3000, но мы ее не будет использовать, так как она недостоверна)

Она определяет какая добыча Дейтерия будет на планете.

Давайте рассмотрим ее подробней без всякого кода, лишь воспользовавшись следующими константами

  • 1.44 — фиксированное значение смещения (offset).
  • 0.004 — множитель температуры.

Начнем с поиска базовой температуры, с которой коэффициент прироста добычи равен единице.

В коде игры используется следующая формула температурного множителя:


K = 1.44 - 0.004 * T

Исходя из формулы - базовая температура (максимальная в диапазоне у планеты) -  +110°C

K = 1.44 - 0.004*110 = 1.44-0.44 = 1,0

Где:

  • K - коэффициент эффективности, с помощью которого определяется какой прирост к Базовой добыче будет у рудников

Вычислим коэффициент для максимально холодной планеты в -250°C :

K = 1.44 - 0.004*(-250)=2,44

Вычислим коэффициент для максимально горячей планеты :

K = 1.44 - 0.004*(265)=0,38

Исходя из этого, можно сделать вывод - производство дейтерия на планете будет больше на самой холодной планете то есть от -290°C до -240°C.

Как рассчитать максимальную добычу для своего уровня рудника?
Начнем с расчета шага для изменения температуры в 1°C, Для этого нужно взять 2 планеты, на них посмотреть текущую добычу и текущую максимальную температуру, и используя формулу - найти шаг изменения добычи:

attachicon.gifScreenshot_2.png

Где:
  • Pcold —Добыча в час на более холодной планете (где число дейтерия больше).
  • Pwarm —Добыча в час на более теплой планете.
  • Tmax_warm —Максимальная температура теплой планеты.
  •  
    Tmax_cold —Максимальная температура холодной планеты.

Имя шаг, можно рассчитать производительность на любой планете:

attachicon.gifScreenshot_3.png

 

Где:

  • Ptarget - Искомая добыча на новой планете;
  • Pknown - известная добыча на вашей текущей планете;
  • Tknown - температура новой планеты (минимальная в диапазоне);
  • Ttarget - температура вашей текущей планеты (минимальная в диапазоне);
  • m -вычисленный ранее шаг (цена одного градуса). 

Этап №2

Итого имея базовую добычу рудника, что считали в 1-м этапе, мы можем использовать в следующих вычислениях.

Оговорка касаемо производства, чтобы не указывали данные во вкладке сырье, базовая добыча на самом деле составляет лишь 95% от того, что указано, так же как и естественная добыча (для металла не 3.000.000 а лишь 2.850.000), это очень важно учитывать для расчетов

 

Итак начнем, разделим задачу на 2 части:

  1. Поиск корневой добычи (базовая добыча со всеми возможными для нее бонусами)
  2. Поиск Бонусов (без учета корневой добычи)

Эти данные можно найти простым путем, вы все ее видели и возможно задавались вопросом почему так или иначе:

Бонусы указаны в отдельной строке (Бонусы)

Корневую добычу можно найти используя вкладку сырье и используя формулу - P_root = (Всего в час) - (Бонусы) - (Естественное производство)

 

 

Часть 1)

Начнем с поиска истинной базовою добычи:

Базовая добыча урезана в игре на 5%, значит используем добычу что показывает рудник
P_base = P_mine*0.95
Где:
  • P_base - истинная базовая добыча
  • P_mine - добыча, что показывает рудник во вкладке сырье
Начнем поиск корневой добычи, но для начала сыщем всем бонусы, что увеличивают ее:
B_first = peace + research + arsenal + geolog + alianse_bonus + 2gala + academ + fonds
Где:
  • peace - % к добыче рудников от мирного уровня
  • research - % к добыче рудников от исследований (Технология добычи)
  • arsenal - % к добыче рудников от арсенала (Апгрейд добычи)
  • geolog - % к добыче рудников от геолога (Сенат)
  • alianse_bonus - % к добыче рудников от прокачки альянса (не путать с бонусом фракции)
  • fonds - % к добыче рудников от фонда производства

Здесь указаны все бонусы, что влияют на корневую добычу. Теперь мы можем ее найти по формуле:

P_root = P_base + (P_base * (prime + B_first * prime / 100) / 100)
Где:
  • prime - % к добыче рудников от премиум аккаунта
Часть 2)
 
Начнем с коэффициентов
1) Бонусы которые сильно увеличивают нашу продукцию: 
Factor_1 = 100 + ((guber + aliance_fraction + structure)*(1+prime%))/100
Где:
  • guber - % к добыче рудников от губернатора (Шахтер)
  • aliance_fraction - % к добыче рудников от фракции альянса
  • structure - % к добыче рудников от структуры планеты
2) Все остальные бонусы: 
Factor_2 = (100 + B_first)/100
Итоговый бонус производства будет вот такой
P_bonus = P_base * (Factor_1 * Farctor_2 - 1)
 
Итого добыча на планете будет:
P = P_root + P_bonus + (естественная добыча)
 
 
Для удобства подсчета я создал таблицу на Google disk, и предоставляю всем доступ к ней:
 
Инструкция
1) Заполнять нужно лишь на белом фоне, не забывая удалить точки, что могут быть перенесены из игры способом вставки
2) Минимально для расчетов нужно заполнить - Добычу рудников на строке 7 и бонусы игрока с 16 по 28 строки.
3) Раздел "Расчеты корневой добычи и базовой добычи простыми методами" нужен лишь для сверки, если он не совпадает с разделом "Расчет Корневой добычи с помощью формулы", значит вы ввели неверно либо добычу, либо бонусы
 
Вопрос-Ответ
Итоговая цифра не соответствует реальной? Причина проста - игра везде использует округление в меньшую сторону, и исходя из которых даже 0.1 добычи в базе могут существенно измениться к концу вычислений 
 
Можно ли использовать данные формулы на других проектах Xterium? Вполне возможно на Reborn можно, но нужно проверять и считать
 
Для чего эта информация? Для общего развития, и для самостоятельных расчетов, понимания что больше всего повлияет на добычу

 

в школе математику преподаете ?


  • 0



Reply to this topic