IL-2 Sturmovik: Great Battles - Gyro Gunsight - Hack

IL-2 Sturmovik - серия видеоигр для имитации боевых полетов во время Второй мировой войны.

IL-2 Sturmovik, нового поколения - продолжение легендарной серии боевых авиасимуляторов (это предложение написано и скопировано как издевка). Не так давно благодаря страданиям и работе компании Valve, пользователи GNU/Linux, перестали задрачивать Wine+Steam. В сам  Steam, официально добавлен Proton, который позволяет на базе аналогов API Windows, запускать приложения (игры) в GNU/Linux. Да, это костыль который в основном будет адекватно работать только на проприетарном драйвере Nvidia. Да, теперь разработчики игр будут еще ленивей, и больше будут делать говна... Нативные игры, утопли в болоте...

Но, активно развивается API Vulkan, и уважающие себя игроделы, давно добавили поддержку Vulkan, даже сборище п*доров из Ubisoft. К сожалению отечественные разработчики, вроде 1С-777 и тд, этого делать не будут, приводя скриншоты активности ОС в Steam... Ну, вы поняли смысл. Жесткий, дремучий уровень столичных умов. Автор пару месяцев назад, узнал что это чудо, IL-2 Sturmovik: Great Battles, "полетело в Proton". Статус заметок можно посмотреть в базе ProtonDB. Особо не верьте, что там написано, проведите средний вариант оценки. Дистрибутивы разные, и свои хаки ОС тоже каждый делает для себя. Поэтому статус игры и ее работа под Proton, не всегда гарантирована. Добавлю пару ссылок на заметки по Arch Linux и Manjaro (Steam (Intel GPU) - Vulkan / Nvidia - Arch Linux - Nvidia+Intel Multi monitor - Установка-настройка Steam в Arch Linux (Manjaro)).

От себя скажу, что главное зло при рендре игр через "костыли", это composite и его окружение. Поэтому перед долгим танцем с бубном, займитесь этим вопросом. На самом деле, в целом в 75% случаев, производительность выше нативной реализации в Windows ОС. Главное, при таком подходе к игрострою и развитию Proton, мы получаем в отличии от Windows пользователей, всегда прямой доступ к ПК играм. Проще говоря, это ваша система (GNU/Linux), вы вольны делать и реализовывать свои идеи как вам хочется. Например, все геймеры знают о продуктах фирмы A4Tech (мыши, клавиатуры), макросы... Конечно у Windows пользователей, не приходит "в голову факт", что данную тематику можно реализовать (макросы) просто за 5 минут на скрипте bash, и любой марки мыши, даже на "шариковой". С помощью простой консольной утилиты JoyUtils, в реальном времени по нажатию одной кнопки совершать автоматизированные маневры на самолете. На самом деле это печально (мышление Windows пользователя и внушения разработчиков игр), даже критически печально... Однополюсный мир Windows, и потребителей г*вна.

Далее мы рассмотрим тематику реализации (программную) гироприцелов на любом самолете в игре IL-2 Sturmovik: Great Battles. Обратите внимание, это не четирество, как его понимают, "Ильюхи-колхозники", это не грубый Hack клиента игры. Античиты и фиксы разработчиков, тут не помогут. Это, просто спокойное пилотирование для своего удовольствия, и насмешка над личностями которые затратили на шлемы, кресла и устройства для полетов, более 100 тысяч рублей... 

Начнем с реализации идеи в самой игре... Текст от разработчиков...

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

Автор искренне (по доброму), смеялся с разработчиков и вирпилов :-) Дело не в самой реализации гироприцелов в игре, а в реализации для любой игры, на примере из серии IL-2 Sturmovik. Приведем пример как разработчики "замусоривают" головы игрокам...

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

 

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

Вы должны понимать в эпоху глобальной оцифровки умов, в игре это, не реальная жизнь и бои, прицелы... Если вы абсолютно не понимаете принципы симуляции 3D мира (не разрабатывали игры), срочно ищите и читайте основу по программированию (быстрей читай, поскольку каждый день нововведений больше чем успевает читать 1 разработчик). Введем, кратко в курс дела...

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

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

С этой мыслью и начнем наш Hack, программных гироприцелов. Хорошо и проще показать все это на видеоролике, но... Автор давно не пользуется сервисами Google (привет вам с*ки из Крыма), и прочими видеопомойками. Размещать видео на своем хостинге смысла не вижу, сбор и накопление хлама, а также это оградит вас от детского сада в игровых проектах...

Не будем засорять "усталые умы", в игровом проекте IL-2 Sturmovik: Great Battles, гироприцел работает от центра, самолета-прицела (центровка относительно позиции прицела), причем сделано криво, и погрешность есть и будет, чтоб жизнь не казалась малиной при стрельбе (вроде ветра в игре, просто стена в которую тыкается самолет, без воздушных взрывов в носу самолета). Плавность хода гироприцела зависит от FPS, зависит от хода РУСа и тд. В программном Hackе гироприцела, зависимостей нет.

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

  • Монитор с встроенной функцией и поддержкой Cross (прицелов).
  • Это простой оверлей текстуры по центру экрана.

Монитор с встроенной функцией, прицелов:

У автора бюджетный LG 24MP59G-P. Четыре вида программного прицела, плюс Deblurring функции (полезно для глаз). Используется зеленый крестик, поскольку габарит простой точки не позволят быстро принять решение по прицеливанию. Крестик позволяет вести, например под капотом самолета, четверти цели.

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

Оверлей текстуры по центру экрана:

Тут вам придется напрячься...

- Текстура должна быть размером с игровой экран (окно) в точности. Например, игровое разрешение экрана 1920х1080, текстура по верх игрового экрана с прицелом четко по центру, 1920х1080.

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

- При использовании функций оверлея текстуры, мы можем разнообразить сам, оверлей текстуры. Например, масштабирование прицела (увеличить, уменьшить), прицел для каждого вида самолета. Бомбовый прицел, прицел для штурма наземной техники, что-то близко к прицельной сетке MC.202.

- Минусы, возможна блокировка античитами, и программным комплексом игровых клиентов. 

- Все зависит от вашей фантазии и рук.

Заметки из реальных событий:

У нас в 2008 году, в магазине стоял монитор Samsung, с битым зеленым пикселем, практически по центру... Двое "молодых", долго ходили смотрели на него, потом попросили разрешение замерить расстояние от краев монитора... Совещались, улыбались... Купили. Думал не когда от него не избавимся. На какой хр*н что-то замерять?

Приведем простой пример используя изображение из самой игры:

Заход на цель и корректировка прицела, кадр-1:

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

Заход на цель и корректировка прицела, кадр-2:

Видим смещение прицела самолета и симуляции гироприцела в центре экрана.

Заход на цель и корректировка прицела, кадр-3:

Видим, цель "зашла за капот самолета", симуляция гироприцела в центре экрана, показывает его местоположение с погрешностью 2-3 пикселя для оптимальной стрельбы.

Общие заметки и факты:

  • Сложности в развитии навыков прицеливания с симуляции гироприцела, нет.
  • Желательно прочитать справочник о реальном прицеливании в самолетах того времени. Это даст хорошею базу и понимание симуляции гироприцела в центре экрана.
  • Сведение в игре вооружения, не происходит по вертикали (как было в реальности для каждого вида вооружения самолета). Поэтому самолет всегда стреляет от своего личного центра.
  • Тесты проводились при сведении вооружения в игре, 350 метров.
  • Оптимальный вариант для симуляции гироприцела, немецкие самолеты.
  • Личный центр самолета в игре, не когда не меняется, только если он разломан по палам в бою (потому что, вам надо показать цетровку картинки, и стрелять, попадать с переменным центром вы не сможете).
  • Это не как не "залатать", разработкой игрового клиента игры (центр объекта в игре не убрать). Можно добавить смещение центра самолета, но симуляция гироприцела в игре не затронет, по причине статического положения в центре экрана. И просто... добавь больше упреждения :-)
  • Это не "четирские замуты", если есть стена-ветер от разработчиков, самолеты-утюги, сервера с личными настройками 10 человек (к которым привыкают 50+ человек), дедульки в креслах и шлемах, а это лично ваш девайс... Ваше правило для игры. И честность или мораль тут роли не играет.

Прилагается запись полета показанная на изображении выше, включите вашу симуляцию гироприцела и посмотрите запись полета в клиенте игры. Распаковать в папку, "IL-2 Sturmovik Battle of Stalingrad/data/Tracks/".

Приятных полетов, вам... Не печальтесь, это всего, навсего игра :-)


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