Space Engineers

Space Engineers

30 ratings
Основы ракетостроения или Что такое ракета в SE
By ☭Android☭
Данный очерк (или статья, как удобней) содержит подробное описание устройства управляемой ракеты, принцип работы ракетных скриптов, описание требований к хорошей ракете и разбор типичных ошибок при их постройке\написании скрипта.
   
Award
Favorite
Favorited
Unfavorite
1. Термины, введение, как устроена ракета управляемая скриптом
Термины
Термины использующиеся здесь (или их содержание) выдуманы автором.

Термины, использующиеся для описания системы наведения ракеты:
  • ИК - ИнфраКрасное наведение, в этой игре представлено целеуказанием с турелей
  • ПТРК - наведение по типу ПТРК 2-го поколения, по прицельной сетке корабля (выравнивание по "лучу" прицела)
  • Теленаведение - наведение ракеты пилотом вручную с помощью обзора из ракеты
  • РЛС - наведение с помощью централизованной системы, которая может быть брать информацию из любых источников
  • Лазерное наведение или СМН (так привыкли называть) - наведение на цель с помощью функции Raycast
Термины, использующиеся для описания типа наведения ракеты:
  • ПАКН - ПолуАктивное Наведение, ракета наводится за счёт полученного от пилота целеуказания.
  • СМН* - СамоНаведение, ракета наводится за счёт собственной системы сопровождения цели, может комбинироваться с ПАКН в различных формах.
Термины, использующиеся для описания типа БЧ ракеты:
  • Фугасная - БЧ, представленная боеголовками
  • Кинетическая - Таранная БЧ
  • Ядерная - БЧ масштабного действия, использующая взрывчатку (не боеголовка).
  • Кассетная - БЧ, распыляющая над целью поражающий элемент.
  • ПКР - БЧ - комбинация фугасной и кинетической боевых частей.
Термины, использующиеся для описания характеристик ракеты:
  • Манёвренность - возможность изменять вектор своего направления.
  • Точность - вероятность попадания в центр цели.
  • Разброс - величина круга описанного вокруг центра цели.
  • Живучесть - количество минимально необходимых для выполнения задачи ракеты блоков, сложность их уничтожения.
  • Качество маневрирования - время за которая ракета может сменить направление на противоположное.
Общие термины
  • Ракета - одноразовый дрон-камикадзе.
  • Корабль-носитель - корабль с которого была запущена ракета, на ком она базируется.
  • Цель - точка в пространстве, которую необходимо поразить.
  • Скрипт - внутриигровой код выполняющийся на программируемых блоках, который может быть написан или вставлен пользователем.
  • Интер-Грид связь - Связь между присоединёнными на момент связывания друг к другу блоками, созданная с помощью ПБ и использующаяся только им.
Введение


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

Для поражения уклоняющейся цели ракета должна отвечать следующим требованиям:
- Манёвренность равная или более высокая, чем у цели
- Ускорение более высокое, чем у цели
- Система наведения должна быть точной и наводить на выбранную цель
- Живучесть ракеты должна соответствовать ПРО возможностям цели
- Система наведения должна быть надёжной

Несмотря на казалось бы очевидные требования, на данный момент в мастерской нет ни одного скрипта на ракеты, который в полной мере бы соответствовал им. Наиболее частые причины лежат на поверхности: повторение ошибок друг друга, отсутствие централизованной системы наведения в виде РЛС (не у всех), отсутствие эффективного использования маршевых двигателей, часто ненадёжная система наведения (не у всех).


Устройство УР, управляемой скриптом
Работа и устройство ракеты, управляемой скриптом зависит от системы наведения, которая используется для целеуказания, но в качестве примера остановимся на ракете наводимой по РЛС.

Взаимодействие между скриптом и ракетой происходит следующим образом:
1. Скрипт формирует ссылки на блоки ракеты, "конструирует" её из них согласно условиям (обычно это ориентир, вокруг которого ищутся остальные нужные функциональные блоки на определённом расстоянии - если ракета "собирается" будучи на пилоне и на любом расстоянии - если ракета "собирается" в процессе запуска после отсоединения от корабля.)
2. Скрипт считает вектор направления на цель беря информацию с ДУ ракеты о её направлении и скорости, подаёт сигнал из полученного вектора на гироскопы для поворота ракеты на цель. Необходимо понимать, что скрипт работает не в режиме реального времени и от частоты вызова и качества написанного регулятора, формирующего сигнал зависит то, с какой скоростью и точностью ракета будет поворачиваться на вектор упреждения по цели, а следовательно это накладывает рамки на манёвренность.
3. Скрипт даёт команду ускорителям на старт и управляет их тягой (не всегда). В случае, если ракета оказывается рядом с целью, даёт команду на подрыв (не всегда).

Существует два подхода к управлению ракетой: с ПБ или без ПБ.

Первый подход подразумевает, что на каждой ракете стоит свой ПБ, который управляет только своей ракетой. Такая ракета может быть связана с мат. кораблём по антенне, но полноценный обмен информации между ракетой и кораблём в таком случае труднее, чем при втором подходе. Ракеты при таком подходе, как правило, собираются уже после отсоединения от корабля.

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

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

Всё это справедливо для универсальной ракеты!.

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

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

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

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

Решение боеголовки:
В свете того, что в мастерской нет скриптов, способных дать низкий разброс, наиболее подходящей БЧ является мощная фугасная БЧ с площадью поражения от 4 метров, а наиболее эффективной - ядерная с площадью поражения в сотни метров. Кинетическая БЧ имеет огромные требования как к условиям попадания, так и к точности наведения скрипта, качества маневрирования, разброса и т.д., следовательно - не вариант для стрельбы по быстрым целям.

Решение наведения:
В случае использования камер они должны быть установлены таким образом, чтобы давать максимально возможный угол обзора (45' для каждой камеры), а их кол-во должно позволять вести цель на запланированном расстоянии. В случае использования турелей они должны быть заряжены и не иметь слепых зон. Наиболее надёжным ведением является комбинация корабельной РЛС и системы наведения на ракете.

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

Список ошибок для ракет:

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

Список ошибок для скриптов:
У каждого скрипта свои ошибки, но все они уже были когда-то повторены

- Неподходящий PID-регулятор
- Ненадёжная система ведения
- Отсутствие централизованной системы наведения (РЛС)
- Отсутствие обмена информацией между ракетой и кораблём, между ракетами.
- Низкая оптимизация
- Ненадёжный взрыватель
- Невозможность к эффективному уклонению, обмана турелей

-*на основе данных на момент написания рук-ва*-
Наиболее показательной является популярность новых ракет от Whisp's, которые отличаются от Easy Lidar Missiles только наличием плохо реализованной централизованной системы наведения (она есть, но не имеет РЛС) и графикой и, возможно, более надёжной системы наведения по камерам. Хайп не обоснован.
Советы


1. По возможности напишите свой скрипт для ракет с учётом опыта
2. Измерьте потенциал всех доступных в мастерской скриптов на ракеты и используйте наиболее эффективный и подходящий.
3. Продумывайте грамотно компоновку ракеты, на самом деле ракетостроение в игре хоть и стало проще после появления малоразмерных водородных баков, оно всё ещё остаётся наукой.
4. При недостатке оптимизации используйте ПАКН наведение с РЛС.
5. Изучите уязвимости используемой системы наведения на используемом скрипте, против неё могут быть контрмеры.
6. Ракета должна быть наиболее дешёвой.
7. Большой разброс может быть компенсирован площадью поражения.
8. ПТРК может быть эффективен против малоподвижных целей, недостаток PID может быть компенсирован игроком.
9. Сказки про малоподвижные большие корабли всего лишь сказки.
10. Испытание точности ракеты можно проводить лишь на уклоняющихся целях, а не прямолинейно летящих или стационарных.
11. PID в скрипте можно настроить более эффективно, даже если использовать "метод научного тыка".
12. Ракета не должна убивать создателя.
12 Comments
☭Android☭  [author] 8 May @ 6:17am 
У сенсоров проблема что они как и предохранитель зависят от скорости симуляции, если сервер нагружен, он может не успеть сработатт, скрипт надежнее
Den4ik 7 May @ 3:08am 
думаю сенсор на метров 5 ставить ну смотря где он
☭Android☭  [author] 1 May @ 7:31am 
Через сенсор или скрипт, через предохранитель не советую, ненадежно и боеголовка взрывается под обстрелом даже без столкновения. Через встроенный функционал скрипта надежнее, обычно скрипты на ракеты сами управляют боеголовками на ракете
Den4ik 30 Apr @ 9:12am 
А подрыв боеголовки при столкновении делать или на клавишу взрыв?
Den4ik 22 Apr @ 12:15pm 
Понял
☭Android☭  [author] 22 Apr @ 6:50am 
Короче урон будет зависеть от близости боеголовки к объекту поражения, а не от самого факта закрыта она чем-то или нет. Боеголовки очень хрупкие, незакрытые легко выбить.
☭Android☭  [author] 22 Apr @ 6:49am 
Как я помню она дамажит по площади независимо закрыт объект броней или нет, так или иначе, влияние незначительное, если не переусердствовать. Главное чтобы боеголовок было достаточно, вот и все
Den4ik 22 Apr @ 1:37am 
спасибо, просто может броня помешать урону боеголовки помоему
☭Android☭  [author] 22 Apr @ 12:38am 
Нет, наоборот забронировать лучше
Den4ik 20 Apr @ 10:31am 
А боеголовки надо открытыми оставлять?