Главная | Скачать | Код | Об игре | Справка | Статистика | Зал Славы | Новости | Скриншоты | Ссылки | Форум | Wiki

Поиск   

Битва: Уравнения и рассчёты

Атака и Защита

Технологии

Корабельные пулялки могут иметь две формы ATT (атака) и DEF (защита) бонусов: прямой бонус и процентный бонус. Прямой бонус добавляется к изначальному значению атаки/защиты, а процентный бонус добавляется во время стрельбы.

Существуют три вида бонусов:

  • ATT означает шанс попадания в цель
  • DEF означает способность корабля увернуться от вражеской пули
  • Missile DEF (ракетная защита) влияет на способность корабля оказывать электронные контрмеры против умных снарядов, таких как ракеты, торпеды и лучевое оружие (Да, да, да! Лазер - это тоже ракета, если вы ещё не в курсе!)

В любом случае, максимальные значения прямых и процентных ATT, DEF и Missile DEF берутся с корабельного оборудования (оружие, броня). Не-процентные же значения суммируются с бонусами Движителя (Drive), Кокпита (Cockpit) и Корпуса (Hull). Результат сохраняется с кораблем.

Система бонусов

Некоторые постройки, такие как Fleet Command, создают бонус к ATT и DEF, который действует внутри системы, где эта штука построена. Причем бонусы добавляются только к кораблям того, кто построил сей девайс. Т.е. на союзников не действует.

Рассчёт Шанса-Ша-Попасть

В то время, пока судно пожаров ("когда корабль стреляет", разумеется, но мне очень понравился вариант перевода гуглем фразы "At the time the ship fires" =) ):

Атака = (Общая ATT корабля + Атака оружия) * проц. бонус ATT * бонус опыта (Experience bonus)

Защита = (DEF или Missile DEF) * проц. бонус DEF * бонус опыта (Experience bonus)

Шанс-На-Попасть рассчитывается вот так:

ШНП = Атака / (Атака + Защита)

Затем ШНП сравнивается со случайным числом и если это число меньше чем ШНП, оружие попадает в цель.

Военная мощъ (Military Power)

Военная мощь - это боевая эффективность корабля.

Оружие

Сумма каждого оружия:

Общая Атака = СУММА (Средний Шанс-На-Попасть * Повред. / (типа переменная))

"Типа переменная" равна:

  • 1 - для всех видов оружия, кроме бомб
  • 2 - для бомб

Средний Шанс-На-Попасть вычисляется вот таким макаром:

Атака = (Общая ATT корабля + Атака оружия) * проц. бонус ATT

константа Защиты = 10.0

Средний Шанс-На-Попасть = Атака / (Атака + Защитная константа)

Рассчёт общей Военной Мощи (MP)

Сейчас мы находим общую борьбу с властью: (гугл просто выжигает моск - "Now we find the total combat power" =))) )

MP = Общая атака * (HP корабля + HP силового щита корабля) / (константа Поврежд. * константа Атаки / (константа Атаки * константа Защиты)) * (переменная Скорости) + Экстра MP

Переменная Скорости определяется следующим образом:

  • Диапазон: от 0.5 до 1.33 (если больше 1.33, то равно 1.33, если меньше 0.5, то равно 0.5)
  • Переменная Скорости = Скорость корабля / Константа Скорости

Значения констант:

  • константа Защиты = 10.0
  • константа Атаки = 10.0
  • константа Поврежд. = 10.0
  • константа Скорости = 5.0

И тут, любознательный читатель, возмущенно воскликнет: "Когда же вы нам расскажете про Экстра MP?!". А вот:

Любой корабельный девайс, на коробке от которого написано "AddMP", будет добавлен как часть Экстра MP.

Эффективность повреждений

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

Ограничение стрельбы (Shot Limiting)

Ограничение стрельбы является одним из самых непонимаемых и искажаемых моментов игры.

Вот вам факты.

Увеличение счётчика

Счётчик увеличивается, когда оружие пуляет:

Если скорость стрельбы (ROF) <= 1.0, то счётчик увеличится на 1

Если ROF > 1.0, то счётчик увеличивается 1/ROF (счётчик = счётчик * (1/ROF))

Эти данные хранятся как "hitCounter [combatClass]"

Если оружие стреляет, но не попадает, то счётчик всё-равно увеличивается. А вот если оружие не срабатывает (в связи с ROF менее 1), то не увеличивается. (Блин, вот мутотень! Это всё заменяется одной фразой, которая уже была: "Счётчик увеличивается, когда оружие пуляет", т.е. не каждый ход, а только в тот ход, когда пуляет)

Тут ещё не помешает сказать, что combatClass - это просто класс корпуса, грубо говоря (Small, Medium, Large, Planet) (да, планету мы тут воспринимаем как очень большой корабль, для простоты понимания)

Модификации попаданий

А вот тут они реально намудрили. Вообщем есть штука, которая ограничивает количество удачных попаданий - maxHits[combatClass]. На этом зацикливаться не стоит, просто для каждого типа кораблей (в которые мы пуляем) свое кол-во максимальных попаданий. Суть в том, что, когда счётчик попаданий (hitCounter[combatClass]) переваливает за ограничитель (maxHits[combatClass]), то ограничитель увеличивается на два балла (maxHits[combatClass] += 2), счётчик попаданий сбрасывается, а на следующие попадания накладывается штраф. И да, такая байда действует для каждого вражеского корабля индивидуально.

Дальше - хуже. Все, что написано выше, применительно, в основном, если мы стреляем по такому типу кораблей, для которого предназначено оружие (например Cannon - для Small, SS Missile - для Medium и т.д.). Как вы наверно помните, оружие для уничножения больших кораблей, по мелким не стреляет вовсе, а наоборот - очень даже. И происходит это по вот такому геммороидальному принципу:

maxHits[combatClass] += 3.0 * (maxHits[combatClass+1] - hitCounter[combatClass+1])

В переводе на нормальный язык это значит, что если мы завалили кораблик мелкого класса, а за ним на очереди более крупный, то остатки бесштрафных попаданий перейдут на этот большой кораблик, умноженные на троечку. Только я не понимаю, почему там написано [combatClass+1] если надо [combatClass-1].

Тут ещё примерчик даже есть:

maxHits[Medium] += 3.0 * (maxHits[Small] - hitCounter[Small])

При этом, совершенно не понятно, что будет, если после Small мы попадем на Large или, упаси боже, на Planet.

Кстати, из той формулы вы видим, что попадания в более крупный корабль, из более мелкокалиберной пушки, выгодны только в том случае, когда за этот ход мы уже уничтожили мелкий кораблик и у нас ещё остались выстрелы.

А теперь то, ради чего всё это затевалось - Модификаторы попаданий! Ура, товарищи!

hitMods = {0: 1.0, 1: 1.0, 2: 1.0, 3: 1.0}

Расшифровка:

hitMods (модификатор попаданий) свой для каждого типа кораблей.

Начальные значения - все единички (1.0) для всех типов (Small, Medium, Large, lanet).

Всякий раз, когда hitCounter[combatClass] > maxHits[combatClass] происходит следующее:

hitMods[class] *= 75% (hitMods[class] = hitMods[class] * 0.75)

hitCounter[class] = 0

На самом деле всё просто - когда сбрасывается счётчик попаданий (hitCounter) (см. "Модификации попаданий"), то, как уже писалось выше, начисляются штрафные очки, т.е. модификатор попаданий УМЕНЬШАЕТСЯ на 15%.

Штрафы

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

  1. на 75.00%
  2. на 56.26%
  3. на 42.19%
  4. на 31.64%
  5. на 23.73%
  6. на 17.80%

Выводы

Всё, что написано ниже, авторы рекомендуют "держать в мозгу" чтобы всё было хорошо:

Если пушка стреляет быстрее чем раз в ход, то Ограничитель стрельбы всё-равно думает, что она стреляет один раз за ход.

Если пушка стреляет раз в несколько ходов, то Ограничитель стрельбы учитывает только тот ход, когда она фактически бабахнула.

Если вы стреляете пушкой по тому типу корабля, для которого она предназначена, то передача предела попаданий выгодна. Это означает, что корабль, оборудованный мортирой, сможет долбануть 6 раз, пока не сработает ограничитель, а корабль с ракетами - всего лишь 2 раза. Отметим, что это применительно к ограничениям, переходящим на следующий тип корабля, но только после того, как вы раздолбаете корабли "родного" для оружия типа. Если в начале боя не осталось ни одного корабля "родного" типа, то ограничитель стрельбы для него равен нулю, соответственно ноль же и добавляется к ограничителю "неправильного" типа, при его атаке.

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

Перевёл Aliex [Английская версия]

Главная | Скачать | Код | Об игре | Справка | Статистика | Зал Славы | Новости | Скриншоты | Ссылки | Форум | Wiki

FarSpace 2008-2011