The MaryLAND. On-line Strategiс Game.

Содержание
Начало
Об игровых расах
После регистрации
Экран игрока
Экран города
Карта мира
Параметры юнитов
Управление юнитами
Заказы на юнитов
Герои
Битва юнитов
Атака города
Экономика
Переход хода
Раса Хоммы
Строения Хоммов
Юниты Хоммов
Раса Эльфы
Строения Эльфов
Юниты Эльфов
Раса Некры
Строения Некров
Юниты Некров
Уникальные Юниты
Алгоритмы
Симулятор битв
Об игре
Казино
Соглашение
Положение о банах
MaryLAND
Rambler's Top100

Описание MaryLAND

Алгоритмы и формулы, используемые в Игре

I. Увеличение параметров с ростом опыта

    Используемые обозначения:
  • Skill - новое значение параметра
  • BSkill - базовое значение параметра
  • Exp - общее количество опыта юнита
  • Pct - доля опыта (в %) идущая на увеличение параметра
Формула, связывающая параметры юнитов с опытом, зависит от уровня опыта.
если (Exp * Pct / 100) < 800, то
Skill = BSkill + sqrt(Exp * Pct / 100) / 3
в противном случае
Skill = BSkill + log2(Exp * Pct / 100)

С ростом опыта у юнитов изменяются только AP, Атака и Зашита. Пропорции распределения опыта специфичны для каждой игровой расы.
Кроме того опыт влияет на увеличение Скорости восстановления Выстрелов у стрелков. Каждый час восстанавливается выстрелов:

(1 + sqrt(Опыт) / 10) * МаксимальныеВыстрелы / 24

II. Наносимые повреждения

    Используемые обозначения:
  • Att - атака нападающего
  • Def - защита обороняющегося
  • MinDam - минимальный урон, наносимый нападающим
  • MaxDam - максимальный урон, наносимый нападающим
  • BDam - базовый урон, наносимый нападающим
  • Dam - общий урон, наносимый нападающим
  • HAtt - высота, занимаемая нападающим
  • HDef - высота, занимаемая обороняющимся

    Последовательность вычислений:
  1. Базовое повреждение:
    BDam = rand(MinDam, MaxDam)
  2. Влияние разности Атаки и Защиты:
    • если (Att > Def), то
      Dam = BDam * (100 + 5 * (Att - Def)) / 100
      +5% на единицу разности, но не больше, чем до 400%
    • если (Att < Def), то
      Dam = BDam * (100 - 2 * (Def - Att)) / 100
      -2% на единицу разности, но не меньше, чем до 30%
  3. Влияние разности занимаемых высот:
    Dam = Dam * (100 + (20 * (HAtt - HDef)) / 100, если HAtt > HDef
    Dam = Dam * (100 - (10 * (HDef - HAtt)) / 100, если HAtt < HDef
  4. Dam = max(1, Dam)
    урон не может быть меньше 1
Количество нанесённых атакующим повреждений вычитается из HP обороняющегося.

III. Нападение на города и объекты

  • Параметры ответного удара у Города (при нападении на пустой город)
    1. Att = 0.0005 * Население * (Настроение / 100)
    2. Def = 0.001 * Население * (Настроение / 100)
    3. MinDam = 5
    4. MaxDam = 10
    Ни Атака, ни Защита Города не может быть меньше 1.
  • Потеря населения и денег (Dam - урон, нанесенный атакующим юнитом; Нас - население города)
    1. Погибшее Население = 20 * Dam * sqrt(Нас) / 100 + 2
    2. Разграбленная Сумма = 0.0001 * Dam * Казна
  • Параметры Городских укреплений (при наличии в городе юнита)
    1. Att = 0 (нет ответных повреждений)
    2. Def = 100
  • Параметры объектов (Мосты и Стены)
    1. Att (Мост и Стена) = 0 (нет ответных повреждений)
    2. Def (Мост) = 100
    3. Def (Стена) = 100

IV. Экономические вычисления

    Используемые обозначения:
  • Нас - население города
  • Настр - настроение населения (%) в городе
  • Когорта - размер "когорты налогоплательщиков"
  • Налог - налог с населения
  • МНалог - максимальный налог с населения (без трат на роскошь), при котором Настроение будет 100%
  • Доход - доход от населения
  • Роскошь - доля дохода, направленная на роскошь (в монетах)
  • Коррупция - процент дохода, пропадающий из-за удаленности от Столицы

Столицей считается самый старый Город логина.
Переносить Столицу можно только в город, где построен Дворец, который кроме того удваивает доход от населения.
Если в Городе есть специальное строение (Суд), то коррупция сокращается на 30%.

Доход от населения:
Когорта = 0.4 * Население ^ (2 / 3)
Доход = (Нас / Когорта) * (Налог / 100) * (Настр / 100)

Доход зависит от степени застроенности карты в пределах экрана вокруг города:
Доход = Доход * 100 / (ШтрафныеОчки + 100)
Каждый город или форт "стоит" 20 штрафных очков, любой объект - 5 очков.
Например, город, окруженный рядом стен, теряет в доходе 29%, если остальная часть видимой карты не занята. Доход города, вся карта вокруг которого застроена стенами, равен 14% от максимально возможного.

Кроме того, на доход влияет коррупция в городе:
Коррупция (%) = 100 / (1 + 150000 * exp(-ЧислоГородов / 2.4))

Схема вычисления дохода города следующая:
1. Вычисляется базовый доход от населения.
2. Доход уменьшается в соответствии с занятостью карты вокруг города.
3. Доход уменьшается с учетом коррупции.
4. Доход удваивается, если в городе построен Дворец.
Полученный доход - это и будет доход от населения.

Прирост населения:
Нас = Нас + (ln(30000*Настр/100) - ln(Нас))*(0.003*Нас + 0.4*ln(Нас))/2

Изменение настроения:
МНалог = -10 * ln(Нас / (1 + 3 * Роскошь)) + 110
Настр = Настр + 0.2 * (МНалог-Налог)

Все экономические параметры пересчитываюися каждый час.

V. Вычисление цены найма юнита

    Используемые обозначения:
  • БЦена - базовая цена юнита
  • Юниты - количество юнитов такого типа имеющихся в городе.
    Для Колонистов - это общее количество Колонистов + количество городов.

Цена = (БЦена - 1) + [0.4 * LN(БЦена) + 0.4] ^ [(Юниты - 1) / 5]

Цена на Колонистов одинакова в любом городе Игрока.

VI. Вычисление количества населения, требуемого для найма юнита

    Используемые обозначения:
  • БНас - базовое колитчество населения для найма юнита
  • Юниты - количество юнитов такого типа имеющихся в городе.

Население = БНас * exp[ln(БНас) * Юниты / (100 / sqrt(БНас))]

Для Колонистов - количество населения всегда равно базовому.

На количество юнитов в этой формуле влияет количество городов: каждые два города после 30 добавляют по 1 в параметр Юниты.

VII. Вычисление содержания юнита

    Используемые обозначения:
  • Базовое - базовое содержание юнита.
  • Опыт - общий опыт юнита.
  • Порог - опыт юнита, начиная с которого растет его содержание.

Содержание = Базовое + max(0, (Опыт - Порог) / 20)

VIII. Вычисление суммы, поступающей в город из Мешка с деньгами

    Используемые обозначения:
  • СуммаВМешке - сколько монет было положено в мешок при его создании
  • Расстояние - количество клеток (по прямой) между городами, где Мешок создан и куда его затолкали

Сумма = СуммаВМешке * (50 + 2 * Расстояние) / 100

То есть, за каждую "протолканную" клетку добавляется по 2 процента к основным 50-ти. И, если протолкать Мешок 25 клеток, то в город переведётся 100% начальной суммы.

IX. Вычисление рейтинга Игрока

    Используемые обозначения:
  • БР (базовый ретинг) = sqrt(Население) * (Казна / (Казна + Население)) / 1.5
  • ЭР (экономика) = 1 + 5 * БалансЗаЧас / Казна
  • ТР (территория) = 1 + ln(КоличествоГородов * 10 + Территория) / 10
  • ВР (война) = 1 + КоличествоСнесенныхГородов * ln(ИхСреднийВозаст) / 500

Рейтинг = БР * ЭР * ТР * ВР

Наверх...