Баллистика в компьютерных играх [Сергей Изъюров] (fb2) читать постранично, страница - 2


 [Настройки текста]  [Cбросить фильтры]

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


Траектория полёта снаряда на большой дистанции

На средних дистанциях снаряд прилетал уже не отвесно сверху, а под определённым углом, чаще попадая в бронированные борта (а если попадал в палубу, то вскользь). За время полёта скорость снаряда успевала упасть, да и при попадании под углом шансы пробивания снижались. Это приводило к интересной особенности: зачастую на определённом расстоянии от противника корабль мог чувствовать себя в относительной безопасности. Вражеские снаряды не причиняли ему особого вреда, хоть и долетали до него. На каждое «дзынь — не пробил» матросы высовывались из иллюминаторов и показывали противнику язык, чтобы деморализовать его (хотя документальных подтверждений этому я нигде не нашёл, но мне так представляется).


Траектория полёта снаряда на средней дистанции

Ну и на малой дистанции снаряд прилетал в борт почти перпендикулярно и на большой скорости — и вследствие этого имел отличные шансы пробить броню и влететь прямо в кают-компанию, безнадёжно испортив настроение членам экипажа и размазав различные части их тел по стенкам и потолку.


Траектория полёта снаряда на малой дистанции

Таким образом, корабль мог получать от противника значительный урон на малой и большой дистанции, но быть практически неуязвимым на средней. При боевом противостоянии двух кораблей эта дистанция (по-научному, зона свободного маневрирования) была у каждого своя. Тогда ключевую роль начинала играть скорость. Кто имеет преимущество хотя бы в пару узлов — тот и сможет выдерживать ровно ту дистанцию, которая безопасна для него и невыгодна для противника, безнаказанно нанося урон и не получая сдачи. Тихоходу же останется только ловить плюхи и молча готовить спасательные шлюпки, не находя цензурных выражений, чтобы охарактеризовать такую подлость со стороны врага.

Все это являлось важнейшим элементом тактики морских сражений, и было бы несправедливо не отразить этих особенностей в игре. Поэтому от параболических траекторий практически сразу было решено отказаться, так как они не позволяют правильно воспроизвести ни углы, ни скорости снарядов. Законы полёта должны быть более сложными и правдоподобными. Сложными, как учебник тригонометрии для 10 класса, и правдоподобными, как предвыборные обещания кандидата в президенты.

Приступаем к практике

Условия были заданы, и мы приступили к поиску. Можно было бы искусственно погнуть эти параболы, чтобы придать им более подходящий вид. Выдать гейм-дизайнерам плоскогубцы и напильники — и пусть гнут траектории, как захотят, настраивая, под какими углами и с какими скоростями должны прилетать снаряды в зависимости от дистанции. Но где взять все эти углы и скорости, чтобы они соответствовали правильным значениям? И сколько месяцев понадобится, чтобы аккуратно подогнать псевдопараболы для десятков и даже сотен разнообразных орудий, добиваясь для каждой пары кораблей достоверных зон свободного маневрирования и корректных вероятностей нанесения урона на различном расстоянии? И сколько ещё доработок придется внести, из-за того что текущих «винтиков» не хватило, чтобы корректно настроить траектории для всех кораблей?



Нет, этот вариант запросто мог завести в тупик. Требовалось что-то более изящное и легко настраиваемое.

Обсудив сложившуюся ситуацию, разработчики пришли к выводу о том, что наиболее приемлемое решение — запрограммировать «честную» баллистику, чтобы снаряды в игре летали в точности так, как они летали в настоящих боях. Тогда и подгонять вручную ничего не придётся: добавив к честной баллистике приближенные к реальности законы пробития брони и нанесения урона (ведь мало попасть снарядом в корабль — надо его ещё и пробить), мы автоматически получим все исторические особенности и нюансы артиллерийских боёв применительно к конкретным кораблям.

Задача получалась не из простых: ведь мало того, что придётся численно моделировать законы полёта снаряда, вылетевшего с заданной скоростью и под заданным углом. Придётся решать и обратную задачу: имея заданную дистанцию, находить требуемый угол стрельбы, при котором траектория придёт точно в точку прицеливания. А если кораблей в бою штук тридцать,