GaijinEntertainment / fmod_studio_warthunder_for_modders

Fmod studio project for War Thunder sound modders
120 stars 104 forks source link

Совместимость с ванилью и обновления / Vanilla's compatibility and renovation #195

Open OXEPU3M opened 1 year ago

OXEPU3M commented 1 year ago

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

Пример: Если мод маленький, всего в пару ивентов, для него нужен весь банк со всеми незадействованными ивентами. И добавить к нему другой маленький мод с ивентами из того же банка невозможно. (точнее, это очень не просто, с чем не все пользователи справятся) Но что более важно, использование модов полностью отменяет последующие и актуальные изменения оригинального звука. Т.е. если я хочу заменить звук всего одного орудия, мне придётся использовать весь банк weapon, но тогда последующие результаты вашей кропотливой работы пройдут мимо меня.

Совсем плохо, если моды логические. Иногда приходится использовать ивенты музыки для не музыкальных задач, что, как вы понимаете, полностью отменяет оригинальный саундтрек. (А масса пользователей хочет играть и с модами, и с оригинальной музыкой). Иногда вообще приходится пользоваться ивентами из 3-4-5 разных банков для изменения одного конкретного звука. Что так же не позволит обновить незатронутые ивенты и насладиться последующими улучшениями оригинальноой звуковой картины. Ведь репозиторий, по понятным причинам, не обновляется при каждом микропатче.

Предлагаю решение большинства проблем.

1. Если возможно изменить алгоритм загрузки звуковых банков: •Найти все файлы .bank в папке sound\mod\ •Составить список найденных имён •Загрузить файлы согласно полученному списку •Загрузить файлы .bank из папки sound\

Вероятно, FMOD не позволит такой фокус из-за внутренней логики masterbank, и правильная загрузка именных банков не возможна. Тогда следует оставить существующий алгоритм сверки и загрузки имён в папках sound\ и mod\, но добавить в игру несколько пустых номерных банков. По прикидкам не менее пяти, но лучше, на всякий случай, не менее двенадцати, и именно номерных [1.bank, 2.bank...12.bank] +ассеты, потому что игра загружает их в алфавитном порядке. Их содержимое не важно, они даже могут быть совершенно пустые, главное, чтобы игра и FMOD корректно распознавали их наличие.

2. Добавить параметр Nation или подобный, чьё значение будет зависеть от выбранной в игре нации, и которое будет распознаваться FMOD в конкретный момент времени. (Само собой данное значение должно зависеть только от выбранной нации и техники игрока, и не передаваться в _ai ивенты, во избежание читов)

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

=====

IN ENGLISH

Hello. The game has a serious lack of compatibility between mods and the original sound picture, or rather its complete suppression. It has become especially acute in recent times.

Example: If the mod is small, just a couple of events, it needs the entire bank with all other unused events. And adding to it another small mod with events from the same bank is impossible. (more precisely, it is not very easy, which not all users can handle) But more importantly, using mods completely overrides subsequent and actual changes to the original sound. Those. if I want to replace the sound of just one weapon, I will have to use the entire weapon bank, but then the subsequent results of your painstaking work will pass me by.

And more than that, it becomes really bad if mods are logical. Sometimes you have to use music events for non-musical purposes, which, as you understand, completely cancels the original soundtrack. (And a lot of users want to play with both mods and original music). Sometimes one generally have to use events from 3-4-5 different banks to change single particular sound. Which also will not allow you to update unaffected events and enjoy subsequent improvements to the original sound picture. After all, the repository, for obvious reasons, is not updated with each micropatch.

I offer solutions to most problems.

1. If possible, change the algorithm for loading sound banks: •Find all .bank files in the sound\mod\ folder •Make a list of found names •Upload files according to the received list •Load .bank files from sound\ folder

Probably FMOD won't allow such a trick due to the internal logic of the masterbank, and correct loading of named banks is not possible. Then you should leave the existing algorithm for checking and loading names in the sound\ and mod\ folders, but add a few empty number banks to the game. According to estimates, at least five, but better, of course, twelve+, and exactly numbered [1.bank, 2.bank...12.bank] + assets, because the game loads them in alphabetical order. Their contents are not important, they can even be completely empty, the main thing is that the game and FMOD correctly recognize their presence.

2. Add a Nation parameter or similar, whose value will depend on the nation selected in the game, and which will be recognized by FMOD at a particular point in time. (Of course, this value should depend only on the player's chosen nation and technique, and not be passed to _ai events, in order to avoid cheats)

These two additions will allow casual gamers to get a lot more positive vibes from the project and keep up with the current, vanilla soundscape, whether they're using huge packs or whistle joke mods. If you are interested in implementing this, then I will take care of the training and possible questions in the modding community.

Ph4ntom2 commented 1 year ago

yes i agree its very epic and cool for gaming

IWSM commented 1 year ago

I totally agree, it's time to stop mods if possible.

pixtolero commented 1 year ago

I approve this !

Uchuujin01 commented 1 year ago

@OXEPU3M добрый день. Я не уверен что понял правильно, потому что сейчас все работает именно так как вы описали: •Найти все файлы .bank в папке sound\mod •Составить список найденных имён •Загрузить файлы согласно полученному списку •Загрузить файлы .bank из папки sound\

Это как раз актуальный механизм работы загрузки звуковых банков. Другое дело, что при наличии в папке mod, скажем, банка tank_weapons.baks и tank_weapon.assets.baks содержимое банка будет загружаться из папки mod, полностью, догрузить из этого же банка из папки sound актуальный контент ваниллы будет не возможно. На данный момент единственный способо - для каждого отдельно орудия (двигателя, взрыва и тд) делать свой банк. В теории это возможно но требует очень серьезной переработки. Я правильно понял что ваше предложение состоит в этом?

Второй пункт, про параметр Nation, я не понял зачем он нужен, прошу пояснить.

OXEPU3M commented 1 year ago

@Uchuujin01 Если бы она работала именно по такому алгоритму, тогда можно было бы положить в mod\ любой банк вроде А.bank, B.bank и игра бы их распознала и загрузила. Но этого не происходит, потому что, подозреваю, она загружает банки согласно предварительному списку. И сначала из mod\, и если не найдено, то из sound. Уточните у своих программистов.

Я потому и предлагаю, чтобы стало возможно загрузить любое имя. Тогда вам не нужно было бы составлять алгоритмы или проект "один банк - один ивент". Но тут и возникает возможная проблема мастербанк. Соответственно решение в том, чтобы перемещать отдельные ивенты по проекту. Потому что банки загружаются в алфавитном порядке, и уже загруженные в память ивенты не замещаются. Т.е. если банк А содержит ивент Х, то ивент загружается, но тот же ивент Х из банка В второй раз уже нет. Соответственно, можно добавить нумерные банки, чтобы они загружались впереди всех. В них можно будет положить отдельные ивенты. Например перекинуть конкретное орудие из weapons.bank. в 1.bank. Получится маленький мод, который не будет ломаться с каждым мажорным обновлением. И при этом все оставшиеся ивенты в weapons. не будут игнорировать никакие обновления. И пользователь такого маленького мода сможет получать актуальную версию звука ни о чём не переживая и даже не замечая.

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

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

Karnitin75 commented 1 year ago

u have ma support 100%

Uchuujin01 commented 1 year ago

@OXEPU3M привет. Так, теперь понял. Сейчас действительно набор банков фиксированный. Мне идея нравится, обсужу ее с программистами. Спасибо за предложение! К ближайшему мажору понятное дело не успеем, там работы и так хватает, но, на следующий выставлю на обсуждение.

PS: Вовсе не обязательно бросать клич (вероятно на реддите) чтоб народ тут писал поддержку. Веса это идее нисколько не придает, и приоритета задаче не поднимет. Хорошая идея сама по себе хороша.

OXEPU3M commented 1 year ago

@Uchuujin01 спасибо. Будем ждать решения.