Barotrauma Guide

Делаем игру какую сами хотим видеть (Полная файловая кастомизация) for Barotrauma

Делаем игру какую сами хотим видеть (Полная файловая кастомизация)

Overview

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

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

ВНИМАНИЕ! Если Вы совершали какое-либо изменение в файлах, и желаете его сохранить, прежде чем обновлять игру – сделайте его копию, ибо обновление вернет игру в версию Vanilla, и вы все утратите. Также напоминаю, что если по каким-либо причинам, в силу экспериментов над файлами, игра перестанет работать корректно, даже после перезапусков или переустановления, я ответственности не несу, и просьба писать на форумы, или в Дискорд Баротравмы[discord.com]
Для справки – Я играю и пишу это со своего Макбука, так что не судите за странные скриншоты файлов. Они не отличаются совсем сильно от Видосовских, и плюс мне удобнее их лично редактировать. Приятного Вам прочтения.

Предисловная прелюдия. Базовая механика, текстуры, ИИ.

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

Вначале для тех кто не в танке, точнее, не в подлодке, я кратко постараюсь объяснить как устроена игра. В отличие от многих известных нам 3D игрулек, FPS’ов, и всех прочих представителей современного искусства, можно (на удивление) заметить, что данная игра в разы проще, и в графическом, и техническом планах, и в принципе 2D-продукт. Так вот, игра построена таким образом, что каждая из графических составляющих, грубо говоря абсолютно все, что видно на экране – будь то детали подводной лодки, персонажей, предметов, звуки, тексты, фразы – это отдельный базовый файл внутри самой папки игры. Весь код и механика игры – объединение этих отдельных файлов, звуков, музыки, и поведения, дабы получить финальный продукт. Ниже можно увидеть примеры того как это реализовано.

Это пример текстуры механика. Как мы видим, вместо “Т-позы” как в обычных 3D играх, все его детали нарисованы отдельно. Рядом с этими фотографиями в папке игры есть файл с расширением .xml (точное название для этого варианта mechanic_gear.xml) который отвечает за связь всех этих компонентов, и банально того, что рука не будет ногой, или ступня не будет кистью.

Точно также, и у каждого монстра присутствует своя отдельная текстура, звуковое сопровождение, иконка, показатели здоровья, и даже его поведение, которые объединяются xml’никами.

Взглянем допустим на папку всеми нами любимых хасков, и разберемся поближе что тут к чему (у всех существ идентичный формат)

Помимо монстров, как я упомянул вскользь ранее, музыка так же присутствует в папке игры, как и все отдельные звуки, в виде отдельных файлов формата .ogg.

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


Примеры того, что имеется ввиду в результате

Покажу малейший пример полушутливой кастомизации игры по своему усмотрению

Можем заметить что фразы “F*ck this”, или следующей за ней “Press YES” даже в английской версии игры быть попросту не может (также для особо видящих можно увидеть небольшое мелькание экрана – это старые светлые обои моего главного меню) [link]

Далее видим немного не ту картинку загрузки, которая грузится обычно (к слову, цифры рядом, фразы Loading с подсказками можно также полностью изменить)

И предпоследнее – у меня на фоне вместо главного меню играет музыка Тиа Дальма Ханса Циммера из Пиратов Карибского – потому я также решил добавить и фото пиратского флага, за место дефолтной подводной лодки, которая там должна быть.

Из последнего, что сотворил, исключительно через файлы игры. Может даже и выпущу ч/б мод по этому, кто знает, если займусь. [link]

Плывем дальше-глубже. Немного разбора файлов.

Все файлы расположены в обычной директуре Steam, как на Маке, так и на Виндовсах, их легко найти через локальные файлы библиотеки.

Ну или говоря по-человечески:

Windows C:Program FilesSteam (x86)SteamAppsCommonBarotraumaContents Macbook User -> Library -> Application Support -> Steam -> steamapps -> common -> Barotrauma -> Contents -> MacOS


Находя эту папку, обнаруживаем немало файлов (многие я удалил с фото, так как их 100+). Кратко объясню какие более полезные.
  • Непосредственно папки – сердце игры, и то, что хранит в себе весь контент. То, что по сути мы будем использовать больше всего
  • Текстовые документы – в одном ченджлоги изменений в обновлениях, в README информация о правильной надстройке портов и серверных подключений
  • Картинки можно игнорировать, это для моих субмарин
  • В следующем подразделе из крайне полезного мы имеем файл config_player.xml, в котором можно найти все надстройки Вашего профиля, системные настройки игры, выбор Вашего персонажа, предпочтительного класса, информация о скачанных модах, утилитах, и даже Ваш внутриигровой никнейм – к слову все это опять же можно изменить, и игра это спокойно примет, если не покажет средний палец в виде консольной ошибки
  • Помимо всего прочего мы имеем возможность отсюда непосредственно открыть свой собственный Dedicated Server – тот, что даже без игроков, или Вашего присутствия будет существовать. Рассказывать как создавать думаю не стоит, все довольно очевидно как дважды-два, плюс имеется инструкция в файлах
  • Последнее из полезного, но не менее важного, это краш-логи. Они детально позволяют описать почему игра вылетела, или же не запускается. Крайне полезно когда Вы меняете убер-много файлов, или надстроек, но не понимаете в чем причина проблем – краш-логи есть ваша Библия, открывающие глаза на истину

Отсеиваем еще более ненужные файлы

Итак, как было видно из предыдущего скриншота, мы имеем шесть ключевых папок. Начинаем пояснять за пять из них, в обратном порядке.

  • Workshop – абсолютно ничего интересного в ней нет, кроме как аватарок модов которые Вы скачали – кораблей, улучшений, изменений, дополнений.
  • Submarines – тут хранятся все дефолтные субмарины, а так же те, которые Вы создали, но не загрузили.
  • ServerLogs – думаю очевидно, объяснять сильно подробно не нужно. Просто внутриигровая консоль для хоста переведенная в .txt
  • Mods – вот тут, в отличие от папки Workshop, мы имеем все папки с модами, а также очень правильный (спасибо разработчикам) текстовый файл, который подробно объясняет как создать и загрузить свой собственный мод, и корректно написать для него конфиг. Опять же, будь то создание нового монстра, или просто дополнительная песня для гитары, выбор на Ваш вкус. Крайне важный файл для тех, кто хочет заниматься модами, или привлечь себя к ним. Напомню, цель этого гайда не научиться модам, а разобрать файлы и дать возможность каждому игроку кастомизировать свою игру как ему удобнее, или больше нравится, не привлекая модификаций. Ниже я отдельно оставлю ссылку на официальный гайд, который Вы можете впоследствии использовать.
  • Data – тут нас приветствуют пару папок, пару текстовых документов, и несколько .xml’ников. Saves в себе хранит информацию о Вашей нынешней компании, когда как ContentPackages носит в себе информацию о ванильной версии Бары. bannedplayers.txt это лист забаненных Вами на сервере игроков. clientpermissions.xml открывает лист, в котором указаны игроки, имеющие возможности администраторов на Вашем сервере, удалив этот лист (оставив только вас), Вы соответственно отберете у всех привелегии. forbiddenwordlist.txt включает в себя весь прекрасный английский словарный запас ругательных слов, для встроенного фильтра в поиске серверов, можно также добавлять или удалять их. karmasettings.xml позволяет видоизменять настройки кармы на сервере, например можно сделать так, чтобы карма по дефолту не убиралась, но как только человек сделает хоть один чих в сторону товарища – его забанит. Удобная автоматизация. permissionpresets.xml регулирует что делает каждая из назначаемых ролей модератора/админа сервера. Например можно человека сделать админом, но все что он сможет, это покупать и продавать вещи. recentservers.xml показывает к каким серверам Вы присоединялись, даже после их закрытия, со стим айди владельца, и прочей полезной инфой.

Добрались до папки “Contents”, где начинается все веселье

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

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

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


“Дорожная карта” файлов для примера

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

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

Также важно отметить, что .xml’ники берут как бы “определенную выбранную территорию” непосредственно из .png файлов текстур, комбинируя их в общую 2D-картинку в игре, и если текстура оборванная, или же неработающая, стоит проверить прилежащий файл .xml на наличие ошибок или просчетов.


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

Ищем в .xml файле нужную строчку (для английского английский, для русского русский соответственно), меняем ее на то, что нам хочется. Допустим вместо изначального “Loading” впишем “Deleting last braincells” – “Удаляем последние хромосомы”.

Итог:

Хардкор. Только хардкор.


Устали от дефолтной музыки? Ничего страшного.

Можете как я воткнуть музыку из Пиратов Карибского в главное меню, и спокойно наслаждаться не разъедающими уши треками. Скачиваете любой трек, конвертируете его в .ogg, это важно, далее выбираете одно из двух – либо переименовываем его в то же самое название (допустим тут Main Menu Music.ogg), или же ищем нужный .xml, и вместо Main Menu Music там вписываем название новой композиции.


Надоело слушать однообразный звук сонара, как я? Прекрасно!

Найдите более реалистичный звук сонара в интернете, или хоть стоны девушки, сделайте тоже самое что в предыдущей ступени, и наслаждайтесь новым хорошим звуком.


Не хотите видеть одни и те же картинки на загрузке и заставке? Чудесно.

Дружно открываем данную папку, и убираем фотки что нас достали, ставим новые, пишем тоже название, сохраняем формат, и они очень красиво впишутся в фон. Также если устали от однообразных или глупых названий городов на карте Баротравмы, там же и текстовые файлы, где можно эти названия преспокойно поменять.


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


Для всех желающих испытать себя в моддинге, и тех кому хочется больше погрузиться в эту тематику, с радостью предлагаю прочитать это официальное руководство разработчиков. Там все более подробно, и в более корректных деталях.
[link]

Для референса по моддингу эффектов .xml:

<StatusEffect types>:
– Always
– OnPicked
– OnUse
– OnSecondaryUse
– OnWearing
– OnContaining
– OnContained
– OnNotContained
– OnActive
– OnFailure
– OnBroken
– OnFire
– InWater
– NotInWater
– OnImpact
– OnEating
– OnDeath = OnBroken
– OnDamaged
– OnSevered
– OnProduceSpawned
– OnOpen
– OnClose

<StatusEffect targets>:
– This
– Parent
– Character
– Contained
– NearbyCharacters
– NearbyItems
– UseTarget
– Hull
– Limb
– AllLimbs

Названия тэгов Dyno в Дискорде Баротравмы:
wiki, warn, structurehp, statuseffect, savedata, regex, neutralballast, naturalformation, idlock, idcard, guides, greenwall, editorholders, editorcontainer, editorautofill, edc, conditional, coalition, clown, buildtoday, bugreport, brokenpump, ballastflora, RegEx
Ипользуйте “?tag название” чтобы показать тэг.


Пост скриптум

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


Не нашлось для меня за все то проигранное время ни единой вещи которая не могла бы быть не отредактирована или не заменена – у меня например большая часть материалов с кастомными названиями для удобства, города изменены, музыка сделана более комфортной и мягкой для продолжительной игры, нежели с жесткими звуками Ванильной версии, текстуры рапторов и ползунов, с их звуками, изменена, молохи плавают с более приятным и узнаваемым эхом. Вместо простого звука гитары, у меня играет музыка из Безумного Макса, аккордеон играет Коробейники из Тетриса, или Катюшу. Сирены и звуки воды переделаны для большей реалистичности. Мне лично этого всего крайне сильно не хватало, и я очень признателен разработчикам, за то что имеется возможность все это редактировать. Как говорится, креативность ограничена только небом, и данное руководство не покрывает и малейшей доли из всего, что можно тут сделать. И я надеюсь, это руководство позволило для Вас хоть немного узнать что-то новое из мира Баротравмы, и откроет возможность придать себе более благоприятные течения в океанах Европы.


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

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

Также немного полезных ссылок (по личной рекомендации):

Кто дочитал, всем огромное спасибо.


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

Пост пост скриптум: пишу руководство уже 8-й час без остановки, так что я спать


SteamSolo.com