Анатомия игры: строение файловой системы на примере Elden ring и не только

fh4toapvpmbf6pzekplkpfetma8.png

Добрый день, уважаемые хабражители. С вами снова Людмила Хигерович. Но сегодня мы не будем говорить непосредственно о 3D-модельках и тонкостях моделирования. Вместо этого немного отвлечемся и познакомимся с устройством архивов одной из самых популярных игр этого года и номинанте на премию Game of the year — Elden Ring, а также сравним её строение с другими играми.

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

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

▎Что такое игровой архив ?


Сейчас, заглянув внутрь папки с экзешником (исполняемым файлом запуска) почти любой игры, вы, скорее всего, увидите несколько dll-библиотек, деинсталлятор и пару подпапок с файлами странных и незнакомых расширений, например, dcx, bdt, pak, bsa и другие, причем размер их может варьировать от 500 Мб до нескольких десятков гигабайт. Это и есть архивы.

Зачем они вообще были придуманы?  

Если мы откроем какую-нибудь компьютерную игру 80-х годов выпуска (например, почти любую игру Super Mario Bros), то увидим либо только сам экзешник игры, либо экзешник и пару dll-файлов, либо экзешник, dll и папку с небольшим количеством спрайтов (небольших изображений героев, окружения, кнопок и предметов, использующихся как функциональные части игры) и иногда музыку.

f45a26e1e9aa25f50ead5e50e72eed67.png
Некоторые современные игры в стиле ретро (как, например, Undertale) тоже минималистичны в плане внутренних файлов. Красным отмечены сами игровые файлы (и файл привязки к Steam), все остальное — музыка.

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

                    2e4943d088fd125bf98a32e78a37862d.gif

                    62f2ad5c951427132587e053a3de71d1.gif
   Это не нативные (не родные) спрайты из игр Tekken и Pokemon, однако хорошо  демонстрируют разницу в качестве отрисовки (количестве кадров анимации, дополнительных цветах палитры, количестве пикселей в спрайте и т.п.).

Позднее появилось третье измерение, и проблема величины файлов становилась все значительнее. Первые трехмерные игры (Doom 1993, Wolfenstein 3D, первый The elder scrolls) с гибридной графикой (сочетание трехмерного окружения с двумерными спрайтами врагов и эффектов) уже занимали приличные для того времени 40 Мб на жестком диске (средняя емкость винчестера в то время составляла около 320 Мб, почти половину которых занимали компоненты системы и программные офисные пакеты).

5705fc3f73087a3465756ed9a9878be5.png 
DooM 1993 года. Спрайты врагов, тел павших товарищей и предметов менялись динамически (подмена текстур как кадров в GIF-анимации), но всегда были повернуты одной стороной к игроку.

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

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

▎Объем файла и его сжатие


Самая простая obj модель без костей (а формат не поддерживает кости) с двумя текстурами в формате jpeg (jpg) весит около 2–3 Мб при разрешении текстур в 1024×1024р. Формат fbx, содержащий риггинг, развесовку и четыре текстуры png, две из которых карты нормалей будет весить уже от 5 до 15 Мб в зависимости от размера текстур. 

Краткое отступление про размер изображений
PNG-текстуры обычно чуть пожирнее, чем JPEG. Несмотря на то, что JPEG намного меньше по размеру, методы кодирования пикселей у них немного различаются, из-за чего JPEG при сжатии может потерять качество и словно посыпаться. Кроме того, PNG поддерживает прозрачность (альфа-канал).
6ec5220a21051cd67ad9bc165b8365ea.png
 Одна и та же цветовая текстура, сохраненная в разных форматах. Слева — PNG-файл (1,84 Мб), справа — JPEG-файл. 


Среднестатистическая модель персонажа средней полигональности с риггингом и семью сетами текстур, каждый из которых содержит по 3 текстуры (диффузная карта, карта нормалей, карта отражений) весит от 20 до 70 Мб.

                           a76dcd579dccc64e0050caa7a5dff18f.png
Один из моих рыцарей со всеми текстурами весит 52 Мб (fbx файл+10 сетов текстур diffuse/specular/normal/environment). Средний размер текстур 1800 — 2400р. Формат png и tga. Модель разделена по мешам — частям или объектам, имеющим собственный материал и сет текстур — голова, глаза, роговица, кираса, наручи, поножи/обувь, волосы, оружие.

b5eeba518ebc3e9e24dd31b90bdef66c.png
Другой из моих рыцарей весит 20 Мб (те же 10 сетов текстур + fbx+mesh). Средний размер текстур 500–800р. Формат текстур jpg.

Кто впервые додумался зашифровать архив игры в специфическом формате, доподлинно неизвестно. Скорее всего, пальма первенства в очередной раз оказалась у японцев. Doom 3 для сохранения места всего лишь немного поменяла Zip-архивы, которые все еще поддавались распаковке (почти) стандартными методами.

c84692dbaf9e6e45655bd998b1e53ba0.png
Распаковка .pk4 файлов ПК-версии DooM 3: воскрешение зла. Распаковщик — обычный 7zip.

А вот модели, текстуры и анимации уже имели более специфический формат. Думовские модели сохранены в .md5mesh, формате, экспорт которого поддерживает только пакет Autodesk Maya (и несколько специальных скриптов импорта универсальных программ-конвертеров типа Noesis). Часть текстур внутри папок имеет формат .tga (весьма тяжелый файл до сжатия с поддержкой многослойности и многоканальности изображения), часть .dds.

Все варианты dds подразделяются на 4 типа кодирования:

  • DXT1 — диффузные (цветовые), зеркальные (specular) и карты высот (в т. ч. варианты displacements), без альфа-каналов;
  • DXT3 — диффузная, зеркальная и карта высот с альфа-каналами;
  • DXT5 — исключительно для карт нормалей, с альфа-каналами или без них;
  • DXT10 — весьма редко используемый формат, поддерживающий альфа-каналы и некоторые специфические каналы цвета, используемые в играх для дополнительного контроля над картами отражений и наложений эффектов без использования дополнительных карт (например, в Dark souls 3).


DDS-файлы не получится открыть простым средством просмотра фотографий. Для этого вам потребуется либо установить специальную dll-библиотеку в свою систему, либо использовать средства просмотра, имеющие скрипты и плагины для открытия dds-файлов (Irfanview, Xnview, GIMP, NVidia--плагины для Photoshop). Для открытия DXT5 и DXT10 dds и этого недостаточно — некоторые из них всегда будут выдавать ошибку открытия файлов или сообщение вроде «некорректный хэдер (заголовок) файла». Для справки — корректный заголовок файла dds в системе HEX — 4444 5320.

91esofzuuuzn81qhpuaelikyrfg.png
Некоторые разработчики и вовсе создают свои собственные варианты компрессии изображений. Например, часть DDS-файлов из директории Neverwinter online не хотят открываться ни в одной программе.

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

▎Многоэтажная компрессия From software


Современные игры не обходятся без сжатия файлов. Сколько бы ни расширялся объем дискового пространства накопителей с развитием НТП, еще большими темпами растет требовательность к качеству текстур и моделек. За десять лет «прожорливость» игр по отношению к свободному месту на диске выросла с 5 Гб (средний вес базовой игры TES V Skyrim 2012 года) до 40 — 50 Гб.

bc2a49282cc599821cd1fdfed8878980.png
Elden Ring в базовом формате весит почти 47 Гб. И ОЗУ жрет столько, что мой компьютер отказывается с ним работать. Приходится мириться с облаком.

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

Первая игра от From software, с которой мне выдался шанс познакомиться, — это Dark Souls: Prepare to die edition. Я не буду расписывать тут, как перевернулся мой мир, но после относительно простого (в плане игрового процесса и устройства игровых архивов) Скайрима темный соус оставил неизгладимое впечатление и навсегда поженил меня с соулс-лайками. 
Впрочем, и в предыдущей игре (Demon«s Souls) Fromы уже использовали двойную и тройную архивацию:  

6e38c6049d9f9ffb5ba72f5048fa5f9d.png
Некоторые частично распакованные файлы Demon’s souls.

adb5bce90422cded1eb985fcc7d4ff3b.png
Базовые архивы Dark souls PDTE (полная версия для ПК 2012 года). 

Компоненты архивации со времен демонических душ и на протяжении жизни темных душ не особо менялись. Самый последний уровень архивации — BDT архивы. Если честно, не знаю, как эта аббревиатура точно расшифровывается, вероятно, Binded data. Позднее будет понятно, почему нет третьего слова. BDT — непосредственно игровые архивы, содержащие модели, текстуры, анимации, карты, GUI и HUD (элементы интерфейса).

67cd73b76651ed2fde0050d01ad30c3a.png
Файлы Elden ring. Обратите внимание на размер BDT и BHD архивов.

К BDT-файлам прилагается BHD-файл соответствующего имени — файл заголовков или Binded header (для первого Dark Souls — BHD5). В нем содержатся ключи шифрования BDT-архива и некоторые сведения о структуре зашифрованного архива. Без дескрипции BHD-файлов невозможно дешифровать и открыть BDT.

Какого-то четкого предпочтения по распределению контента по номерным архивам основной игры нет. В первом Dark Souls основная часть моделек и текстур содержалась в dvdbnd0.bdt.

                  4506cebf8b58e8b89dcc660253e4959c.png
                  Содержимое архива dvd bond0.bdt
                                      Dаrk souls PTDE

Dark Souls 2 SotFS разрабатывался немного иным составом команды, что отразилось и на организации архивов — вместо номерных безымянных архивов один большой архив GameDataEbl.bdt с двумя файлами кодировки (файл с заголовками и файл с ключом шифрования .pem) и множество мелких архивов с текстурами дополнительных вариантов разрешения и мелкими скриптами. Изменения в строении архивов сказались на восприятии игрой модификаций, и, по мнению некоторых, на работоспособности некоторых скриптов. Но я не настолько хороший кодер, чтобы точно это знать.

15ddd31ad50103685620b4d3589c3883.png
                                Архивы Dark Souls II SotFS.

К разработке Dark Souls 3 уже вернулась та же команда, что работала над первым дарком. Вернулись и традиционные безымянные архивы с номерами.

e9638ee74e963f9f0aa080b8b257071c.png
                                Архивы Dark Souls 3 с обоими DLC

В третьем дарке внутренности архивов были распределены между несколькими большими архивами. Data2 содержит папку Parts — оружие, части доспехов, тело, прически, глаза, брови/ресницы/бороды и базовое лицо, а также сеты NPC-людей (Сигварда, Орбека и др.). 

8f28844bd5cd512a9e75bc420136eab1.png
Содержимое архива Data3.bdt — chr-файлы (файлы с боссами и противниками).

В Data3 содержится папка Chr и архивы четырех основных типов — chrbnd, texbnd, anibnd, behbnd:  

  • CHRBND — binded-архив с моделью противника или босса, а также негуманоидных и уникальных NPC (например, Хранительницы огня). 
  • TEXBND — текстуры соответствующего противника, зашифрованные в еще один архив — TPF-файл. 
  • NIBND — скелет в формате HKX (формат пакета Havok) и набор анимаций для противника, иногда отличающийся не только по типу противника, но и по каждому варианту противника (в соответствии с номером и приличествующим вариантом ИИ). 
  • BEHBND — архив с дополнительными настройками анимаций и поведения противников.


Data4 прячет внутри себя объекты мира, с которыми игрок может взаимодействовать — рычаги, лифты, разрушаемые объекты, а также некоторые элементы окружения с физикой и скелетом (цепи, флаги, тела и т. п.). Data5 отведена под карты (сцены) окружения, архитектуру, фоны, LOD (малополигональные модельки находящихся вдалеке объектов) и почему-то звуков. Схожей архитектуры придерживались разработчики и в работе над другими проектами — Bloodborne, Sekiro и Elden ring.

▎Что внутри Древнего Кольца


Сравним файловую организацию TES V Skyrim от Bethesda и Elden Ring от From software.

Архивы беседки очень просто устроены. В папке с игрой вы найдете папку Data, а внутри — файлы Skyrim — Meshes.bsa, Skyrim — Textures.bsa, Skyrim — Interface.bsa и т.д., а также россыпь архивов и папочек в зависимости от того, какая версия игры или сборка у вас установлена (паки-наборы текстур высокого разрешения, дополнительные интерфейсы и т.п.).

4a81c1ce3d46ec00b01478d7952d61d7.png
                                Содержимое папки Data игры TES V Skyrim

Сами архивы имеют формат BSA — Bethesda softworks archive, и распаковываются инструментами, самой студией и разработанными специально для сборки и разборки собственной игры и создания модификаций (шутка про то, что беседка оставляет игру сразу на допиливание конечным пользователям). Архивы удобно подписаны, и внутри почти все подпапки также имеют имена, соответствующие содержимому:  

72478535671b7236eed1899919e4f4cb.png
                                Содержимое архива Meshes.bsa

Все персонажи, противники и животные помещены в папку Actors, и также скрупулезно подписаны. Аналогичная структура и в архиве Textures.bsa, имена и расположение папок и конечных файлов аналогичны на 80%.

6ac8470c4188adf3dc8c99c9b73cbc20.png
Папка actors не защищена никакими дополнительными архивами.

Больше никаких архивов внутри архивов — подпапки содержат только конечные файлы: модели в формате nif, скелеты моделей и анимации (для архива с текстурами — текстуры и энвайронмент-карты в формате dds). 

f58f92de88b8cca3427f9e244f25eec5.png
Nif-файлы с моделями Скайрима можно просмотреть и незначительно отредактировать программой Nifskope

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

Теперь возьмем Elden Ring. В папке с игрой нас встречают уже знакомые BDT-архивы и их BHD-энкрипторы. Вместо имен — абстрактные числа (Data0, Data1, Data2, Data3). 

4b5a3192199f10b93336b77be3f552ed.png
                                Внутри архива Data0 Elden Ring

DATA0.BDT

Data0 содержит много папочек с более-менее понятными названиями, в первую очередь, папку Parts — с одеждой и частями персонажей, включая героя игрока и NPC. Но не обольщайтесь — это последний раз, когда нам будет все понятно. Потому как внутри папки parts мы увидим картину, аналогичную картине внутренностей предыдущих игр фромов.

555c3d524f37724b312597a2f1602953.png
f700c198f38526724b4a0bd14ec093d3.png
Внутри архива DATA0.bdt папка Parts, в ней — архивы DCX, а в каждом архиве — еще один архив — PARTSBND.

Архивы dcx и partsbnd рассортированы в соответствии с содержимым: am_m_xxxx — модели обмундирования для рук (перчатки, обмотки, латные перчатки, браслеты и т. п.) мужских персонажей и сетов без различий по полу персонажа (я их называю — реалистичный доспех), am_f_xxxx — соответствующий номеру женский вариант. BD — маркировка для тела (рубашки, кирасы, кольчуги, куртки и т.п.), LG для ног до пояса (штаны, брюки, поножи, юбки, сапоги). 

4814a405b9970847760159aba647fb3b.png
Чтобы добраться до модели брони и ее текстуры, надо продраться сквозь многоэтажные папки в папках. В конечной папке будет лежать модель в типично соуловском flver-формате, архив с дополнительной анимацией к скелету персонажа, файлы дополнительных костей с физикой и tpf-архив с текстурами. 

FC_F и FC_M — базовые лица для NPC и игрока, а также варианты текстур для маскирования (наложения цветовых масок). Лиц для каждого NPC в отдельности в этих архивах нет — как и в предыдущих играх, лицо, созданное вами в редакторе и лица персонажей хранятся в другом месте в формате .tri — файлах морфов (изменений геометрии лица).

  • FG_A — маркировка для дополнительных элементов лица (брови, ресницы, глаза, усы, борода и варианты текстуры к ним). 
  • HR_A — архивы с прическами и белой текстурой (редактор в игре накладывает цвет на белую текстуру отдельно).


1347f1697d636a22ef659e47f04df9d2.png
                                Одна из причесок Elden ring

Стоит отметить, что каждый parts-файл имеет одну модель, но в каждой модели есть несколько вариантов меша (несколько похожих или дублирующих друг друга кусков модели) для разных режимов отображения. Причем это практически не зависит от выбранного вами типа телосложения персонажа (худой, мускулистый или полный). Каждый вариант нужен для сочетания всех частей обмундирования с другими: одни части прически скрываются под шапкой, другие — под капюшоном. Аналогично и для доспехов — пояс у штанов модели из папки LG виден, если герой ходит с голым торсом, но исчезает при надевании кирасы.
К слову, прически в Скайриме тоже имеют скрываемую часть меша для помещения под шапку, как и скрываемые рукава кирасы, хотя и не со всеми сетами они работают корректно.

DATA1.BDT

Data1 содержит папку Asset, в которой есть две директории: aeg и aet. В AEG расположены несколько многоуровневых папок, в самой последней из которых лежат архивы типа aegxxx_xxx.geombnd. AEGХХХ_ХХХ.geombnd — файлы интерактивной геометрии — двери, переключатели, объекты окружения с физикой (небольшие деревья, сталактиты, обломки зданий и т.п.), а также принадлежащие им скелеты и анимации.
AET-директория содержит tpf-архивы с текстурами с аналогичной иерархией папок. 

55411c4670e7255e3714c5d9b712a245.png
AEG001_315.geombnd содержит модельку тюремной двери. Некоторые модельки ссылаются не на свои текстуры, а на текстуры из другого архива.

DATA2.BDT

Этот архив содержит файлы окружения или карты локаций (map-файлы — архитектуру, лес, деревья, здания, руины), файлы разрушаемой геометрии (breakobj — горшки, доски, вазы, сухие корни и т. п.) и загрузочные листы (регулирующие файлы с именами NPC и врагов, которые должны быть загружены на локации).

484622faee7c62d85ec12a3b1a389827.png
                                Содержимое архива Data2.bdt

На скриншоте вы можете видеть много папочек с именами m10, m11, m34 и т.п. Это папки с наборами архивов по локациям 
  • m10 — замок Грозовой завесы и его придел (Часовня ожидания, место старта игры),  
  • m11 — столица Лейнделл и её засыпанный радиоактивным пеплом вариант, а также Круглый стол,  
  • m12 — все подземные локации ака Ночной Петербург (большие подземелья со своими кусками рисованной карты — Нокрон, Нокстелла, Глубокий корень, реки Ансель и Сиофра),  
  • m13 — летающий и рассыпающийся город Фарум Азула,
  • m14 — местный Хогвартс ака Академия Райи Лукарии (хотя мне ближе Архивы Герцога Сита),  
  • m15 — проклятое… ой, то есть, священное дерево Микеллы,
  • m16 — Вулканово поместье, m18 — Плавучее кладбище (тоже начальная локация),  
  • m19 — не уверена, но, вероятно, одно из мест встречи с финальным боссом,  
  • m30 — все рукотворные катакомбы,
  • m31 — некоторые природные пещеры,
  • m32 — некоторые шахты и туннели, соединяющие разные локации,  
  • m34 — сюжетно важные Дивные башни ака Священные рунные башни,  
  • m35 — Подземелье Отчуждения,  
  • m39 — усыпанный руинами обрыв (путь на плато Альтус),  
  • m60 — озерная Лиурния (Петербург днем), Лунный Алтарь, Замогилье, подъемник Дектуса, Вулкан Гельмир, плато Альтус, окрестности Лейнделла, подземелья окрестностей столицы, Звездные пустоши и Вершины великанов.


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

DATA3.BDT

Главное, что есть в этом архиве — папка CHR с моделями и анимациями боссов, минибоссов, рядовых противников и NPC с уникальными модельками (Мелина, Ренни, Бок).

85eae6bbb9b083a4ded89845814432e2.png
Частично распакованные файлы в папке CHR

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

3d1a6c280035c2009a98e842e538806f.png
                                Драконица Лансеакс без текстур

Например, c451x — код архивов с четырехкрылыми каменными драконами. С4510 — встречающаяся несколько раз на протяжении игры драконица Лансеакс и ее уменьшенная копия-рядовой враг в Фарум Азула. C4510_div — архивы с дополнительными анимациями для различных локаций и этапов игры.

ceb95a97face2316851859a994f069e2.png
Бедолага Фортисакс, зараженный проклятыми корнями. В игре его белая каменная шкура почернела от проклятия.

C4511 — брат Лансеакс, дракон-лич Фортисакс. Скелет и большая часть анимаций у них общая, кроме пары спец-атак, хотя сами модельки и их текстуры различаются. Но не все архивы боссов подвержены данному правилу. Так, c2120 Маления в одной модельке содержит меши обеих своих стадий как босса.

3255a57cbdfc4cbe79047c1ad215bb80.png
«Я — Маления, Клинок Микеллы. И я не знала поражений»
Фраза, вызывающая травматические флешбеки у каждого второго из тех, кто до нее дошел. Но не у меня.

Еще один вариант архивов, отличающихся одной конечной цифрой — модельки для общего геймплея и катсцены (заставки), либо для различных стадий босса. Так, c2190 — Радагон, с2191 — Марика из катсцены.  Кроме того, некоторые архивы дублируются. Так, для Мелины и Малении существуют дополнительные архивы с маркером с80ХХ (маркер, обычно используемый для сюжетных NPC и иногда — фантомов-помощников). С8900 — версия Малении для катсцен, тоже содержит две модельки разных стадий в одной, но без лепестков.

С2180 — моделька Мелины для геймплея и призыва ее в качестве фантома.

815f8927c3f2ab9c5745659cb47f4775.png
Все модельки в данном вьювере отражены справа налево. Такая особенность конвертации.

С8906 — версия Мелины, не задействованная в геймплее, ее можно увидеть только в одной из концовочных катсцен.

d2ae407d46ad6ec6585f0b741d39c582.png
Растрепанные волосы и побледневшая кожа прилагались.

▎Итого


Впрочем, не только фромы этим грешат — NetEase, создатели мобильной игры Onmyoji arena пошли по тому же пути, запаковав свои ресурсы в трехэтажный архив, в структуре которого без ста грамм разобраться очень сложно. Да и никакого намека даже на математический порядок, как у фромов, у NetEase нет — каждый персонаж, каждый объект на сцене получает новый номер при добавлении чего-либо в архив. Это вызывает некоторые проблемы при скачивании и установке обновлений, ведь требуется не просто добавить пару файлов и заменить один архив — вам как пользователю придется заново скачать и переустановить ВСЕ огромные архивы (а пять с лишним гигабайт для телефона — не такое уж маленькое пространство, если вы, конечно, не мажор и не бездельник. Да и с интернетом у нас не по всей стране все ок).

8ed4e5f866f798e3ff9cd0bdfd74dc2c.png
Каждый раз номера перегруппировываются, так как новые варианты (скины) персонажей «присоседиваются» к уже существующему файлу предыдущего скина, сдвигая число последующих файлов.

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

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

▎А на сегодня все. Всего хорошего и не болейте!



НЛО прилетело и оставило здесь промокод для читателей нашего блога:
— 15% на все тарифы VDS (кроме тарифа Прогрев) — HABRFIRSTVDS

© Habrahabr.ru