Перейти к публикации

Рекомендованные сообщения

Опубликовано: (изменено)

У меня всегда было две проблемы с ИИ стрелков бомеров и двухместок ( и дефолтным, и модом «AI gunners (gavagai)»):

1). ИИ стрелки слишком точны, когда их самолёты испытывают перегрузки. Например, в быстрой миссии против ИИ-асов Gotha ИИ бомбардировщики будут совершать всевозможные манёвры, но их стрелки будут очень точны прямо в середине крутого поворота с перегрузкой в 3g. Очевидно, что 10-килограммовая турельная пушка Parabellum весит в три раза больше (то есть 30 кг), плюс её вектор импульса направлен не в ту сторону, куда хочет направить пушку стрелок, а резкие изменения вышеперечисленного должны дополнительно сбивать прицеливание. Короче говоря, на прицел стрелка должны негативно влиять манёвры его собственного самолёта.

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

К счастью, в файле turretcontrollerai.txt по умолчанию есть формула, которая учитывает ОБА вышеперечисленных фактора.

 

// формула расчета зоны ошибки прицеливания

// формула расчета
// ошибка по оси (метров) = tan(  
//								случайное число  * (AddCoef + ProjSpeedCoef * разница скоростей в плоскости прицела (в метрах в секунду) )  
//								* (текущая перегрузка * OverloadCoef + CoefLow/Hi/Ace)
//						       ) 
//								* расстояние до цели;
// случайное число - это число от -1.0 до 1.0
// tan - это тангенс. в зависимости от тангенса угла ошибки и расстояния до цели получается итоговая зона

// коэффициент переовда разности скорости скоростей объекта на котором стоит турель и цели, в плоскости прицеливания, в углы ошибки
ProjSpeedCoef = 0.20f;
// максимальная перегрузка в стандартных единицах при которых стрелок перестаёт наводится и стрелять
MaxBotOverload = 5.0f;
// коэффициент перевода перегрузки в единицы прицеливания
OverloadCoef = 0.05f;

Я использовал строгий научный инструмент интуиции и увеличил OverloadCoef в пять раз (это делает ИИ-стрелков в 5 раз более чувствительными к перегрузкам, которые создает их собственный самолет); я увеличил ProJSpeedCoeff в четыре раза (это делает для ИИ-стрелков в 4 раза сложнее точно рассчитать упреждение по объекту, который быстро движется относительно них).

 

Как тестировать (мы не хотим здесь никаких плацебо 😀). Я тестировал в быстрой миссии «Выживание», мой SeVa против двух волн ИИ-асов «Гота». Попробуйте без мода, а затем с модом, разница должна быть как день и ночь.

 

Вы можете вносить дальнейшие изменения по своему усмотрению.

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

 

Виват Rise of Flight и салют!

 

Мод на англ сайте - как основном месте тусовки РоФовцев и модов: https://forum.il2sturmovik.com/topic/92123-89s-mod-for-gunners-ai-gs-and-lead-adjustable/#comment-1356896

Изменено пользователем 89-
  • Поддерживаю! 1
Опубликовано:

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

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

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

 

И один вопрос не по теме: можно ли сделать мод, в котором запись полёта можно было бы преобразовать в файл миссии? Чтобы можно было запустить миссию, в которой твой самолёт из записи полёта будет выполнять полёт без твоего участия, но ровно с теми же самыми параметрами движения, тем же самым маршрутом и профилем полёта, какие были у тебя на твоей записи полёта. Например, чтобы можно было пролететь в строю за своим собственным самолётом.

Опубликовано:

Все три вопроса к разработчикам. Пмсм 1й и 3й слишком ядреные запросы (затраты на рубль, а отдача на копейку - как игроку разобрать воздушная болезнь у стрелка ИИ или просто "уровень средний" :)). Обучение нейросети - дорогая штука, пока это уровень ААА проектов как Гран Туризмо 7. Но в будущем наверняка увидим. 

Создайте аккаунт или войдите в него для комментирования

Вы должны быть пользователем, чтобы оставить комментарий

Создать аккаунт

Зарегистрируйтесь для получения аккаунта. Это просто!

Зарегистрировать аккаунт

Войти

Уже зарегистрированы? Войдите здесь.

Войти сейчас
×
×
  • Создать...