Расстановка кораблей морской бой: #8. Расставляем корабли в игре Морской бой
Python. Напишем морской бой с достойным соперником-ИИ — Офтоп на DTF
Всем привет! В предыдущей статье мы написали игру в спички с ИИ. Как оказалось некоторые из вас даже открывали эту сатью, а некоторые из тех кто открывал даже поставили лайк. Спасибо! Сегодня будем писать морской бой в таком же «терминальном» стиле. На этот раз игра будет больше, а алгоритм стоящий за ходом противника — сложнее.
28 730 просмотров
Ознакомиться с полным кодом приложения и запустить прямо в браузере можно как всегда в конце статьи по ссылке.
Вот предыдущая статья про спички если кому-то интересно:
Прошлое приложение заняло 130 строк кода и я таки умудрился расписать его целиком в рамках поста, а вот морской бой уже получился на все 470+ строк. Всё расписать не получится. Будут расширеные комментарии внутри самого кода по ссылке. Как всегда начнём с самого морского боя, а ИИ (я буду называть это ИИ) оставим на вторую половину.
Морской бой
Сама игра не такая уж и сложная, но в ней хватает нюансов и если писать всё более-менее аккуратно, то получается много кода. В основном это связано с различными проверками при расстановке кораблей, доступности хода, проверками целости кораблей и прочее.
Начнём пожалуй с описания основных классов, которые нам понадобятся для реализации:
Game — сама игра. Этот класс будет группировать и манипулировать остальными классами.
Player — игрок. Будет иметь своё поле, будет совершать ходы.
Field — поле. Будет состоять из двух частей: основная карта и радар. Поле будет проверять возможность расположения кораблей, расставлять корабли, уничтожать их.
Ship — корабль. Можно было обойтись без него на самом деле, но с ним проще. В основном корабль будет хранить координаты и свои HP.
Кроме основных классов так же были написаны вспомогательные FieldPart — чтобы было проще обращаться к конкретной части поля (карта/радар).
Color — чтобы было проще и нагляднее задавать цвет элементам. Cell — чтобы описать все возможные состояния клетки поля в одном месте (пустая, сыграная, корабль, уничтоженый корабль, поврежденный корабль).Class Game(object)
class Game(object): letters = («A», «B», «C», «D», «E», «F», «G», «H», «I», «J») ships_rules = [1, 1, 1, 1, 2, 2, 2, 3, 3, 4] field_size = len(letters) def __init__(self): self.players = [] self.current_player = None self.next_player = None self.status = ‘prepare’ # просто названия функций входящих в Game # сами функции с детальным описанием можно найти в полном коде def start_game(self) def status_check(self) def add_player(self, player) def ships_setup(self, player) def draw(self) def switch_players(self) def clear_screen()
В классе Game мы опишем буквы используемые для отображения координат. Понятное дело внутри самой игры всё задаётся исключительно цифровыми координатами [0][4], [5][1] … но игрок должен во-первых видеть буквы на поле, а во-вторых делать свои ходы используя буквенные обозначения.
Игра будет хранить игроков в cписке players. Но зачем мучиться с коэффициентами при обращении к игрокам, если можно завести две переменные current_player и next_player,которые ссылаются на элементы списка players. Так мы всегда понимает как обратиться к текущему и следующему игроку. А в конце хода мы просто меняем значения этих переменных местами. Ну и я решил добавить такое понятие как status. У игры не то чтобы много статусов, но таким образом можно организовать более наглядный переход из одного состояния в другое в самом игровом цикле. Статусы будут примерно такие: prepare, in_game, game_over.
Функции у игры следующие:
start_game — просто объявляем текущего игрока и следующего.
status_check — игра каждый ход проверяет статусы и меняет их при достижении условий.
add_player — функция используется когда у игры статус prepare для добавления игроков и назначени им полей.
ship_setup — так же используется на старте игры. Передаём в функцию ссылку на игрока и игра просит его расставить корабли или расставляет автоматически. draw — рисует каждый ход поле и доп.инфу. switch_players — просто переключает текущего игрока и следующего, юзается в конце хода. clear_screen — чистит экран.
Class Player(object)
class Player(object): def __init__(self, name, is_ai, skill): self.name = name self.is_ai = is_ai self.auto_ship_setup = True self.skill = skill self.message = [] self.ships = [] self.enemy_ships = [] self.field = None # просто названия функций входящих в Player # сами функции с детальным описанием можно найти в полном коде def get_input(self, input_type) def make_shot(self, target_player) def receive_shot(self, shot)
Кратенько по игроку. name — просто имя. is_ai — является игрок ИИ или нет, в зависимости от этого меняет некоторая логика хода. auto_ship_setup — автоматически расставлять корабли для игрока или вручную. Опция для нетерпеливых. skill — относится к ИИ пока пропустим описание. ships наполняется имеющимися у игрока кораблями. enemy_ships — здесь будем считать какие корабли остались у противника — человек конечно и сам может посчитать, но для ИИ очень полезно. field — поле игрока (поле будет описано ниже)
Функции у игрока: get_input — запросить ввод. здесь мы передаем тип инпута либо ‘ship_setup’ либо ‘shot’. Всё зависит от статуса игры. Много логики внутри, тут лучше почитать код с комментами. make_shot — делаем выстрел по указанному игроку. В этой функции как раз и вызывается get_input с параметром ‘shot’. receive_shot — соответственно игрок принимает выстрел по координатам. На самом деле если чётко расписать действия игроков на бумаге и чем они оперируют в ходе игры всё становится гораздо очевиднее.
Class Field(object)
class Field(object): def __init__(self, size): self.size = size self.map = [[Cell.empty_cell for _ in range(size)] for _ in range(size)] self.radar = [[Cell.empty_cell for _ in range(size)] for _ in range(size)] self.weight = [[1 for _ in range(size)] for _ in range(size)] # просто названия функций входящих в Field # сами функции с детальным описанием можно найти в полном коде def draw_field(self, element) def check_ship_fits(self, ship, element) def mark_destroyed_ship(self, ship, element) def add_ship_to_field(self, ship, element) def get_max_weight_cells(self) def recalculate_weight_map(self, available_ships)
С полем всё просто: size — размер поля. map — основная карта поля по факту просто список списков изначально заполняемый пустыми клетками (Cell.empty_cell). radar — так же. weight уже по интереснее. Это относится к ИИ, поэтому обсудим чуть ниже.Функции. draw_field — отрисовка поля. Здесь и далее параемтр element это часть поля с которой необходимо работать. либо Map либо Radar либо Weight. Check_ship_fits — прверяем что корабль помещается на ту или иную позицию. Используется при расстановке кораблей а так же для некоторых манипуляций с ИИ. mark_destroyed_ship — помечаем что корабль уничтожен. Ставим на нем кресты, вокруг — точки. add_ship_to_field — добавление корабля. тут все понятно. get_max_weight_cells и recalculate_weight_map относится к ИИ, это рассмотрим чуть ниже.
Class Ship(object)
class Ship: def __init__(self, size, x, y, rotation): self.size = size self.hp = size self.x = x self.y = y self.
Тут вообще всё до безобразия просто: x, y — координаты начала корабля. size — размер. rotation — в какую сторону повёрнут (от 0 до 4). hp — текущее хп корабля. Конкретные поврежденные клетки не отслеживаются т.к. по факту за контроль отрисовки поля отвечает класс Field.
Последнее что мы рассмотрим перед написанием ИИ это основной цикл игры:
if __name__ == ‘__main__’: players = [] players.append(Player(name=’Username’, is_ai=False, auto_ship=True, skill=1)) players.append(Player(name=’IQ180′, is_ai=True, auto_ship=True, skill=1)) game = Game() while True: game.status_check() if game.status == ‘prepare’: game.add_player(players.pop(0)) if game.status == ‘in game’: Game.clear_screen() game.current_player.message.append(«Ждём приказа: «) game.draw() game.current_player.message.clear() shot_result = game.current_player.
make_shot(game.next_player) if shot_result == ‘miss’: game.next_player.message.append(‘На этот раз {}, промахнулся! ‘.format(game.current_player.name)) game.next_player.message.append(‘Ваш ход {}!’.format(game.next_player.name)) game.switch_players() continue elif shot_result == ‘retry’: game.current_player.message.append(‘Попробуйте еще раз!’) continue elif shot_result == ‘get’: game.current_player.message.append(‘Отличный выстрел, продолжайте!’) game.next_player.message.append(‘Наш корабль попал под обстрел!’) continue elif shot_result == ‘kill’: game.current_player.message.append(‘Корабль противника уничтожен!’) game.next_player.message.append(‘Плохие новости, наш корабль был уничтожен :(‘) continue if game.status == ‘game over’: Game.Все достаточно просто. В цикле бесконечно проверяется статус игры и в зависимости от этого выполняются те либо иные действия. В статусе ‘in game’ происходят основные события игры. Получение данных о выстреле игрока, добавление подходящего сообщения для обоих игроков, передача хода другому игроку при промахе и прочее.
Если наступает статус ‘game over’ — выводим основные поля обоих игроков. Пишем кто выиграл, кто проиграл.
Алгоритм поведения ИИ
Как всегда я сел и стал прикидывать какой логикой оперирует человек при игре в морской бой.
- Первый ход случайный.
- Если попал и убил — обрисовал точками вокруг
- Если попал и не убил — стреляем в клетки сверху/снизу/слева/справа
- По диагоналям от клетки «попал» не может быть кораблей
- Прикидываем если остались только большие корабли — затираем мелкие скопления пустых клеток
Более глубокой логики поведения человека я придумать не смог. Дальше начал думать как перенести всё это на какие-то условия. Надо бы держать в уме предыдущий ход, а еще лучше предыдущий удачный ход. И если ты «попал», то следующий выстрел по сторонам. Если второй выстрел не попал, то вернуться к предыдущему ходу и выстрел в другую сторону рядом. Но дальше начинаютя сложности. Так как нужно понимать, что корабль прямой. Значит надо, чтобы ИИ понимал направление корабля и ходил после повторного попадания уже не по четырём направлениям, а в общем-то по одному. И опять-таки приходим к тому, что нужно помнить откуда начался этот корабль. Но это всё просто по сравнению с последним пунктом. Дойдя до него я понял: прежде чем стрелять по клетке — проверь, а помещается ли какой-нибудь корабль хоть как-то в нее.
И тут рассуждения увели меня чуть в сторону и стала вырисовываться идея коэффициентов: назначаем клеткам коэффициенты и стреляем по наиболее весомой. Если корабль помещается в какие-то клетки — прибавляем им коэффициенты. Если нет — коэффициент останется нулевым. Функция check_ship_fits уже была готова т.к. использовалась для расстановки кораблей до начала игры. Отлично.
Я начал развивать идею с коэффициентами. Решил так: изначально каждую клетку поля проверяем на возможность начала с нее корабля. Причем в любую из четырёх сторон. Итого клетка за каждый корабль может получить 4 балла. Естественно речь про поле-радар, единственно доступная информация о кораблях противника расположена на нем. Со временем поле будет заполнятья убитыми кораблями и промахами а коэффициенты этих клеток будут автоматически иметь 0.
Далее в систему коэффициентов нужно как-то вписать все пункты алгоритма:
«Первый ход случайный» — с введением коэффициентов это понятие немного изменится. Теперь каждый ход будет набираться список клеток с самым высоким коэффицентом, а уже из него будет случайным образом выбираться точка обстрела. Зачастую будет получатья так, что список будет состоять из одной единственной клетки которая методом подсчета получила максимальный коэффициент. Так что в целом становитя не важно первый это ход или нет.
«Если попал и убил» — тоже просто. В таких случаях клетке сразу ставится коэффициент 0 как и всем клеткам вокруг нее.
здесь и далее приведен небольшой кусочек поля
«Если попал и не убил» — мы усиливаем вес клеток по всем четырём направлениям т.к. корабль может иметь продолжение только в 4 стороны. По диагоналям от попадения — нули. Тут есть хитрость. Мы не просто выставляем коэффицинет всем вокруг мы умножаем имеющийся, а значит защищаем себя от возможности случайно увеличить нулевой кэффициент
первое попадание. увеличиваем коэффициенты
второе попадание
Ну и последний пункт — если остались только большие корабли — затираем мелкие скопления пустых клеток. Это будет выполняться на основе начального вычисления коэффициентов. Для каждой клетки будут браться оставшиеся корабли и будет совершаться попытка их вписать. Пример:
остался только трехпалубный корабль и как бы мы ни старались он не может проходить через клетку с «?» значит эта клетка не получит увеличения коэффицинета. И как результат коэффициент там будет 0. То же справедливо и для двух незанятых клеток чуть ниже.
Теперь осталось всего лишь написать это:
# пересчет веса клеток def recalculate_weight_map(self, available_ships): # Для начала мы выставляем всем клеткам 1. # нам не обязательно знать какой вес был у клетки в предыдущий раз: # эффект веса не накапливается от хода к ходу. self.weight = [[1 for _ in range(self.size)] for _ in range(self.size)] # Пробегаем по всем полю. # Если находим раненый корабль — ставим клеткам выше ниже и по бокам # коэффициенты умноженые на 50 т.к. логично что корабль имеет продолжение в одну из сторон. # По диагоналям от раненой клетки ничего не может быть — туда вписываем нули for x in range(self.size): for y in range(self.size): if self. radar[x][y] == Cell.damaged_ship: self.weight[x][y] = 0 if x — 1 >= 0: if y — 1 >= 0: self.weight[x — 1][y — 1] = 0 self.weight[x — 1][y] *= 50 if y + 1 < self.size: self.weight[x — 1][y + 1] = 0 if y — 1 >= 0: self.weight[x][y — 1] *= 50 if y + 1 < self.size: self.weight[x][y + 1] *= 50 if x + 1 < self.size: if y — 1 >= 0: self.weight[x + 1][y — 1] = 0 self.weight[x + 1][y] *= 50 if y + 1 < self.size: self.weight[x + 1][y + 1] = 0 # Перебираем все корабли оставшиеся у противника. # Это открытая инафа исходя из правил игры. Проходим по каждой клетке поля. # Если там уничтоженый корабль, задамаженый или клетка с промахом — # ставим туда коэффициент 0. Больше делать нечего — переходим следующей клетке. # Иначе прикидываем может ли этот корабль с этой клетки начинаться в какую-либо сторону # и если он помещается прбавляем клетке коэф 1. for ship_size in available_ships: ship = Ship(ship_size, 1, 1, 0) # вот тут бегаем по всем клеткам поля for x in range(self.size): for y in range(self.size): if self.radar[x][y] in (Cell.destroyed_ship, Cell.damaged_ship, Cell.miss_cell) \ or self.weight[x][y] == 0: self.weight[x][y] = 0 continue # вот здесь ворочаем корабль и проверяем помещается ли он for rotation in range(0, 4): ship.set_position(x, y, rotation) if self.check_ship_fits(ship, FieldPart.radar): self.weight[x][y] += 1
У нас есть поле с выставленными коэффициентами. Надо бы дописать функцию get_max_weight_cells которая будет возвращать список координат с максимальным коэффициентом.
def get_max_weight_cells(self): weights = {} max_weight = 0 for x in range(self.size): for y in range(self.size): if self.weight[x][y] > max_weight: max_weight = self.weight[x][y] weights.setdefault(self.weight[x][y], []).append((x, y)) return weights[max_weight]
Занесем координаты всех клеток в словарь weights. Ключом будет вес клеток. Значением — список содержащий пары координат.
Пробегаем по всем клеткам и заносим их в словарь. Заодно запоминаем максимальное значение веса. Далее просто берём из словаря список координат с ключом максимальным заначением веса: weights[max_weight]
Всё что осталось сделать ИИ, для совершения адекватного хода, это из полученного списка координат выбрать случайную:
x, y = choice(self.field.get_max_weight_cells())
Вот вроде бы и всё. Здесь не описал многие детали реализации, но, как я писал выше, комментарии есть еще в коде.
Строку 335 можно раскомментировать, чтобы получить доступ к отладочному полю с коэффициентами и видеть их распределение.
Вы можете опробовать морской бой прямо здесь, а так же прочитать дополнительные комментарии
Если хотите еще статью похожей тематики — ставьте лайк и предлагайте идеи.
В следующих раз можем попробовать написать например телеграмм-бот тамагочи: )
Игра «Морской бой».
Актуальность: эта игра помогает развить логическое и стратегическое мышление, интуицию и память для победы, когда стараешься предугадать ходы противника, чтобы достаточно нелегко, правильно рассчитываешь свои ходы, рационально расставляешь корабли. Данная игра очень актуальна на сегодняшний день.
Цель: минимизировать количество переходов ходов на основе разработки стратегии расстановки своих кораблей и ведения огня по кораблям противника.
Задача: Научиться обосновывать выбор стратегии игры. Даже в такой игре он не должен носить исключительно интуитивный характер, а должен строиться на предписаниях теории.
Правила игры: В практической части будем рассматривать наиболее распространённый вариант со следующим набором кораблей: Все перечисленные корабли должны быть размещены на квадратном поле 10 на 10 клеток, при этом корабли не могут соприкасаться ни углами, ни сторонами. Строки игрового поля нумеруются сверху вниз, а вертикальные ряды помечаются русскими буквами от «А» до «К» (при этом буквы «Ё» и «Й» пропускают).
Рядом рисуется вражеское поле аналогичного размера. При удачном выстреле по кораблю противника на соответствующей клетке вражеского поля ставится крестик и производится повторный выстрел, при неудачном выстреле в соответствующей клетке ставится точка, и ход переходит к противнику.
В игру «морской бой» играют два человека, которые по очереди называют координаты кораблей на карте противника. Если на поле с указанными координатами располагается корабль, то этот корабль или часть его «топится», а попавший имеет право сделать ещё один ход.
При размещении корабли не могут касаться друг друга углами. Палубы кораблей надо строить «в линейку», а не изгибами. Главное: нельзя строить палубы одного корабля по диагонали. Перед началом боевых действий игроки бросают жребий или договариваются, кто будет ходить первым. В игре морской бой всегда есть элемент случайности, но его можно свести к минимуму.
Стратегия состоит из 2-х частей. 1) Правильная стрельба по противнику. 2) Правильная расстановка кораблей. Принципы рациональной стратегии стрельбы
Первым и самым очевидным правилом оптимальной стрельбы является следующее правило: не стрелять по клеткам непосредственно окружающим уничтоженный корабль противника.
Из первого правила сразу вытекает второе: если вам удалось подбить вражеский корабль, необходимо сразу же его добить, чтобы как можно раньше получить список гарантировано свободных клеток.
Третье правило вытекает из первых двух: необходимо в первую очередь пытаться подбить самые крупные корабли противника. Это обосновывается тем что, уничтожив вражеский линкор, мы в лучшем случае получим информацию сразу о 14 гарантировано свободных клетках, а уничтожив крейсер, всего о 12.
Таким образом, оптимальную стратегию стрельбы можно свести к целенаправленному поиску и уничтожению самых крупных кораблей противника. К сожалению, сформулировать стратегию мало, необходимо предложить способ (тактику) её реализации.
Для начала давайте рассмотрим участок игрового поля размером 4 на 4 клетки. Если в рассматриваемом участке есть вражеский линкор, то его гарантировано можно подбить не более чем за 4 выстрела. Для этого надо стрелять так, чтобы на каждой горизонтали и вертикали было ровно по одной проверенной клетке. Ниже представлены все варианты такой стрельбы (без учёта отражений и поворотов).
Среди всех этих вариантов, оптимальными на поле 10 на 10 клеток являются только первые два варианта, гарантирующие попадание в линкор максимум за 24 выстрела.
После того, как уничтожен вражеский линкор, необходимо начинать поиск крейсеров, а затем и эсминцев. При этом, как вы уже догадались, можно воспользоваться аналогичной методикой. Только теперь необходимо разбивать поле на квадраты со стороной в 3 и 2 клетки соответственно.
Если при поиске линкора вы использовали вторую стратегию, то для поиска крейсеров и эсминцев вам необходимо стрелять по следующим полям (зелёным отмечены поля, по которым вы уже стреляли при поиске линкора):
Для поиска катеров оптимальной стратегии не существует, поэтому в конце игры приходится опираться в основном на удачу.
Последовательность лучших ходов для начала игры.
Если обратиться к математической теории, то можно построить карту вероятности размещения кораблей:
Исходя из этой карты, последовательность «лучших ходов» при постоянных промахах выглядит так (см. рисунок):
C1, J8, A8, h2, A4, J4, D10, G10, E1, D2, B3, A2, C9, B10, H9, I10, I7, J6, I5, H6, J2, I3, h5, G5, G2, F3, E4, B7, A6, B5, C6, C3, D4, D5, F6.
Как расставить «свои» корабли
Оптимальная стратегия размещения кораблей в некотором смысле обратна оптимальной стратегии стрельбы. При стрельбе, мы пытались найти самые крупные корабли, чтобы сократить количество клеток, которые нужно проверять на основе гарантировано свободных клеток. Значит, при размещении корабли надо ставить таким образом, чтобы в случае их потери минимизировать количество гарантировано свободных клеток. Как вы помните, линкор в центре поля открывает для противника сразу 14 полей, но линкор, стоящий в углу, открывает для противника всего 6 полей:
Аналогично, крейсер, стоящий в углу, вместо 12 полей открывает всего 6. Таким образом, разместив крупные корабли вдоль границы поля, вы оставляете больший простор для катеров. Т.к. стратегии для поиска катеров нет, противнику придётся стрелять наугад, и чем больше свободных полей у вас останется к моменту ловли катеров, тем тяжелее будет выиграть противнику.
Ниже представлено три способа размещения крупных кораблей, которые оставляют большой простор для катеров (отмечено синим цветом):
Каждая из приведённых расстановок оставляет для катеров ровно 60 свободных клеток, а это значит, что вероятность случайно попасть в катер составляет 0,066. Для сравнения стоит привести случайную расстановку кораблей:
При такой расстановке для катеров остаётся всего 21 клетка, а это значит, что вероятность попадания по катеру составляет уже 0,19, т.е. почти в 3 раза выше.
Вывод: Выгодная расстановка кораблей в соответствии с тактикой действительно позволяет выигрывать. При хорошем анализе и продуманной тактике, полагаться на интуицию и удачу нет необходимости, но все же учитывать случайности стоит.
Морской бой (игра) — Гигантская бомба
Обзор
В Морском бою два игрока формируют флот кораблей и используют стратегию и боевую тактику, чтобы попытаться захватить гавань противника. Морской бой практически неизбежен, и игроки будут использовать орудия, торпеды и мины, чтобы атаковать и топить любые корабли противника, которые блокируют им путь к вражеской гавани.
Морской бой был разработан Кеном Смитом из APh Technological Consulting и выпущен в 1980 году для Intellivision. Это была часть серии игр Action Network, и, как и многие игры, разработанные APh, Sea Battle также была одной из первых игр, выпущенных для консоли Intellivision. Sears также выпустила Sea Battle под своим брендом Tele-Games Super Video Arcade. В 2000 году порт Atari 2600 был выпущен ограниченным тиражом для коллекционеров. 24 марта 2010 года Sea Battle стала частью первой волны игр, которые стали доступны в игровой комнате Xbox 360.
Важно отметить, что в Морском бою нет вражеского ИИ, поэтому без двух человек игра теряет значительную часть своей развлекательной ценности.
Геймплей
В каждой игре Морского сражения игроки начинают с одного и того же набора из 13 кораблей, которые могут быть развернуты различными способами из своей гавани. Карта океана всегда одна и та же, как и гавани для обеих сторон. Первый игрок командует серым флотом, чьи корабли всегда смотрят на восток, а второй игрок командует коричневым флотом, чьи корабли всегда смотрят на запад.
Objective
Противоборствующие гавани и флотыЦелью Морского сражения является пилотирование кораблей в гавани вашего врага, которые захватят ее и закончат битву. Изначально единственные два корабля, способные захватить гавани, — это авианосец и военный транспорт. Однако, если обе стороны потеряют эти корабли, то любой корабль имеет право на захват гавани.
Важным ключом к этой цели является то, что битва, хотя и почти наверняка, не является необходимостью для победы в игре. Хитрые маневры флота и неосторожный противник могли привести к легкой победе без участия кораблей в бою.
Корабли
Каждый игрок начинает с 13 кораблей в своем флоте и может создать до четырех флотов, состоящих из трех кораблей каждый, в любой момент времени. Различные характеристики каждого корабля следующие:
- Доступное количество: Сколько таких кораблей находится в вашем флоте. Как только корабль тонет, его нет до конца матча.
- Максимальная скорость: Максимальная скорость, на которой может двигаться корабль. Флоты движутся так же быстро, как и самый медленный корабль в их составе.
- Ускорение: Сколько времени требуется кораблю, чтобы достичь максимальной скорости или изменить направление. Это гораздо более важно при навигации в бою, поскольку у кораблей вне боя редко есть причина быстро двигаться.
- Броня: Количество очков жизни, или HP, повреждений, которые корабль может выдержать до того, как затонет. Например, если у корабля 10 ед. брони, он утонет после получения 11 ед. урона — 10 ед. для брони и еще 1 ед. для его потопления.
- Тип оружия: В Морском бою есть три вида оружия: пушки, торпеды и мины. Оружие должно быть точно нацелено и поразить цель в точке приземления в перекрестии прицеливания, чтобы нанести урон. Торпедам такая точность не требуется, и они нанесут урон, если попадут в цель в любом месте на пути к прицелу. Мины используются только вне боя, и на стратегической фазе можно установить до четырех минных полей невидимо.
- Сила оружия: Количество урона, наносимого оружием при попадании в цель.
- Дальность оружия: Расстояние, на которое прицел корабля может пройти до стрельбы из орудий. Оружие малой дальности, естественно, потребует, чтобы корабль приблизился к своей цели, прежде чем открыть огонь.
- Доступное количество: 1
- Максимальная скорость: 30 узлов
- Ускорение: Медленное
- Броня: 25 л.с. 028
- Дальность оружия: Длинный
Авианосец медленно движущийся корпус корабля с отличной броней и приличным вооружением, компенсирующим его медленное движение. При искушении вступить в бой следует позаботиться о том, чтобы авианосец оставался на плаву, так как это один из двух кораблей, которые могут в любой момент захватить гавань противника (военный транспорт — другой корабль).
Военный транспорт Военный транспорт- Имеющийся номер: 1
- Максимальная скорость: 30 узлов
- Ускорение: 90 027 Медленный
- Броня: 25 HP
- Тип оружия: Пистолет
- Сила оружия: 7 HP
- Дальность оружия: Очень короткое
Военный транспорт может выдержать большое количество повреждений, как и авианосец, но его вооружение значительно ниже среднего для защиты от вражеских кораблей . Хотя он вполне способен захватить вражескую гавань в любое время, транспорту войск почти наверняка потребуются другие корабли для защиты от нападения.
Морской бой Морской бой- Имеющийся номер: 2
- Максимальная скорость: 35 узлов
- Ускорение: 9002 7 Средний
- Броня: 30 HP
- Тип оружия: Пистолет
- Сила оружия: 12 л.с.
- Дальность оружия: длинное
Линкор — самый бронированный корабль в игре, его скорость и вооружение выше среднего. Возможно, это не самый маневренный из доступных кораблей, но он является хорошим универсальным выбором для атаки врагов и защиты ценных кораблей.
Подводная лодка Подводная лодка- Имеющийся номер: 1
- Максимальная скорость: 35 узлов
- Ускорение: 90 027 Quick
- Броня: 15 HP
- Тип оружия: Торпеда
- Сила оружия: 20 HP
- Дальность оружия: Very Long
Подводная лодка предназначена для уничтожения. Он очень быстр и чрезвычайно маневренен в воде, а его торпеды — самое мощное оружие, доступное в боевой фазе. Платой за невероятную атакующую мощь является броня ниже среднего, а это означает, что в отчаянных боях следует соблюдать осторожность. Тем не менее, единственное оружие, которое сразу потопит подводную лодку, — это мины или торпеды другой подводной лодки, так что оно ни в коем случае не хрупкое.
Эсминец Эсминец- Имеющийся номер: 3
- Максимальная скорость: 40 узлов
- Ускорение: Быстрый
- Броня: 15 HP
- Тип оружия: Пистолет
- Сила оружия: 9 л.с.
- Дальность оружия: Средняя
Недостаток брони и вооружения эсминец компенсирует скоростью. Это не идеальный выбор для большинства сражений, но опытный навигатор может преодолеть его недостатки. Кроме того, как самый многочисленный из доступных кораблей, он может прилично дополнить любой строй флота.
PT Boat PT Boat- Имеющийся номер: 2
- Максимальная скорость: 40 узлов
- Ускорение: Очень быстрый
- Броня: 5 HP
- Тип оружия: Торпеда
- Сила оружия: 12 л.с.
- Дальность оружия: Короткий
Сердце и душа катера PT заключается в беге и стрельбе. Это, без сомнения, самый быстрый из доступных кораблей, а его торпеды делают его очень опасной угрозой. Однако брони у него практически нет, так что любой другой корабль может потопить ПТ-лодку одним прямым попаданием. Его лучший шанс на выживание — пройти рядом с медленным кораблем, выстрелить торпедами и как можно быстрее отступить для следующего захода.
Минный заградитель Минный заградитель- Имеющийся номер: 1
- Максимальная скорость: 20 узлов
- Ускорение: 90 027 Средняя
- Броня: 15 HP
- Тип оружия: Пушка/ Мины
- Сила оружия: 6 л. с./20 ед. против большинства других кораблей. Истинное преимущество минного заградителя заключается в его способности устанавливать до четырех минных полей в океане на стратегической фазе. Эти минные поля совершенно невидимы, и единственный способ, которым противник узнает точное местонахождение одного из них, — это если они проведут над ним флот, нанося 20 единиц урона флагману флота немедленно и еще 20 единиц урона каждые несколько секунд, если они достаточно неосторожны, чтобы оставаться в пределах минного поля. Хотя это чрезвычайно опасная черта, у каждого флота есть только один минный заградитель, и потеря возможности устанавливать мины в начале боя может стать серьезной ошибкой. Тральщик Тральщик
- Доступное количество: 2
- Максимальная скорость: 30 узлов, 15 узлов в режиме траления 90 025 Ускорение: Среднее
- Броня: 20 HP
- Тип оружия: Gun
- Сила оружия: 6 HP
- Дальность оружия: Very Long
Тральщик — еще один корабль, которому, вероятно, следует избегать прямого морского конфликта, с невероятно слабым вооружением и броней чуть выше среднего . Его талант заключается в противодействии минному заградителю, и в любой момент он может перейти в режим очистки, который удалит все минные поля, через которые проедет флот тральщика. Однако нет никаких указаний на то, было ли успешно удалено минное поле, и переход в режим поиска снижает скорость тральщика до чрезвычайно низкой скорости, что делает его очень уязвимым для перехвата силами противника.
Фаза стратегии
Морское сражение начинается на фазе стратегии с картой поля битвы, которое представляет собой океан, усеянный островами. Непрерывный звуковой сигнал сонара будет выключаться, указывая на прошедшее время. Корабли каждой стороны начинают швартоваться в своей гавани, и для начала обе стороны должны начать формировать флоты.
Карта океана в начале игрыФлоты состоят из групп от одного до трех кораблей. Каждый флот может выставить максимум четыре флота одновременно, и ни один флот не может иметь более одного корабля одного типа. Если игрок попытается добавить дубликат корабля во флот или выберет корабль, которого больше нет в гавани, игра загудит, а приказ будет проигнорирован. Первый корабль, выбранный для любого флота, считается флагманом, а второй и третий корабли примут на себя флагманское командование в этом порядке в случае затопления. Хотя размер флота виден на этапе стратегии, типы кораблей, находящихся в настоящее время во флоте, не раскрываются.
Игроки перемещают по карте по одному флоту, стратегически позиционируя их или пытаясь продвинуться к вражеской гавани. Активный флот медленно мигает, когда он маневрирует по карте. Если минный заградитель развернут во флоте, он может установить до четырех невидимых минных полей в любой момент времени.
В случае необходимости ремонта или реорганизации флота, его можно отвести обратно в родную гавань и приказать остановиться. Это удалит его корабли с карты океана и полностью восстановит любой нанесенный ущерб. Затем корабли могут быть передислоцированы как обычно. Перегруппировка в домашней гавани может быть выполнена всего три раза за бой.
Когда два противоборствующих флота окажутся в пределах досягаемости друг друга, они начнут быстро мигать, а звук сонара прекратится. В этот момент у любой из сторон есть примерно пять секунд, чтобы принять решение вступить в бой с противником, переводя битву в фазу боя. В том маловероятном случае, если ни одна из сторон не решит вступить в бой через пять секунд, фаза стратегии продолжится, но если флоты останутся в пределах досягаемости через несколько секунд, им будет предложена возможность снова вступить в бой. Когда более чем один флот находится в пределах досягаемости боя, игра будет циклически перебирать все возможные сражения, предоставляя игроку с несколькими флотами в пределах досягаемости возможность выбрать, какой флот (если есть) он предпочитает для боя.
Фаза боя
Как только одна из сторон решает вступить в бой с вражеским флотом, начинается фаза боя. Здесь экран увеличивает область, окружающую два флота, и показывает точные корабли в каждом флоте. Оба игрока начинают с управления своим флагманом и могут переключаться между кораблями, управляя одним кораблем за раз против вражеского флота.
Прицеливание в боевой фазеКорабли маневрируют в зависимости от их максимальной скорости и ускорения и склонны проявлять инерцию, подобную тяжелому плавсредству. Чтобы стрелять из орудий или торпед, необходимо удерживать кнопку прицеливания (которая останавливает любую тягу или управление), и появится перекрестие, которое можно перемещать. Пределы прицельного прицела основаны на дальности стрельбы корабля, но как только перекрестие выведено при прицеливании, оно останется неизменным в своем положении относительно корабля, если корабль продолжает двигаться.
После того, как игрок выстрелит, шквал выстрелов или торпеда, в зависимости от корабля, выстрелит в сторону прицела, и прицел будет сброшен (это означает, что каждый выстрел нужно будет прицелить перед выстрелом). Если оружие соединится с кораблем, произойдет взрыв; в противном случае будет слышен громкий всплеск. Попадание нанесет урон оружия против боеспособности корабля. Удар по земле во время фазы боя будет наносить 12 единиц урона каждые несколько секунд. Это может быть особенно опасно, если флот входит в боевой режим близко к земле, так как их корабли могут появиться прямо у земли и получить урон. Когда корабль теряет броню и получает дальнейшие повреждения, он тонет.
Тонущий корабль посреди битвыЕсть два способа закончить фазу боя: полностью уничтожить флот или отступить. Чтобы отступить, один игрок должен нажать кнопку включения, чтобы выйти из боя. Прозвучит сигнал тревоги, и пройдет пятнадцать секунд, прежде чем флот отступит, поэтому необходимо соблюдать осторожность, чтобы избежать дальнейшего урона от врага. Независимо от конечного состояния, после этого игра вернется к стратегической фазе. Если боевая фаза была завершена отступлением, отступающий флот должен по возможности быстро удалиться от врага. В противном случае противнику будет предоставлена возможность повторно вступить в бой через несколько секунд.
Базовая стратегия
Для победы в Морском бою важно помнить начальное условие победы: вывести авианосец или десантный транспорт в гавань противника. Это означает, что мудрый игрок должен прежде всего защищать как свою гавань, так и захватываемые корабли. Размещение флота в качестве последней линии обороны в гавани обычно является хорошей идеей, и защита путей к гавани путем установки минных полей также полезна, тем более что минные поля не могут повредить команде, которая их установила.
Досрочная победа. Не оставляйте свою гавань без защиты!Объединение захватных кораблей с большим количеством наступательных кораблей во флоте поможет обеспечить их безопасность в случае нападения на них. Оба захватывающих корабля не должны находиться в одном флоте, так как это подвергает их обоих риску в боевой ситуации. Следует рассмотреть вопрос о том, чтобы сделать корабль, отличный от авианосца или военного транспорта, флагманом флота; таким образом, если флот пройдет через минное поле, захватывающие корабли не будут серьезно повреждены, поскольку минные поля сначала повредят только флагман. Линкоры с 30 ОЗ, чтобы противостоять минным полям 20 ОЗ, вероятно, являются хорошим флагманом в этих случаях. Кроме того, использование тральщиков для сопровождения захваченных кораблей может помочь предотвратить смертельную атаку. Потеря авианосца и транспорта на раннем этапе означает потерю возможности добиться победы до тех пор, пока не будут уничтожены захваченные корабли противника.
Наконец, хотя на стратегической фазе полезно помнить о конфигурации собственного флота, еще полезнее попытаться выяснить, какие флоты использует противник. Более быстрые флоты могут содержать только атакующие силы, в то время как заметно медленные флоты могут быть либо минными заградителями, стремящимися установить опасные минные поля, либо тральщиками, стремящимися обезвредить мины противника.
Версия для Atari 2600
В июле 2000 года на выставке Classic Gaming Expo была выпущена специальная версия Sea Battle для Atari 2600, доступная для коллекционеров. Этот порт, вероятно, был сделан Intellivision Productions, но он был опубликован под лейблом Retrotopia, термин, который Intellivision Productions, похоже, использует для спонсорства выставки.
Эта специальная версия для Atari 2600, похоже, была выпущена в единственном экземпляре и нигде не продается. По этой причине это, вероятно, довольно редко.
Xbox 360 Game Room
Версия Sea Battle для игровой комнаты. Обратите внимание на похожие цвета кораблей.Морской бой был частью первой серии игр, представленных в игровой комнате Xbox 360 24 марта 2010 года.
Визуально игра практически такая же, за исключением того, что военно-морской флот Игрока 2 имеет бледно-зеленый оттенок, а не оранжевый. . Однако необходимость вызывать «виртуальную цифровую клавиатуру» для выбора флота и команд не только делает игру неудобной, но и разрушает секретность таких команд, поскольку игроки могут легко просматривать ввод своего противника. Это фактически делает стратегическую составляющую Морского боя совершенно бесполезной.
Надводные силы стремятся к «боевым кораблям, боеспособным экипажам»
Моряки, прикомандированные к эсминцу с управляемыми ракетами класса Arleigh Burke USS Porter (DDG-78), реагируют на учения «Человек за бортом» во время пикника на стальном пляже в Средиземном море, 25 августа 2019 г. Фото ВМС США
САН-ДИЕГО, Калифорния. — Командующий надводными силами ВМС призывает флот быть более готовым к высококлассным боевым действиям, как в навыках экипажа и материальное состояние кораблей.
Вице-адмирал Ричард Браун, командующий надводными силами ВМС, хочет изменить культуру, чтобы создать «боеспособные корабли и боеспособные экипажи», сказал он в недавнем интервью USNI News, и во многом это означает отказ от поводья и позволяя командирам кораблей подталкивать свои экипажи к достижению совершенства.
За последние полтора года СУРФОР добился прогресса в части боеспособных кораблей.
«Что значит боеспособный корабль? Это означает, что корабли развертываются и не оставляют лишнего на пирсе, что все работает на этом корабле в момент развертывания», — сказал он, отметив, что ранее ВМС стремились к экономии средств и повышению эффективности, а не готовились к морскому бою, который мог бы вывести из строя часть оборудования и потребовать, чтобы все резервные системы были в хорошем рабочем состоянии, чтобы включиться.
«Когда я пришел к власти, я поставил перед собой несколько целей. … Это было довольно просто: в нем говорилось, что мы собираемся использовать наши корабли, полностью сертифицированные, полностью укомплектованные экипажем в соотношении 92/95 (подгонка/заполнение) и без CASREP».
«Моя БИХАГ (большая, волосатая, дерзкая цель) заключалась в развертывании без CASREP, потому что мы не делали этого десятилетиями», — добавил он, ссылаясь на отчеты о несчастных случаях, в которых подробно описаны детали, необходимые для ремонта неисправного оборудования.
«Честно говоря, в январе 18-го года мы развернули корабли с 25-30 [категорией 2] CASREPS, совершенно не включённые. Но в апреле этого года мы развернули Boxer [Amphibious Ready Group] без CASREP, всю ARG».
Браун признал, что такой способ стоит больше денег и ложится дополнительным бременем на и без того напряженные службы технического обслуживания и логистики. Но, по его словам, если военно-морской флот призван вести высококлассную войну, корабли должны начинать работу в хорошем рабочем состоянии.
Раньше, по его словам, менталитет был таким: «Эй, у тебя шесть пожарных насосов; если у вас есть два вниз, я собираюсь потратить дополнительные деньги, чтобы накачать этот огонь, прежде чем вы развернетесь? Предприятие скажет, что это невыгодно. Большой. Аспект боеспособности корабля говорит о том, что когда мы отправимся в бой, FedEx и DHL не будут летать на театр военных действий, так зачем вам оставлять резерв на причале?
«Но за это приходится платить, потому что иногда детали ломаются, и я не могу доставить деталь на корабль через систему снабжения до развертывания, поэтому я должен пойти и заняться каннибализацией, а потом я плачу часть обратно на корабль, который я съел, — продолжил он.
«Итак, на этот счет есть две точки зрения. Я думаю, что мне нужна полная система, которая идет вперед, и тогда я позабочусь о том, чтобы корабль, который находится здесь, получил эту систему.
Браун сказал, что доволен прогрессом в достижении боеготовности кораблей.
Что касается создания боеспособных команд, сказал он, здесь необходимо больше работы, потому что он не может просто дать команду на изменение; моряки должны понять, что может быть поставлено на карту, и изменить свою точку зрения.
Моряки эсминца с управляемыми ракетами USS Gravely (DDG 107) стоят на рельсах, когда корабль покидает Хоконсверн, Норвегия, 4 февраля 2019 года. Фото ВМС США.
Браун сказал, что разговаривает с экипажами при каждом удобном случае и рассказывает им, «что такое война на море. Это не антисептик; это ужасно». Он сослался на битву Второй мировой войны у Гуадалканала, где корабли были поражены, и несмотря на любые потери личного состава, которые понес корабль, моряки по-прежнему будут отбиваться от японских самолетов, несмотря на отсутствие радара или электроэнергии.
Трехзвездный адмирал сказал, что одним из его первых действий после того, как он возглавил надводные силы, была передача командного сообщения: «Там я написал строку, в которой говорится, что командование ВМС США делает нас такими могущественными, это действительно так. У нас уникальная концепция командования, и поэтому я безоговорочно доверяю своим командирам, но с этим доверием приходит невероятная и непоколебимая подотчетность и ответственность».
Имея это в виду, он попросил командиров своих кораблей помочь привить их экипажам боевой менталитет, и он был впечатлен некоторыми результатами. Браун упомянул коммандера. Роберт Макфарлин, капитан базирующегося в Японии эсминца USS 9.0419 Бенфолд (DDG-65).
Когда корабль возвращался из патруля и направлялся в сухой док для технического обслуживания, «мы получили от него электронное письмо, и он запросил трехдневный MRE (готовая еда). А мы такие, что? Нет! Мы не даем вам три дня MRE, зачем вам это? Он уходит, потому что мы собираемся решить трехдневную боевую задачу, и я собираюсь закрыть свою камбуз. И мы идем, о, хорошо, вы можете взять их.
«Это то, что я хочу, чтобы мои командиры делали. Это было потрясающе», — продолжил он.
«Об этом до сих пор говорят. Эта команда поместила свой корабль в DSRA, у них был самый высокий оптовый темп среди всех DDG на 7-м флоте, и я только что отправился туда в июне, чтобы увидеть их, и они грызли удила, чтобы вывести этот корабль из сухого дока и вернуться. в патруле. Это именно то, чего мы хотим».
Моряки, прикомандированные к эсминцу с управляемыми ракетами класса «Арли Берк» USS Farragut (DDG-99), наблюдают грозу ночью 9 июля 2019 г. пусть командиры найдут свои собственные способы пройти базовую подготовку — при этом выполняя все те же требования, что и в группе обучения на плаву, но, возможно, за меньшее время и, возможно, во время подготовки к более высокому уровню боевых действий.
Браун сказал, что предыдущая фаза базовой подготовки была очень жесткой и сосредоточена на «соблюдении правил». Если 70 процентов проходят, я просто собираюсь перейти к 70 процентам, чтобы я мог перейти к следующему. Так что нет стремления к совершенству».
Теперь у командиров кораблей больше контроля над тем, как провести базовую подготовку своих экипажей и подготовить их к многодневному финальному бою.
Капитан Курт Селлерберг, командир крейсера USS Bunker Hill (CG-52), рассказал USNI News в отдельном интервью, что он смог провести свою команду через базовую фазу примерно на пять или шесть недель раньше, плюс он На протяжении всего базового этапа моряки находили время, чтобы позаботиться о таких вопросах личной готовности, как посещение врача и стоматолога, повышение квалификации и многое другое.
Выполнив свой список требований для базовой подготовки быстрее, чем обычно, Селлерберг смог запланировать несколько репетиций перед финальной боевой задачей, отправить часть своего персонала на Аляску, чтобы отрепетировать свою роль командира противовоздушной обороны с авианосным ударом Теодора Рузвельта. Группируйтесь и выделите еще больше времени для индивидуальных тренировок.
Лейтенант Джовен Эрнани Дингласан, в центре, инструкторы по тактике ведения боевых действий (WTI) Центра разработки военно-морских надводных и минных боевых действий (SMWDC), наблюдает за лейтенантом Райаном Келли и лейтенантом Бью Веддербюреном, когда они действуют в качестве офицера тактических действий и осуществляют тактические действия офицер во время репетиции ракетных учений на борту USS Bunker Hill. Фото ВМС США.
«Составляя действительно хороший план и каждую неделю записывая сценарии для всех событий, которые мы хотели провести, мы действительно начали нашу основную фазу в феврале, и нам было выделено время до середины июня, чтобы завершить ее — и, по сути, мы просто к началу мая все мероприятия, кроме нескольких, будут завершены», — сказал Селлерберг.
«Итак, когда вы говорите о выкупе времени, это зависит от вашей точки зрения — младший моряк смотрит на выкуп времени, потому что, эй, у меня больше свободного времени. Некоторые пожилые люди смотрят на то, чтобы вернуть время с точки зрения «окей, что еще я могу сделать, чтобы быть более готовым?» И также сбалансируйте эту перспективу качества жизни, чтобы люди могли заботиться о таких вещах, как медицина, стоматология, семья, личные улучшения, школы и все такое. Таким образом, мы смогли справиться со многими из них за счет повышения квалификации людей, повышения NEC (классификации военно-морского флота), и это помогло повысить готовность и глубину скамьи».
Например, он сказал, что у его экипажа было в три или четыре раза больше времени, чем обычно, на инструкторах по навигации, морскому делу и управлению судами (NSST), а его младшие офицеры смогли получить свою квалификацию быстрее, чем обычно, благодаря тому, как был запланирован базовый этап обучения.
На вопрос, как ему удалось выкупить столько времени, Селлерберг ответил, что разбил базовые требования фазы на отдельные части. Учебное пособие объединяет 158 событий в блоки, которые решаются только по одному: сначала административная работа, затем мобильность и устранение повреждений, затем борьба с терроризмом и защита сил и, наконец, реальные боевые навыки.
Вместо этого он начал работать с Учебной группой на плаву (ATG), когда Bunker Hill все еще находился на техническом обслуживании, чтобы отменить административные требования и такие вещи, как силовая защита и поисково-спасательные работы, которые экипаж мог продемонстрировать, пока корабль находился у пирса.
После того, как корабль закончил техническое обслуживание, он подготовил команду, чтобы продемонстрировать свои лучшие навыки перед ATG и посмотреть, в скольких из 158 событий они смогут сразу пройти сертификацию.
«Я хочу появиться на первом взгляде с ATG, я хочу быть на сертификационном уровне — признавая, что я, вероятно, не попаду в хорошие 50 процентов из них, но те 50 процентов, которые я могу выбить… позволили нам затем сосредоточиться на более сложных задачах, над которыми нам нужно было поработать», — сказал капитан, отметив, что договоренность позволяет ATG сначала сосредоточиться на оценке, а затем на тренировках только там, где это необходимо.
«Когда вы говорите о выкупе времени, это не значит, что мы пытались делать все каждую неделю; вы пытаетесь делать очень конкретные вещи. И затем это выкупает пропускную способность, не только время, но и пропускную способность, чтобы руководство могло сосредоточиться на этих областях», — добавил он.
«Это было грандиозно».
Для событий, которые экипаж не прошел с первой попытки, Селлерберг создал более реалистичный морской опыт, в котором экипажу предлагалось заниматься инженерными работами, а также охотиться за подводными лодками, например, вместо традиционной базовой программы обучения, которая посвящает целую неделю только инженерному делу.
«Раньше у вас было что-то каждую неделю, и, нужно вам это или нет, вы проходили этот блок обучения. Иногда это занимало четыре или пять дней, иногда — один или два. Но всегда нужно было планировать эти пять», — сказал он.
Помощник электрика 3-го класса Кристиан Тексон из Короны, Калифорния, проверяет электрическую изоляцию во время учений по устранению повреждений на борту ракетного эсминца класса Арли Берк USS Russell (DDG-59) 15 июля 2019 г. . US Navy Photo
Контроль повреждений был одной из областей, где Bunker Hill доказал, что старую учебную модель можно урезать.
«На самом деле мы выполнили все наши упражнения за неделю, а обычно вы собираетесь выполнять их в течение двух или трех недель. Еще одной проблемой была инженерия, особенно в том, что касается тех мест, где мы сфокусировались на вахтенных командах, и нам удалось сделать это примерно на неделю раньше», — сказал он.
«Мы также смогли провести некоторые наши боевые стрельбы — там много стрельбы из оружия и других событий, которые вы делаете — мы смогли выбить их на ранней стадии фазы. Одну неделю мы отсутствовали, занимаясь инженерией, но мы также должны были пострелять из пятидюймовой пушки. И обычно в старой модели вам пришлось бы ждать, вероятно, еще пять, шесть или восемь недель, чтобы даже начать их, так что это дало нам гибкость для проведения нескольких боевых действий, различных боевых действий», — продолжил Селлерберг.
«Предполагается, что мы должны пройти сертификацию в 22 областях миссии. Так что я мог бы выполнять две или три разные области миссии в неделю, управляя этим на нашем уровне так, как я считал разумным. Это максимизирует наше время работы — вы можете выполнять столько часов инженерных упражнений в течение дня, поэтому, если бы я мог потратить пять часов, а затем заняться чем-то другим, либо как часть, либо в дополнение, тогда я только что купил назад целую неделю целенаправленных усилий. Так что я также думаю, что это дает мне возможность с оперативной стороны, когда вы смотрите на экономию топлива и ресурсов, чтобы начать работу, я действительно максимизирую свое время в 22 различных областях миссии».
Амфибийные десантные машины AAV-P7/A1, приписанные к 26-му экспедиционному отряду морской пехоты (26-й MEU), приближаются к доковому десантному кораблю класса Harpers Ferry USS Oak Hill (LSD 51) во время учений Baltic Operations (BALTOPS) 2018. ВМС США Фото.
После того, как компания ATG получила так много сертификатов на соревнования в первом плавании в море, а затем параллельно работала над оставшимися событиями, чтобы быстрее обучать и сертифицировать, у Селлерберга было достаточно времени в конце базового этапа, чтобы собрать четырехдневный , сложная финальная боевая задача, а также несколько репетиций для экипажа, чтобы подготовить их к тому, что может быть брошено им в этом последнем неоцениваемом тесте, прежде чем экипаж перейдет к этапу продвинутой подготовки.
«Последняя боевая задача была довольно сложным мероприятием продолжительностью три с половиной дня, когда мы приступили к работе и смоделировали в основном то, что мы увидели бы в развернутой среде, и это позволило нам действительно сосредоточиться на этом. и подготовьтесь к этому», — сказал Селлерберг, отметив, что он втиснул около 40 из 158 удостоверяющих событий в этот единственный период в море, создав обстановку, похожую на каюту, где экипаж тушит пожар, защищая корабль от приближающихся крылатых ракет. и проведение наступательных атак.
Во время тренировок и финальной боевой задачи Селлерберг сказал, что добавил переменные, чтобы держать экипаж в напряжении — в одном случае он смоделировал весь вахтенный экипаж, выведенный из строя во время атаки, требуя, чтобы остальная часть экипажа корабля ответьте лечением и устранением повреждений и заставьте более младших моряков подняться и нести вахту.
«Было забавно посмотреть. Иногда это были наименее ожидаемые люди, а в других случаях, да, я ожидал, что этот человек выступит и сделает это.