Battlefleet

версия 2.0


Содержание

Добро пожаловать
Перед тем, как начать
Выбор сценария
Режим редактора
Режим игры
Режим фильма
Режим редактора
Назначение
Обзор пользовательского интерфейса
Определение свойств сценария
Определение свойств карты
Добавление кораблей в сценарий
Определение свойств корабля
Группировка кораблей
Настройка автоматического управления
Сохранение сценария
Режим игры
Назначение
Обзор пользовательского интерфейса
Управление движением
Остановка и запуск игры
Скорость хода времени
Группировка кораблей
Изменение принадлежности корабля
Управление скоростью и курсом
Автоматическое управление
Сообщения
Сохранение масштаба
Отображение названия корабля
События
Сохранение сценария
Режим фильма
Назначение
Создание фильма
Дополнительная информация
Исходный код
Формат файла списка кораблей
Флаги
Локализация
Сообщение об ошибках

Добро пожаловать

Добро пожаловать в программу Battlefleet, которая воспроизводит один из наиболее впечатляющих периодов в истории военно-морских битв. Более десятилетия, начиная с 1895 года, мировые лидеры и развивающиеся нации были вовлечены в ряд войн и военно-морских программ, целью которых было изменение политического ландшафта мира. Разнообразие судостроительных программ и военно-морских доктрин, получивших развитие в это время, привело к практической непредсказуемости результатов; а последующие военные столкновения в преддверии Мировой войны стали причиной внезапных кризисов, затронувших все народы мира. В это время военно-морские силы двух древних империй, России и Испании, были внезапно разгромлены двумя новыми индустриальными державами, Японией и Америкой. Но не только Испано-Американская и Русско-Японская войны дали толчок дальнейшему развитию морских вооружений, свой вклад внесли и множество других конфронтаций этого периода.

В это время над всем маячили "супер-флоты" Великобритании и Франции. Северные моря видели "футуристические" французские броненосцы, их английских и итальянских противников; закованные в броню американские "береговые" броненосцы поддерживали доктрину Монро; японский флот из новейших построенных англичанами кораблей сражался с русским в Тихом океане.

В Battlefleet многие из возможностей и реальностей могут быть воспроизведены, с возможностью воздействовать на результат.

Компьютерная программа Battlefleet разработана на основе описания игры Battlefleet, доступного на War Times Journal. На данный момент реализовано только малое подмножество из описанных правил - маневрирование кораблей (моделирование артиллерийской дуэли не поддерживается).

Перед тем, как начать

Выбор сценария

Battlefleet - это программа для моделирования военно-морских сражений. Программа может работать в одном из трёх режимов:

  • Редактор для создания новых сценариев битв и редактирования начальных условий уже существующих;

  • Игра для управления ходом сражения;

  • Фильм для просмотра ранее записанного сражения как на видеомагнитофоне.

При старте программы Battlefleet открывается окно выбора сценария. Это окно позволяет указать режим программы (Редактор, Игра или Фильм), а также выбрать сценарий.

Кнопка Справка в окне Выбор сценария отображает данный текст; кнопка Отменить закрывает окно без каких либо дополнительных действий; кнопка Выйти завершает работу программы Battlefleet.

Режимы работы программы описаны ниже.

Режим редактора

Создание нового сценария

Если вы намереваетесь создать полностью новый сценарий, выберите кнопку Редактор, а затем страницу Создать (см. рисунок Создание нового сценария).

Создание нового сценария

Строка, введённая в поле Название сценария, будет отображаться в формах пользовательского интерфейса.

Значение поля Имя файла будет использовано как начало имени файлов данного сценария в файловой системе компьютера. Новые сценарии сохраняются в подкаталоге data рабочего каталога Battlefleet. Для Windows рабочий каталог - в домашнем каталоге пользователя (обычно C:/Users/<user_name>), в подкаталоге AppData/Local/battlefleet. Для Linux это подкаталог battlefleet в домашнем каталоге пользователя. Каждый сценарий состоит из файла с указанным именем и расширением .xml и подкаталога с указанным именем.

Выберите названия противников из выпадающих списков или введите их в поля Сторона 1 и Сторона 2. Корабли разных противников отображаются разными цветами на карте сражения.

Введите начальное время сражения в поле Дата начала, кратное описание сражения в поле ввода внизу и нажмите кнопку Начать. Сценарий будет открыт в редакторе. Чтобы изменить сценарий позднее выберите страницу Открыть в этом же окне - только что созданный сценарий будет в списке всех существующих сценариев.

Редактирование существующего сценария

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

Редактирование сценария

Список в окне содержит все доступные сценарии. Для того, чтобы изменить начальные условия сценария, выберите его в списке и нажмите кнопку Начать. Сценарий будет открыт в редакторе.

В редакторе Battlefleet можно указать следующие начальные условия сражения:

  • свойства карты;

  • список кораблей для обеих сторон;

  • распределение кораблей по отрядам (группам);

  • положение, курс и скорость каждого корабля;

  • время начала сценария;

  • и др.

Режим игры

Начало новой игры

После того, как все начальные условия сценария были определены, возможно начать сражение (или игру, кому как). Для этого нажмите кнопку Игра, затем выберите страницу Создать (см. рисунок Новая игра).

Новая игра

Список доступных сражений на этой странице тот же самый, что и на странице Открыть для режима Редактор - начать играть можно только в те битвы, условия которых определены, одни и те же файлы обрабатываются для построения обеих списков.

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

Редактирование существующего сценария

Если игра была прервана или вы хотите провести сражение иначе, имеется возможность начать игру не с самого начала, а с указанного вами момента. Для этого нажмите кнопку Игра, затем выберите страницу Открыть (см. рисунок Продолжение игры).

Продолжение игры

Список доступных сражений на странице Открыть отличается от списка на странице Создать. Страница Открыть содержит сценарии, которые были сохранены в режиме Игра. Возможно продолжить битву с любого момента времени между началом сражения и его окончанием. Время начала сражения указывается в режиме Редактор, а время окончания - время его последнего сохранения.

Для продолжения сценария выберите его в списке, установите время с помощью ползунка или поля ввода; после этого нажмите кнопку Начать. Сценарий будет открыт в режиме Игра. Состояние сражения будет восстановлено на указанное время - все команды кораблям из сохранённого сражения будут воспроизведены, и появится возможность удалить все будущие команды для выбранных кораблей (а для остальных - оставить). После этого можно будет выдать новые команды.

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

Режим фильма

Режим Фильм наиболее простой в Battlefleet. В этом режиме вы можете только наблюдать за ходом сражения, но не управлять им. Чтобы войти в режим Фильм, нажмите кнопку Фильм. Будет показана только одна страница - страница Открыть со списком всех сражений, доступных для просмотра как фильм на видеомагнитофоне. Этот список такой же, как и на странице Открыть в режиме Игра - смотреть на видеомагнитофоне можно только уже записанные фильмы; для составления обеих списков сканируются одни и те же файлы. Окно очень похоже на предыдущее, поэтому не показано.

Для просмотра сценария в режиме Фильм выберите его из списка, укажите время начала просмотра и нажмите кнопку Начать.

Режим редактора

Назначение

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

  • определять свойства сценария (название, описание и т. д.);

  • определять свойства карты;

  • подключать дополнительные списки кораблей к базе данных (БД) кораблей. Корабли из БД могут быть использованы в сценарии;

  • добавлять корабли из БД кораблей в сценарий;

  • определять свойства каждого корабля (координаты, скорость, курс и т. д.);

  • группировать корабли в отряды (группы);

  • настраивать корабли для автоматического управления компьютером.

Программа Battlefleet работает с кораблями и отрядами (группами). Корабли и группы называются объекты.

Объект может быть активным или выделенным. Активный объект является получателем команд управления от пользователя. Также это главный объект в выбранной группе. Активный объект подсвечивается зелёным (см. рисунок Редактор. Общий вид - "Князь Суворов"). В одно время только один объект может быть активным. Выделенный объект - член группы выделенных объектов. Некоторые команды (например, группировка) работают с группами выделенных объектов. Выделенные объекты подсвечиваются голубым.

Ниже описано главное окно программы Battlefleet. Потом приводится описание режима Редактор.

Обзор пользовательского интерфейса

Главное окно

На рисунке Редактор. Общий вид показан экран, как он выглядит при первом запуске программы.

Редактор. Общий вид

Карта

Центральная область окна Battlefleet - карта сражения. На ней отображаются корабли. Корабли первого противника - красные, второго - чёрные, нейтральные корабли - синие. В таблице Обозначения кораблей показаны обозначения кораблей в зависимости от их типа.

Тип корабля

Обозначение

Броненосец

Броненосный крейсер

Бронепалубный крейсер, Лёгкий крейсер

Эскадренный миноносец

Миноносец

Броненосец береговой обороны и другие

Область карты может быть в трёх состояния (по режиму обработки событий от мыши):

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

  • Связи . В этом состоянии можно создавать связи между кораблями, указывая преследователя и лидера. Нажмите левую кнопку мыши на преследователе (догоняющем) и подведите мышь к цели (убегающему). Отпустите кнопку мыши. Будет создана связь.

  • Масштаб . В этом состоянии возможно масштабирование карты с помощью мыши. Нажмите левую кнопку мыши и переместите мышь, выделив область карты. Отпустите кнопку мыши - выделенная область будет отображена в увеличенном виде. При выборе прямоугольник зелёный, при масштабировании - чёрный. В этом состоянии курсор мыши имеет форму перекрестья.

Состояние можно изменить из меню Вид или используя соответствующие кнопки панели управления.

Существуют и другие способы масштабирования карты. Выберите команды Увеличить , Уменьшить или Вся карта из меню Вид; или используйте соответствующие кнопки панели управления.

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

Чтобы удалить корабль, группу кораблей или связь из сценария, выберите их и нажмите клавишу Delete. Группы и связи будут действительно удалены, корабли будут убраны из сценария и станут доступными в Базе данных (БД) кораблей.

База данных (БД) кораблей

На рисунке Редактор. Общий вид в левой части показано окно Список кораблей. Оно отображает в виде дерева список всех кораблей, доступных для использования в сценарии. Уже использующиеся корабли отображаются недоступными. Доступные корабли могут быть добавлены в сценарий перетаскиванием их на область карты. Для выделения сразу нескольких кораблей используйте мышь совместно с клавишами Shift и Ctrl. Когда пользователь выбирает элемент списка обычным способом, предыдущее выделение сбрасывается и новый элемент становится выбранным. Однако, если пользователь удерживает нажатой клавишу Ctrl при выборе элемента, выбранный элемент меняет состояние на противоположное, а остальные элементы остаются неизменными. Когда пользователь удерживает нажатой клавишу Shift при выборе элемента, все элементы между текущим и нажатым становятся выбранными или не выбранными, в зависимости от состояния нажатого элемента.

Дополнительные списки кораблей могут быть добавлены в окно Список кораблей следующим образом:

  • выберите Добавить корабли... из меню Файл. Будет открыто окно выбора файлов;

  • Используя окно выбора файлов, выберите файл с дополнительным списком кораблей. Он будет вставлен в окно Список кораблей.

Файл списка кораблей - текстовый файл, он может быть создан пользователем. Раздел Дополнительная информация описывает процедуру создания такого файла.

Дерево кораблей

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

Используйте клавиши Shift и Ctrl для управления выделением объектов. Используйте команду Группировка из меню Группы, чтобы сгруппировать выделенные объекты в один отряд. Новая группа будет создана на самом верхнем уровне дерева. Перетащите её в нужную группу, используя мышь.

Используйте команду Разгруппировать из меню Группы, чтобы разгруппировать объекты. Для удаления выбранных объектов используйте клавишу Delete.

Окно свойств

На рисунке Редактор. Общий вид в правой нижней части показано окно Свойства . В нем отображаются свойства активного объекта. Если нет ни одного активного объекта, то отображаются свойства карты. Справка "Что это?" доступна для каждого из свойств в окне. В зависимости от контекста конкретное свойство может быть разрешено для изменения или запрещено.

Окно системных сообщений

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

Определение свойств сценария

Изначально свойства сценария определяются в окне выбора сценария, на странице Создать для режима Редактор (см. Создание нового сценария). Но они могут быть изменены позднее. Для изменения свойств необходимо выполнить следующие действия:

  • выберите Свойства... из меню Файл. Отобразится окно Свойства сценария (см. Свойства сценария);

  • измените значения в полях ввода;

  • нажмите кнопку OK, чтобы внесённые изменения вступили в силу, или кнопку Отменить, чтобы закрыть окно без учёта изменений.

Строка, введённая в поле Название сценария, будет отображаться в формах пользовательского интерфейса.

Значение поля Имя файла будет использовано как начало имени файлов данного сценария в файловой системе компьютера. Это свойство не может быть изменено в окне Свойства сценария и отображается только для информации. Чтобы сохранить сценарий под другим именем выберите Сохранить как... из меню Файл.

Выберите названия противников из выпадающих списков или введите их в поля Сторона 1 и Сторона 2. Корабли разных противников отображаются разными цветами на карте сражения.

Введите начальное время сражения в поле Дата начала и кратное описание сражения в поле ввода внизу.

Свойства сценария

Определение свойств карты

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

Нажмите мышью на пустой области карты, чтобы снять всё выделение. В окне свойств отобразятся следующие свойства карты (см. Свойства карты):

  • Долгота левой границы. Долгота точки левого нижнего угла карты.

  • Широта нижней границы. Широта точки левого нижнего угла карты.

  • Долгота правой границы. Долгота точки правого верхнего угла карты.

  • Широта верхней границы. Широта точки правого верхнего угла карты.

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

Свойства карты

Добавление кораблей в сценарий

Перед тем, как добавлять корабли в сценарий, убедитесь, что окно Список кораблей отображается на экране. Если нет, то вызовите меню правой клавишей мыши в области строки меню главного окна программы, и выберите пункт Список кораблей.

В окне Список кораблей (см. БД кораблей) выберите корабли для добавления. Для выбора нескольких кораблей используйте мышь, удерживая клавиши Shift или Ctrl на клавиатуре. Если корабль отображается запрещённым для выбора, то значит он уже используется в сценарии. Перетащите выбранные корабли в нужную точку карты.

Для удаления корабля из сценария выберите его на карте или в окне Дерево кораблей и нажмите клавишу Delete.

Определение свойств корабля

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

Сделайте корабль активным. Свойства корабля отобразятся в окне Свойства (см. Окно свойств). Могут быть установлены значения для следующих свойств:

  • Долгота и широта. Хотя имеется возможность ввести долготу и широту корабля непосредственно в окне свойств, это не самый простой способ. Вместо этого просто перетащите корабль с помощью мыши в нужное место на карте. Увеличение масштаба позволяет расположить корабль более точно.

  • Курс. Курс изменяется от 0 (чистый N) до 359 градусов 59 минут 59 секунд по часовой стрелке.

  • Скорость. Скорость вводится в узлах. Границы диапазона проверяются.

  • Сторона. Принадлежность корабля индицируется цветом (сторона 1 - красный, сторона 2 - чёрный, нейтрал - синий).

  • Отображение названия корабля.

Справка Что это? доступна для каждого свойства. На рисунке Свойства корабля показан пример окна свойств корабля.

Свойства корабля

Частой задачей является построение кораблей в кильватерную колонну. Это делается так:

  • точно установите флагманский корабль;

  • установите курс и скорость флагмана;

  • расположите остальные корабли позади флагмана в требуемом порядке, но не выставляя их очень точно;

  • выберите все корабли отряда (используя выделение прямоугольником, или мышью при нажатых клавишах Ctrl или Shift);

  • сделайте флагман активным кораблём (нажмите на нем мышью, может быть дважды, удерживая клавишу Ctrl) - активный корабль подсвечивается зеленым;

  • выберите пункт Порядок из меню Группы или воспользуйтесь соответствующей кнопкой панели инструментов.

В результате все корабли будут расположены в кильватерную колонну. Интервал между кораблями устанавливается в зависимости от скорости флагмана. Кроме того, между кораблями создаются связи - они дают возможность поручить управление кораблями колонны, кроме флагмана, в битве компьютеру. Подраздел Настройка автоматического управления содержит подробности о создании связей и автоматическом управлении.

Группировка кораблей

Объединение кораблей в отряды может быть выполнено несколькими способами. Простейший из них - выделить все корабли будущей группы и выполнить команду Группировка из меню Группы (или нажать соответствующую кнопку на панели инструментов). Новая группа с именем, созданным по умолчанию, будет создана на верхнем уровне иерархии (см. Дерево кораблей). Чтобы закончить создание группы, выполните следующее:

  • выберите вновь созданную группу в окне Дерево кораблей. Свойства выбранного объекта отобразятся в окне Свойства;

  • измените свойство Название у группы;

  • измените свойство Сторона, чтобы все корабли группы принадлежали одной из сторон, если это необходимо;

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

Другой способ создания группы - создать вначале пустую группу, а потом добавлять в неё объекты перетаскиванием. Чтобы создать пустую группу, выполните команду Группировка, когда ни один объект не выбран.

Для удаления группы из сценария выделите её и нажмите клавишу Delete.

Настройка автоматического управления

Очень часто необходимо, чтобы корабли в отряде последовательно повторяли маневры флагмана. Реализовывать такое поведение, вводя команды каждому кораблю, сложно и неприятно; в некоторых случаях можно дать команду всему отряду (сделав его активным); но наиболее удобный способ - передать управление всеми кораблями, кроме флагмана, компьютеру. Это можно сделать с помощью так называемых связей. Компьютер рассматривает два корабля как пару "цель - преследователь", и управляет преследователем, чтобы тот всегда держался на некотором расстоянии от цели.

Пара "цель - преследователь" создаётся следующим образом:

  • переключите карту в состояние Масштаб, выбрав пункт Масштаб из меню Вид, или нажав соответствующую кнопку на панели инструментов;

  • отмасштабируйте карту, чтобы были видны одновременно цель и преследователь;

  • переключите карту в состояние Связи, выбрав пункт Связать из меню Вид, или нажав соответствующую кнопку на панели инструментов;

  • нажмите левую клавишу мыши на преследователе и, удерживая её, подведите мышь к цели (лидеру). Отпустите клавишу мыши. Будет создана связь.

Связи создаются автоматически, когда выдаётся команда Порядок из меню Группы. Видимость линий связи управляется с помощью команд Показать связи между преследователем и лидером и Скрыть связи между преследователем и лидером из меню Управление.

Для удаления связи выполните следующее:

  • отобразите связи с помощью команды Показать связи между преследователем и лидером из меню Управление;

  • снимите выделение со всех объектов, щёлкнув мышью по пустому месту на карте (так как все выделенные объекты будут удалены);

  • выберите связь для удаления;

  • нажмите клавишу Delete.

Раздел Режим игры описывает работу со связями более детально. На рисунке Связи преследования показан пример связей.

Связи преследования

Сохранение сценария

Для того, чтобы сохранить внесённые в сценарий изменения, выберите пункт Сохранить из меню Файл.

Для того, чтобы сохранить сценарий под другим именем, выберите пункт Сохранить как... из меню Файл. Откроется окно Сохранить как (см. рисунок Окно "Сохранить как"). Выберите сценарий из списка, чтобы его перезаписать, или введите новое имя в поле Название.

Окно "Сохранить как"

Режим игры

Назначение

В режиме Игра можно выполнять следующие действия:

  • останавливать и запускать игру (пауза);

  • изменять скорость хода времени игры;

  • перегруппировывать корабли;

  • изменять принадлежность корабля воюющим сторонам;

  • посылать управляющие команды кораблям и группам на изменение курса и скорости;

  • отображать сообщения на экране в определённый момент времени сражения;

  • отображать заданную область карты в определённый момент времени сражения;

  • редактировать перечень событий, которые должны произойти в ходе сражения;

  • переключаться с ручного управления кораблями в автоматическое и обратно.

Ниже описано главное окно программы Battlefleet. Потом приводится описание режима Игра.

Обзор пользовательского интерфейса

На рисунке Игра. Общий вид показан экран, как он выглядит при первом запуске программы.

Игра. Общий вид

Окно очень похоже на главное окно в режиме Редактор (см. подраздел Обзор пользовательского интерфейса), поэтому здесь приводятся только различия.

Список кораблей (см. БД кораблей) не доступен в режиме Игра, это одно из основных различий. Поэтому невозможно добавлять в сценарий или убирать из него корабли по ходу битвы.

Также невозможно перетаскивать корабли с места на место с помощью мыши. Чтобы переместить корабль, необходимо выдать ему команды на изменение курса и скорости.

В окне Свойства (см. Окно свойств) поля Долгота, Широта, Скорость и Курс доступны только для чтения по той же причине.

В отличие от режима Редактор, в режиме Игра время не является константой. Для управления битвой (пауза или битва продолжается), а также скоростью хода времени, используется меню Битва или соответствующие кнопки панели инструментов. Текущее время отображается в правом нижнем углу главного окна. Также текущее время можно отобразить в поле карты (см. Настройки... в меню Сервис).

Активным кораблём можно управлять непосредственно с клавиатуры:

  • стрелка влево - поворот влево;

  • стрелка вправо - поворот вправо;

  • стрелка вверх - увеличить скорость;

  • стрелка вниз - уменьшить скорость.

Клавиши управления курсором могут использоваться в комбинации для поворота и изменения скорости одновременно. Но основное средство управления - окно Управление движением.

Управление движением - полностью новое окно, подробно оно описано ниже.

Управление движением

Основное средство управления объектами - окно Управление движением. Из него можно отправлять активному объекту (подсвечен зеленым) следующие команды:

  • изменить скорость;

  • изменить курс;

  • изменить скорость и курс.

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

  • последовательный поворот. Этот тип поворота могут выполнить только отряды, идущие в кильватерной колонне. Поворачивающие последовательно корабли сохраняют кильватерный строй, проходя стационарную точку поворота. Рисунок Типы поворотов в верхней части содержит иллюстрацию поворота последовательно на 90°+ вправо, выполняемого идущим в кильватерной колонне отрядом;

  • поворот "все вдруг". Каждый корабль отряда при повороте "все вдруг" поворачивает в заданном направлении одновременно с остальными кораблями. Корабли отрядов, не идущих в кильватерной колонне, всегда должны поворачивать "все вдруг". Если отряд, идущий не в кильватерной колонне, случайно получает приказ повернуть последовательно, команда рассматривается как повернуть "все вдруг". Если корабли идут строем в линию (шеренгу), то только определённый поворот "все вдруг" может перевести их в строй кильватера.

Повороты последовательно (вверху) и "все вдруг" (внизу) (из описания игры Battlefleet от War Times Journal )

На рисунках Окно Управление движением. Корабль и Окно Управление движением. Отряд показаны примеры внешнего вида окна Управление движением для отдельного корабля и для отряда, идущего в кильватерной колонне. Для отряда доступен выбор типа поворота.

Окно Управление движением. Корабль

Окно Управление движением. Отряд

Окно Управление движением состоит из следующих областей:

  • Название активного объекта. Отображается в заголовке рамки.

  • Угол поворота. Содержит ползунок и поле ввода. Внимание: это угол поворота, а не конечный курс. Отрицательные значения означают поворот влево, положительные - вправо. Если необходимо повернуть более чем на 180 градусов, следует выдать команду поворота на 180 градусов, а потом, когда поворот завершится, выдать ещё одну команду поворота на оставшееся число градусов.

  • Скорость. Содержит ползунок и поле ввода. Скорость вводится в узлах. Нижний предел - 0, верхний предел определяется значением свойства Макс. скорость (см. Определение свойств корабля). Для группы максимальная скорость определяется максимальной скоростью самого медленного корабля. Отрицательные значения скорости не могут быть указаны через окно Управление движением, но возможно двигаться задним ходом, используя клавиши управления курсором.

  • Порядок. Для одиночного корабля эта область всегда запрещена - корабль всегда поворачивает "все вдруг". Для отряда, идущего в кильватерной колонне, можно указать тип поворота.

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

  • Установить. Нажатие этой кнопки приводит к отправке команд.

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

  • запустите программу Battlefleet;

  • в окне Выбор сценария нажмите кнопку Игра, затем выберите страницу Открыть (см. Продолжение игры);

  • выберите из списка сценарий, который следует изменить;

  • укажите время, когда требуется внести первое изменение;

  • нажмите кнопку Начать для загрузки сценария и его настройки на указанное время;

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

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

Остановка и запуск игры

Когда загружается новый сценарий, игра устанавливается в режим паузы. Чтобы начать игру (заставить время изменяться), выберите пункт Старт из меню Битва или нажмите соответствующую кнопку на панели инструментов. Время сражения (отображается в правом нижнем углу главного окна) начнёт изменяться и корабли начнут двигаться. Если надо приостановить битву, выберите пункт Пауза из меню Битва или нажмите соответствующую кнопку на панели инструментов.

Скорость хода времени

Можно управлять скоростью хода времени в битве. Доступны следующие скорости:

  • Реальное время. Нет никакого ускорения времени.

  • Медленно (x2). В битве время идёт в 2 раза быстрее, чем в реальности.

  • Нормально (x10). В битве время идёт в 10 раз быстрее, чем в реальности. 10 секунд битвы умещаются в 1 секунде реального времени.

  • Быстро (x30). В битве время идёт в 30 раз быстрее, чем в реальности. 30 секунд битвы умещаются в 1 секунде реального времени.

  • Очень быстро (x60). В битве время идёт в 60 раз быстрее, чем в реальности. 60 секунд битвы умещаются в 1 секунде реального времени.

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

Примечание

Реальное ускорение времени зависит от сложности сражения и мощности компьютера: время может ускориться в меньшее количество раз, чем обещано.

Группировка кораблей

Группировка кораблей работает так же, как и в режиме Редактор, но при удалении группы корабли не удаляются из сценария, а помещаются на верхний уровень иерархии в окне Дерево кораблей. См. Группировка кораблей.

Изменение принадлежности корабля

Перед тем, как изменять принадлежность корабля стороне - участнику битвы, убедитесь, что окно Свойства отображается на экране. Если нет, то вызовите меню правой клавишей мыши в области строки меню главного окна программы, и выберите пункт Свойства.

Сделайте активным объект, для которого необходимо изменить владельца. Свойства объекта отобразятся в окне Свойства. Выберите соответствующую сторону из выпадающего списка у свойства Сторона.

Управление скоростью и курсом

Дать команды активному объекту можно следующими способами:

Несколько слов о скорости корабля в повороте. Модель воспроизводит потерю скорости кораблём при повороте, и реальная скорость корабля всегда меньше, чем та, которая отображается. Это запланировано, а не ошибка. Свойство Коэф. скорости в повороте показывает коэффициент потери скорости для данного корабля.

Если корабль управлялся автоматически (компьютером), а пользователь выдал ему команду, то управление переключается в ручной режим.

Автоматическое управление

Если один из кораблей должен идти следом за вторым длительное время, то удобно создать пару "цель - преследователь" и предоставить управление преследователем компьютеру. Подраздел Настройка автоматического управления из режима Редактор описывает процедуру создания пары.

Связь может быть активной (отображается чёрным) или не активной (отображается серым). Не активные связи не делают ничего. Активные связи заставляют компьютер управлять преследователем, чтобы он следовал за целью. Для изменения состояния отдельно взятой связи используйте меню правой кнопки мыши.

Связи сохраняются при сохранении игры, и восстанавливаются при её загрузке, но все при этом делаются неактивными. Переключать в активный режим связи следует пользователю (активизация связи удаляет все запланированные в будущем для данного корабля команды, уничтожая все наработки в игре, если игра запущена с середины). Чтобы активизировать все связи, выберите пункт Корабли управляются компьютером из меню Управление. Для деактивизации всех связей выберите пункт Корабли управляются игроком из меню Управление. Можно использовать соответствующие кнопки панели инструментов.

Не путайте состояние связи (активная или не активная) с видимостью связи (видимая или нет). Для управления видимостью связи используйте пункты Показать связи между преследователем и лидером и Скрыть связи между преследователем и лидером меню Управление.

Для изменения состояния нескольких связей одновременно необходимо выполнить следующие действия:

  • отобразить связи, выбрав пункт Показать связи между преследователем и лидером из меню Управление;

  • переключить карту в Выбор, нажав Выбрать в меню Вид;

  • выделить мышью связи, состояние которых следует изменить. Можно выбирать и корабли - они в дальнейшем игнорируются;

  • поместить курсор мыши над связью и вызвать меню по правой кнопке мыши;

  • изменить из меню состояние связей.

Связи можно выбирать не только в состоянии карты Выбор, а всегда щелчком мыши непосредственно на связи. Нажмите клавишу Delete для удаления выбранных связей.

Сообщения

Имеется возможность отобразить сообщение в области карты в определённый момент сражения. Для этого необходимы следующие действия:

  • убедитесь, что отображение сообщений включено. Выберите Настройки... из меню Сервис, отметьте Отображать сообщения в Настройки отображения, нажмите OK (рисунок Настройки);

  • доведите битву до того момента, когда следует показать сообщение;

  • поставте игру на паузу;

  • выберите Отобразить сообщение... из меню Вид;

  • введите текст сообщения в открывшемся диалоговом окне (пустая строка для очистки сообщеиня). Нажмите OK (рисунок Сообщение);

  • снимите игру с паузы;

  • сообщение отобразится в области карты, как показано на рисунке Сообщение на карте.

Настройки

Сообщение

Сообщение на карте

Текущее время сражения всегда отображается в правом нижнем углу окна программы. Также время может отображаться в области катры. Для этого выберите опцию Отображать текущее время битвы в окне Настройки (см. рисунок Настройки).

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

Сохранение масштаба

Имеется возможность отобразить заданную область карты в определённый момент сражения. Для этого необходимы следующие действия:

  • доведите битву до того момента, когда следует отобразить заданную область карты;

  • поставте игру на паузу;

  • измените масштаб карты, чтобы отображалась заданная область, использую команды масштабирования из меню Вид, или с помощью мыши в режиме Масштаб ;

  • выберите Сохранить масштаб из меню Вид;

  • возобновите выполнение сценария (снимите игру с паузы).

При следующем воспроизведении сценария заданная область карты будет отображена в тот же момент сражения.

Отображение заданной области карты может быть полезно, если ход сражения будет записан как фильм (см. Режим фильма).

Отображение названия корабля

Имеется возможность управлять отображением названия корабля в поле карты. Для этого следует установить свойство Название отображается активного корабля в окне Свойства (на рисунке Сообщение на карте отображается название "Князь Суворов"). Изменения этого свойства записываются в сценарии, и выполняются при следующем воспроизведении сценария.

Отображение названия корабля может быть полезно, если ход сражения будет записан как фильм (см. Режим фильма).

События

Сценарий битвы состоит из последовательности событий, которые записаны в файле сценария.

Примеры событий:

  • отобразить сообщение на карте;

  • отобразить заданную область карты;

  • отобразить название корабля;

  • установить программу (расписание изменений курса и скорости) для корабля или отряда;

  • и т.д.

Для каждого события задано время, когда оно должно произойти. Полный перечень событий доступен в окне События (см. рисунок События).

События

Обычно данное окно используется для тонкой настройки уже записанного сценария. Оно позволяет:

  • остановить сценарий непосредственно перед выбранным событием. Выберите событие в списке и нажмите кнопку Спросить на панели инструментов в окне События (см. рисунок События для объекта Александр |||). Для снятия отметки нажмите кнопку Выполнить на панели инструментов в окне События. Это удобно для добавления событий изменения масштаба карты, отображения сообщения или имени корабля;

  • удалить событие. Выберите необходимое событие в списке и нажмите кнопку Удалить на панели инструментов в окне События. Событие будет удалено из списка и не будет выполнено;

  • обновить перечень событий. Для остановленного сценария вновь добавленные события (обычно это изменения масштаба карты, отображения сообщения или имени корабля) могут не попасть в список. Нажмите кнопку Обновить на панели инструментов в окне События для обновления списка. Данная операция может быть долгой.

Сохранение сценария

Для сохранения сценария выберите пункт Сохранить из меню Файл.

Для сохранения сценария под другим именем выберите пункт Сохранить как... из меню Файл. Откроется окно Сохранить как (см. Сохранение сценария). Выберите сценарий из списка, чтобы его перезаписать, или введите новое имя в поле Название.

Большие сценарии сохраняются медленно, битва на это время переходит в режим паузы.

Режим фильма

Назначение

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

Этот режим можно использовать для просмотра сценариев, созданных другими.

На рисунке Режим Фильм. Общий вид показан экран, как он выглядит при первом запуске программы..

Режим Фильм. Общий вид

Создание фильма

Программа может быть использована для подготовки фильма о ходе сражения. Собственно фильм не генерируется, но создаётся последовательность картинок, которую затем можно отконвертировать в фильм, используя, например, ffmpeg.

Для генерации последовательности картинок необходимо:

  • выбрать Экспортировать как видео... из меню Файл - отобразится окно Экспортировать как видео (см. рисунок Экспортировать как видео);

  • задать настройки в окне. Кнопка ? в заголовке позволяет получить детальную информацию о каждой настройке;

  • нажать кнопку Выполнить.

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

Экспортировать как видео

Дополнительная информация

Исходный код

Исходный код программы можно скачать здесь: https://sourceforge.net/projects/battlefleet2/

Формат файла списка кораблей

Файл списка кораблей - текстовый файл. Он может редактироваться в любом текстовом редакторе. Файл имеет формат XML. Данные в файле чувствительны к регистру. Файл содержит следующие элементы:

<?xml version="1.0" encoding="latin1 | UTF-8 | windows-1251 | любая другая стандартная кодировка"?>
<Ships Name="Уникальное в пределах файла имя">
Элемент
...
</Ships>

Элемент может быть Ships с указанной выше структурой или Ship. Элемент Ship имеет следующий формат:

<Ship Name="Уникальное в пределах файла имя" 
VesselType="Battleship | CoastDefenseBattleship |ArmoredCruiser |
    ProtectedCruiser | UnprotectedCruiser | GunBoat | Destroyer|TorpedoBoat"
Size="Целое число"
Length="Длина в метрах"
Width="Ширина в метрах"
Speed="Скорость в узлах с '.' в роли разделителя"
TurnRadius="Радиус циркуляции в милях с '.' в роли разделителя">
</Ship>

Атрибут Name должен быть уникальным в пределах файла (для элементов Ship и Ships) и в сценариях, где этот файл используется.

Атрибут Size в игре Battlefleet от War Times Journal - это абстракция. Он вычисляется как нормальное водоизмещение, умноженное на .004. Значения для больших кораблей (более 25) округляются, обычно к ближайшей 5. Если атрибут не указан, то используется значение по умолчанию для типа корабля (см. таблицу Размер корабля).

Тип корабля

Размер по умолчанию

Battleship (броненосец)

50

CoastDefenseBattleship (броненосец береговой обороны)

15

ArmoredCruiser (броненосный крейсер)

35

ProtectedCruiser (бронепалубный крейсер)

15

UnprotectedCruiser (лёгкий крейсер)

5

GunBoat (канонерская лодка)

5

Destroyer (эскадренный миноносец)

1

TorpedoBoat (миноносец)

1

Если атрибут Length не указан, то используется значение по умолчанию 100 метров.

Если атрибут Width не указан, то используется значение по умолчанию 20 метров.

Если атрибут TurnRadius не указан, то используется значение по умолчанию в соответствии с таблицей Радиус циркуляции .

Размер корабля (атрибут Size)

Радиус циркуляции

<=5

0.1334 миль

<=35

0.2033 миль

<=65

0.2732 миль

>65

0.3450 миль

Флаги

В данной версии только флаги России и Японии отображаются в выпадающем списке окна Выбор сценария. Для добавления новых флагов следует отредактировать файл flags.xml в подкаталоге common рабочего каталога программы. Для Windows рабочий каталог - в домашнем каталоге пользователя (обычно C:/Users/<user_name>), в подкаталоге AppData/Local/battlefleet. Для Linux это подкаталог battlefleet в домашнем каталоге пользователя.

Пример файла flags.xml показан ниже:

<Flags>
  <Flag name="Russia" image="flag_russia.png"/>
  <Flag name="Japan" image="flag_japan.png"/>
</Flags>

Также файлы с изображением флагов должны быть скопированы в тот же каталог, где находится файл flags.xml. Используйте окно Системные сообщения для просмотра ошибок при возникновении проблем.

Локализация

Сценарий может быть переведен на другой язык. Локализация выполняется с помощью специального файла. Формат файла следующий:

<?xml version='1.0' encoding='UTF-8'?>
<Items>
  <Item l="Локализованный текст" o="Оригинальный текст"/>
  ...
</Items>

Файлы сценариев сохраняются в подкаталогах data или save рабочего каталога Battlefleet. Для Windows рабочий каталог - в домашнем каталоге пользователя (обычно C:/Users/<user_name>), в подкаталоге AppData/Local/battlefleet. Для Linux это подкаталог battlefleet в домашнем каталоге пользователя. Сценарий включает в себя:

  • основной файл сценария (например, tsushima_m_map.xml);

  • подкаталог с тем же именем, что и основной файл сценария, но без расширения (tsushima_m_map в нашем примере).

Файл локализации должен быть сохранён в подкаталоге (tsushima_m_map в нашем примере). Имя файла должно быть следующее:

<название_сценария>_localizer_<локаль>.xml

<локаль> - строка из двух букв (ru, de, fr, ua, au и т.д.).

В нашем примере для русской локали (ru) имя файла будет tsushima_m_map_localizer_ru.xml.

Локализационный файл должен быть создан пользователем. Содержимое созданного файла должно быть:

<?xml version='1.0' encoding='UTF-8'?>
<Items>
</Items>

После этого локаль, указанная в имени файла, должна быть установлена на компьютере, и сценарий должен быть исполнен от начала и до конца. Файл будет автоматически обновлён всеми строками, которые подлежат переводу. Теперь строки должны быть переведены пользователем и записаны в атрибут l (локализованный текст) файла.

Теперь при воспроизведении сценария все строки, подлежащие локализации, будут отображены, как указано в атрибуте l. Используйте окно Системные сообщения для просмотра ошибок при возникновении проблем. Пример файла локализации содержится в инсталляции программы для Цусимского сражения.

Сообщение об ошибках

Пожалуйста, сообщайте об ошибках на адрес mailto:balabay.oleksiy@gmail.com со словом "Battlefleet" в теме.