GaijinEntertainment / fmod_studio_warthunder_for_modders

Fmod studio project for War Thunder sound modders
125 stars 106 forks source link

Танковые экипажи и их логика #126

Closed OXEPU3M closed 1 year ago

OXEPU3M commented 2 years ago

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

Поэтому извините, но пишу сюда, как в последнюю инстанцию.

  1. Когда починят этот маразм с потерей сознания у танкистов? Ситуация: Выбили наводчика/заряжающего, командир пересаживается на его место. И когда наконец садится, игра говорит, что командир потерял сознание. Он чё, просто в обморок упал, когда на чужое кресло сел? С точки зрения игрового кода, конечно, командира как модуля больше нет -> включай реплику, всё логично. Но с точки зрения здравого смысла, маразм? Маразм! ( +Строить какие-то моды на этом просто невозможно.) Так же о ранении, бывает, не говорится ничего, даже если больше не было никакого урона.

  2. Ивент "charged", когда заряжающий орёт "готово!" Для перезарядки орудий (кроме специальных, типо бабахов) всего 6 ивентов. И туева хуча орудий, которые их используют. В результате мало того, что заряжающий далеко не каждый раз говорит, что орудие заряжено, так ещё и делает это в рандомном месте. Пример: Ивент автомата Т-64. На нём висят все советские МЗ и половина китайских. Получаем, что Т-80 заряжается за 6,5сек, а Т-90 за 7сек. И второй, выходит, заряжает последние полсекунды в тишине. Китайские по 7,5 вообще молчу. Так же реплика "Готово" плавает туда-сюда из-за разницы в навыках заряжающего. То до зарядки, то много после. Но всё это полбеды. Вообще катастрофа, что эта реплика, даже если её удалить, даже если удалить ивент целиком, не даёт включиться реплике "Техника уничтожена," если выстрел был моментально после. Да и не только моментально. Так подходим к третьему.

  3. Задержки в озвучках реплик. Я не знаю как это устроено в логике игрового кода, но я твёрдо уверен, что существует кулдаун-цикл в репликах танкового экипажа примерно на 1,2-1,5 секунды. Причём он включен счётчиком на репите. Пример: Когда я делаю два действия одновременно или очень быстро, вызывающих реплики экипажей (разные или одинаковые) то: •если я попал в начало цикла, разница между репликами будет примерно 1,2 секунды. (даже если сами реплики длиной 0,1сек, между ними всё равно будет нехилая пауза) •если я попал в конец цикла, реплики пойдут с минимальной задержкой друг за другом. Я не знаю, как это закодено, как должно работать, и в чём идея такого приёма, но я играю каждый день два года подряд, и готов поставить ползарплаты, что, даже если так не задумано изначально, работает именно так.

  4. Автопушки. Вытекает из п.3 Выдаёшь очередь в борт пулемётом/пушкой, этот дурак ещё три раза потом скажет "Попал!" Причём, если техника уничтожена не с первых 2 выстрелов, он не скажет, что она уничтожена, он будет повторять "Попал!" В итоге имеем ситуацию, когда противник уже респанулся и едет творить лютую месть, а у меня в танке всё орут "Попал!"

  5. Итальянцы не озвучивают тип заряжаемого снаряда. Ни с модами, ни на чистом клиенте.

А ещё я дважды ловил какой-то сумасшедший баг. Когда одним выстрелом выбивают пару человек, уродуют полтанка и начинается пожар. (Пожар, я думаю, ключевое. С этим ивентом вообще много всякого случается.) Так вот я уже и всех пересадил, и пожар потушил, и пару фрагов сделал, на карте уже пять отметок о внимании посмотрел, но всё это в тишине. И тут этот придурок как заорёт: "ПОЖАААР!!!" и давай как из пулемёта: двигатель поломался, наводчик контужен, цель уничтожена, ремонт закончен, и чешет и чешет, как ненормальный. Один раз я бы не обратил внимания, но вот через месяц случился ещё один. Вся эта логика с задержками, паузами и кулдаунами работает невменяемо, так ещё и мешает сама себе. Будьте любезны, исследуйте вопрос, но лучше просто все эти задержки в помойку.

Далее, мои предложения по игровой логике: •I Ивенты должны идти друг за другом, причём в следующем приоритете: a. Пожар - основа всего. Если случилось, то все и всё принудительно заткнулись, командир объявляет только об этом событии "Пожар в боевом отделении", а уж потом всё остальное. б. Второе по значимости - уничтожение нашего орудия или уничтожение противника. Эти два ивента должны срабатывать всегда на 100%. Исключение лишь при пожаре. Тогда они прерываются, но если ещё не были озвучены, то не отменяются, а ставятся в очередь сразу после оповещения о пожаре. в. Окончание перезарядки. Тоже весьма неплохо озвучивать всегда, но только после двух выше.

•II Попадания от пулемётов/автопушек не нужны вообще. См. п.4. Раз орудие автоматическое, то в FMOD для озвучки выстрелов шлётся команда на параметр on_shot. Что-то подобное можно и в логике для реплики о попадании прописать. (Если орудие автомат, то ивент экипаж-попадание не активировать)

•III Совсем уже фантастика, но было бы потрясающе, если бы игра говорила, что от попадания нет эффекта, когда действительно нет значимого эффекта. А то если фугас отрывает бесполезный ящик с ЗИПами, или наносит 0,0001% урона триплексу, игра говорит, тоже самое, если бы я пробил броню и всех внутри покалечил. И дело не только в озвучке для модов, это вообще очень странно.

Надеюсь это поможет сделать игру лучше.

Uchuujin01 commented 2 years ago

Добрый день! Мы в курсе проблем текущей системы озвучения команд, спасибо большое за ваши уточнения, мы их учтем (серьезно, это важно, добавлю в список известных проблем). Эта работа очень большая, все ж у нас 20 языков танковых экипажей в игре, а есть еще авиация и флот. Я не могу ничего сказать по срокам, но постепенно мы будем вносить изменения в безусловно устаревшую систему озвучения экипажей всех видов техники.

OXEPU3M commented 2 years ago

Добрый день! Мы в курсе проблем текущей системы озвучения команд, спасибо большое за ваши уточнения, мы их учтем (серьезно, это важно, добавлю в список известных проблем). Эта работа очень большая, все ж у нас 20 языков танковых экипажей в игре, а есть еще авиация и флот. Я не могу ничего сказать по срокам, но постепенно мы будем вносить изменения в безусловно устаревшую систему озвучения экипажей всех видов техники.

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

Uchuujin01 commented 2 years ago

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