Prison Architect
Недостаточно оценок
Руководство по созданию мода для Тюремного Архитектора от Gubaew_R
От Windows 7
Простое руководство для интересующихся, о том, как же, всё таки, создать свой мод или перевод для Тюремного Архитектора.
   
Наградить
В избранное
В избранном
Удалить
Самое начало
Итак, для начала нам нужно создать папку мода.

Для этого переходим в папку, которая находится по пути:
C:\Users\ваше_имя_пользователя\AppData\Local\Introversion\Prison Architect\mods
В этой папке находятся все моды игры, но их папки названы в честь их ID.

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


manifest.txt
Заходим в нашу свежеиспечённую папку, и создаём в ней текстовый файл, с названием - "manifest". Это файл с названием мода, его типом, описанием, версией и датой создания.
Он нужен для того, чтобы игра увидела мод.

Открываем его, и сразу же нажимаем на Enter. Если в этом файле первая строка не будет пустой, игра не увидит ваш мод.
Понятия не имею почему ¯\_(ツ)_/¯.

Далее пишем Name, и делаем пару пробелов. Тоже самое мы будем делать с остальными строками. Ставим кавычки (""), вписываем в кавычки название нашего мода, название должно быть такое же как и название папки.


Вместо пробелов можно использовать табуляцию (нажатие на Tab), советую именно так и делать.


На следующей строке пишем Description, это описание мода. Так же через пару пробелов ставим кавычки, затем в них пишем описание мода. Это описание автоматически ставится как английское описание в мастерской, и при обновлении описание в мастерской становится таким же как и то что в этом файле.
Не изменяйте английское описание в мастерской, не заменив его на точно такое же в manifest.txt.

Следующая строка - IsTranslation, без кавычек пишите либо true, если это перевод на другой язык, либо false, если это просто мод. Учтите, что мод обозначенный переводом, будет отображаться вместе с другими переводами в самой игре.
При желании можно сделать свою локализацию в обычном моде, но при этом он не будет считаться игрой как перевод.

Затем идёт необязательная строка Version, значением этой строки, могут быть, лишь цифры, и точка. Можно ввести версию, ну например, 1.0, и перед обновлениями менять на, 1.1 или 2.0, но у подписчиков не обновляется этот файл после установки мода, так что это довольно бесполезная строка.
Не спрашивайте почему, но у перевода не может быть версии.

Строка Date, означает дату создания мода. Пишем дату в формате dd/mm/yy, или в ином порядке.

И последняя строка Author, не уверен что её нужно писать, вероятно игра сама её напишет, но мне от её написания хуже не стало, так что продолжим. Это строка с ником автора. Всё просто, пишите свой ник в качестве значения, но без кавычек.

В итоге у вас должно было получится что-то похожее:

Name "Test mod" Description "I'ts just test mod." IsTranslation false Version 0.1.3 Date 01/06/20 Author Me



I'ts... Я знаю, я мастер английского.
Логотип
Фактически мод уже создан, он отображается в соответствующем меню в самой игре, его можно включить, но пока ваш мод лишь пустышка.

Далее мы рассмотрим, что конкретно можно сделать в моде.
Но перед этим я вам расскажу о логотипе. Для того чтобы у вашего мода был свой логотип вам необходимо создать картинку, желательно квадратную 1x1, назвать её thumbnail и поместить в папку мода. Формат скорее всего не важен, хоть jpeg, хоть bmp, но я рекомендую png.
Всё, логотип готов. Он будет отображаться в меню модов в игре, и так же этот логотип будет в мастерской.

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

В качестве шаблона для создания мода, может служить оригинальная игра. Заходим в папку игры, расположенную в папке Steam, по пути:
<...> Steam\steamapps\common\Prison Architect
В этой папке находим архив main.dat, открываем его с помощью WinRAR или другого подобного приложения. В архиве находится аналогичная созданной нами папка data, разархивируем её в удобную для вас папку, но только не в папку мода. В этой папке находятся оригинальные файлы игры, перетаскивайте нужные файлы и папки, в папку вашего мода, измените их, как вам угодно, и всё — мод готов.


Локализация
О переводе.
Для того чтобы использовать мод как перевод, или изменить какое-нибудь название, слово, описание и прочее, на то, что вам нужно - создайте в папке data вашего мода, папку language.

В игре используется 7 файлов локализации:
base-language, changelog, d11, eula, fullgame, manifest и tablets, все формата txt.

В большинстве случаев вам могут понадобится лишь 3 - base-language, fullgame и d11.

За что конкретно отвечают эти файлы, и как же найти нужный вам? Читаем далее:
  • В файле base-language написана, как ни странно, базовая локализация. По типу, Новая игра, Заключённый, Бунт и так далее. А так же в нём находится первая глава сюжетки.

  • В файле fullgame написаны 4 из 5 сюжетных глав, первая как мы выяснили только что, находится в base-language.

  • А в d11 находится всё, что было добавлено в последних обновлениях.

    Менее важные:

  • changelog - описание обновлений, которые отображаются прямо в игре, в главном меню. Можно переписать, и там будут обновления вашего мода. Почему нет?

    Правда в них используется пара собственных символов форматирования:
    • Первая строка пишется выделенным крупным шрифтом вверху страницы, можно использовать для названия обновления.
    • Следующая строка с символом ">" без кавычек - подтекст, например - дата выхода, пишется обычным выделенным шрифтом.
    • Далее для отображения квадратика означающего перечисление ставится "<->", без кавычек естественно, используется для перечисления самих изменений, самым обычным шрифтом.
    • Затем "~~~~~" переносящий с обновления на обновление. При перемотке назад мотается по самим обновлениям, а не по страницам их описания. Последнее обновление автоматически открывается первым в игре.
      Я не проверял, но возможно вместо пяти хватит и одной тильды.


  • eula - права пользования, лицензия, или что-то в этом роде. Буду откровенен - не читал.

  • manifest - на подобии того, что мы писали ранее. С его помощью можно сделать перевод для языка, который PA не поддерживает официально, изменить его название, автора, описание, и выбрать флаг для него, используя строку "ThumbnailSprite"

  • tablets - не уверен, почему эти строки в отдельном файле. Там несколько строк, которым, как кажется, не хватило места в base-language и fullgame.
Работать с файлами локализации довольно просто, если не учитывать, что разработчики их написали по принципу - лишь бы написать. То есть, там полнейший бардак, например - куча ненужных пробелов, переносов строк и просто 30 пустых линий.



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

Пример:

weather_rain Дождь

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

quickbuild_sharedcell Общая камера quickbuild_kitchen Кухня quickbuild_canteen Столовая

А так:
quickbuild_sharedcell Общая камера quickbuild_kitchen Кухня quickbuild_canteen Столовая



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

Если файлы локализации просто поместить в папку language, то игра будет их считать английскими, а если вы создаёте перевод на другой язык, то создайте соответствующую папку, например bulgarian для Болгарского, или simplifiedchinese, для упрощённого Китайского.
Текстуры
Чтобы изменить текстуры, вам нужна соответствующая программа, например:
  • Paint (для извращенцев)
  • Paint.NET
  • Photoshop (рекомендую CS6)
В игре используются много разных файлов с текстурами, нам интересны лишь 10:
  1. objects - в этом файле находятся все текстуры объектов - стул, стол, плита, кровать и прочее.
  2. objectsTexture_d11 - те же объекты, но добавленные в последних обновлениях.
  3. objects_d11_2 - текстуры из Island Bound и Going Green.
  4. PAlogo - логотип игры, отображаемый в самом начале, перед открытием главного меню.
  5. people - все NPC, и другие движимые объекты - машины, коробки с едой, оружие, и прочее.
  6. special-entities - большую часть этого файла составляет ненужные нам текстуры уникальных заключённых, но справа от них имеется - еда персонала, женские тела и лица, заключённых конечно же, а так же уникальные начальники тюрьмы и другие сюжетные персонажи.
  7. tileset - в этом файле у нас текстуры зданий и ландшафта - полов, стен, песка и прочего.
  8. tileset_d11 - тоже самое что и файл выше, но только с новыми текстурами.
  9. ui - внутриигровой интерфейс. Всякие кнопочки.
  10. ui_d11 - ну, я думаю вы понимаете что здесь.
Для удобства необходимо включить сетку 64x64 с разделением на 2. Сомневаюсь, что это можно сделать в Paint или Paint.NET, а вот в Photoshop это делается так:
Вверху окна надо нажать на Редактирование > Установки (в самом низу) > Направляющие, сетка и фрагменты.
Там выбираем в разделе сетки - Линия через каждые 64 Пиксели. А так же Внутреннее деление на 2. Используя эту сетку можно увидеть границу спрайтов, и работать с ними ориентируясь на эту сетку.



Собственно дальше всё просто, редактируйте эти файлы, используя сетку, как хотите, и получаете мод изменяющий текстуры.
Файлы конфигураций
Это обычные текстовые файлы, в которых прописывается большая часть настроек и характеристик объектов, предметов, NPC.

Для тех кто хоть немного знаком с английским и программированием не составит труда разобраться там.

Подробнее позже
Остальные папки
Кроме уже известной нам папки language, в data может быть ещё множество разных, но достаточно бесполезных для нас папок:
  • advisers - В ней расположены "адвизеры", изображение персонажей в истории.
  • campaign - Остальные "адвизеры" и полароиды, и другие файлы связанные с сюжеткой. Файлы тюрьмы, заданий, событий и прочего. Вам это не нужно, если вы не собираетесь координально менять сюжет.
  • dialogs - Надписи, их расположение, и другие изображения. Лучше тоже не трогать, хотя может кому-то и захочется.
  • fonts - Шрифты. Если захотите изменить шрифт, то трогайте только шрифт catalogue и veranda, остальное вам наврядли понадобится. Там только китайская, корейская и тайская вязь. Кириллица в unicode, но учитывая каким образом там всё расположено, я без понятия как там что-то изменить, да и не горю желанием. Но если вы захотите изменить шрифт кириллицы, то вам сюда.
  • mugshots - Фотки уникальных заключённых. Пропускаем сразу.
  • polaroids - Полароиды которые можно найти в тюрьме, тоже не очень важное.
  • promo - И есть промо, трогать не нужно.
  • shaders - Вероятно шейдеры и другая графика. Нужен 3D редактор, коего я не имею, так что больше рассказать об этом не могу.
  • shapes - 3D модельки NPC и другие текстурные заготовки. Сомневаюсь что это может пригодится.
  • upsell - Лого дополнений. Хотите изменить? Пожалуйста! Вот только зачем?
Завершение
Теперь, когда вы сделали свой мод, вы готовы представить его миру. Чтобы это сделать нужно зайти в игру, затем в Дополнительно > Моды > найти ваш мод, и нажать на большую кнопку под его описанием - Опубликовать мод. Через некоторое время мод будет опубликован.

Поздравляем, вы выпустили свой первый мод!

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

Комментариев: 5
Windows 7  [создатель] 24 апр. 2022 г. в 3:58 
@Anon4ik713rus, так и быть, попробуем. Но, конечно же без гарантий :prisoner:
3-Главый Буравчик 24 апр. 2022 г. в 3:41 
@Gubaew_R у меня сделана таблица точно также как у вас,но зеки почемуто не читают. Я сделал так (Смотря по файлам игры) чтобы брали в руки книгу и понижали ходя с ней литературу, или к примеру сделал чтобы они утоляли потребность в еде через мусорный бак, но почемуто не работает. Давайте я вам в лс скину мод, а вы посмотрите - вдруг найдете ошибку в коде
Windows 7  [создатель] 23 апр. 2022 г. в 19:07 
@Anon4ik713rus, теперь заключённые должны использовать книжные полки для удовлетворения потребности в отдыхе. Если же Вам необходимо не отдых (Recreation), то замените в коде его на потребность в чтении, так же как оно и написано в игре на английском языке.
Так как я не программист, рекомендую, так же как и сделал я, обыскать моды других пользователей на предмет решения проблемы. Вам будет понятней, в чём проблема Вашего кода, если будете смотреть на другие коды, в которых всё правильно.
Windows 7  [создатель] 23 апр. 2022 г. в 19:04 
@Anon4ik713rus, откровенно говоря, я так и не успел разобраться с файлами конфигурации, так что особо тут не могу помочь. Не знаю как в оригинале, ибо сейчас он у меня не скачан, но в моде Prisoners of War - Reinstated я нашёл данный код, который, вроде, действует именно так, как Вам нужно. В файле needs.txt на третьей строке пишем так:

BEGIN Provider
Action Reading
ProviderType Object
Object Bookshelf
Slot 1
PrimaryNeed Recreation
PrimaryRate -4.00000
ActionType Use
END

Используя табуляцию в строчках между BEGIN и END.
3-Главый Буравчик 23 апр. 2022 г. в 9:50 
У меня проблема - я сделал мод на то, чтобы декоративные предметы могли утолять потребности заключенных (К примеру книжная полка уталяет литературу, кофейный автомат утоляет роскошь и комфорт и тд) но у меня почемуто не работает, хотя все верно