Создание полной конверсии (HPL2)

Материал из CSM Wiki
Версия от 16:33, 9 февраля 2020; Slux (обсуждение | вклад) (Slux переименовал страницу Создание полной конверсии HPL2 в Создание полной конверсии (HPL2) без оставления перенаправления)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигации Перейти к поиску

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

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

Что такое полная конверсия?

Полное преобразование (часто называемое FC, IFC или просто мод) - это полный пересмотр того, как игра запускается. Это позволяет изменить многие аспекты игры, переопределив основной файл конфигурации, используемый для определения игры. Мод позволит редактировать всё, что доступно в основных игровых ресурсах, включая все файлы конфигурации и некоторые жестко запрограммированные ресурсы, однако вы по-прежнему ограничены некоторыми вещами в игре, такими как сам движок. По сути, вы можете редактировать все, что вам уже доступно, но это не добавит ничего, что выходит за рамки конфигурации, предоставляемой Frictional Games.

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

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

Это руководство покажет вам, как создать полностью изолированную полную конверсию (IFC).

Подготовка

Начинать нужно с создания папки для него. Поместите папку my_mod в каталог установки Amnesia («redist» для Retail-версии и «Amnesia The Dark Descent» для Steam).

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

  • config
  • maps
  • main_menu
  • graphics (if you use custom graphics)
  • entities (if you use custom entities)
  • static_objects (if you use custom static objects)
  • textures (if you use custom textures)
  • music (if you use custom music tracks)
  • sounds (if you use custom sounds)
  • models (if you use a custom lantern)

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

Настройка мода

Теперь, когда основа мода, откройте папку конфигурации. Поскольку вы скопировали его из Amnesia, он уже содержит много необходимых вам файлов. Хотя есть несколько вещей, которые можно удалть, чтобы в папке были только эти файлы:

  • base_english.lang
  • game.cfg
  • main_init.cfg
  • menu.cfg
  • pre_menu.cfg
  • lang_main (папка)
    • english.lang (внутри папки lang_main)

Еще два файла, которые вы можете скопировать в вашу папку конфигурации, - это файл resources.cfg и (для опытных пользователей) materials.cfg. Их можно найти в корневой папке Амнезии. Первоначально они должны располагаться в корневом каталоге мода, но лучше поместить их в /config. Там они функционируют точно так же.

main_init.cfg

Список директив main_init.cfg

Откройте файл main_init.cfg из /my_mod/config. Этот файл управляет основными атрибутами запуска игры. Под ConfigFiles отредактируйте все пути, чтобы указать на пользовательские файлы, которые у вас есть. Например:

Resources = "my_mod/config/resources.cfg"
Materials = "my_mod/config/materials.cfg"

Сделайте это со всеми файлами, которые у вас есть в вашей папке конфигурации. Остальное вы можете оставить по умолчанию.

В разделе Directories переименуйте MainSaveFolder в любое место, в которое вы хотите, чтобы папка сохранения вашего мода была названа, например «MyMod». Это важно, поскольку оно отделяет сгенерированные файлы вашего мода от других модов и основной игры. Также отредактируйте BaseLanguageFolder и GameLanguageFolder, чтобы они соответствовали вашим собственной путям.

Под Variables измените GameName на имя вашего мода.

В StartMap измените File на имя начального уровня вашего мода, измените Folder на папку карт вашего мода («my_mod/maps»), измените Pos на имя того PlayerStartArea, в котором игрок появится при загрузке первой карты. Этот раздел напоминает файл custom_story_settings.cfg.

menu.cfg

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

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

Добавьте эту строку в секцию Main (под Music, если хотите):

MenuLogo = "my_mod/lang/eng/graphics/main_menu/menu_logo_mod.tga"

Это рекомендованный путь для лого. Он может быть расположен в другой папке, но лучше использовать этот вариант. Если у вас нет папки lang, добавьте ее или измените путь на другое место. Не забудьте создать свой собственный файл Targa (.tga) для лого.

resources.cfg

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

Не удаляйте то, что уже есть, если вы не знаете, что делаете. Вместо этого скопируйте одну строку и вставьте ее сверху (после тэга <Resources>), затем отредактируйте ее в соответствии с вашим собственным модом. Например так это выглядит в основной папке игры:

<Resources>
  <Directory Path="/_temp" AddSubDirs="true" />
  <Directory Path="/fonts" AddSubDirs="false" />
  <Directory Path="/maps" AddSubDirs="true" />
  <Directory Path="/textures" AddSubDirs="true" />
  <Directory Path="/models" AddSubDirs="true" />
  <Directory Path="/gui" AddSubDirs="true" />
  <Directory Path="/static_objects" AddSubDirs="true" />
  <Directory Path="/sounds" AddSubDirs="true" />
  <Directory Path="/main_menu" AddSubDirs="true" />
  <Directory Path="/shaders" AddSubDirs="true" />
  <Directory Path="/lights" AddSubDirs="true" />
  <Directory Path="/billboards" AddSubDirs="true" />
  <Directory Path="/entities" AddSubDirs="true" />
  <Directory Path="/graphics" AddSubDirs="true" />
  <Directory Path="/viewer" AddSubDirs="true" />
  <Directory Path="/particles" AddSubDirs="true" />
  <Directory Path="/models" AddSubDirs="true" />
  <Directory Path="/music" AddSubDirs="true" />
  <Directory Path="/flashbacks" AddSubDirs="true" />
  <Directory Path="/textures" AddSubDirs="true" />	
  <Directory Path="/misc" AddSubDirs="true" />
  <Directory Path="/commentary" AddSubDirs="true" />
</Resources>

game.cfg

Список директив game.cfg

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

base_english.lang и english.lang

base_english.lang - это языковой файл, как и english.lang. В основном это касается основного текста, который должен присутствовать в любом моде. Вам на самом деле не нужно редактировать его, если вы не хотите настраивать сообщения, например, для действий, подсказок, фонарей и других подобных геймплейных вещей.

english.lang - это версия файла extra_english.lang из пользовательских историй для вашего мода. Добавьте любой текст здесь, как для пользовательской истории, например заметки, сообщения, названия комнат, названия предметов и другое.

Запуск мода

Чтобы запустить ваш мод, вам нужно убедиться, что вы правильно настроили следующее:

  • Папка конфигурации с как минимум файлом main_init.cfg, который указывает на соответствующие места и файлы.
  • Карта главного меню, которая может быть отображена, как настроено в menu.cfg.
  • Папка с картами, по крайней мере, с 1 картой для запуска, когда вы выбираете «Начать новую игру» из меню.
  • Сконфигурирован файл resources.cfg вашего мода, чтобы добавить себя в область игры.

Как только вы все это настроите, у вас будет возможность запустить ваш мод. Но как?

Самый распространенный способ запуска мода - использование командной строки. Ниже приведено содержимое для создания исполняемых файлов командной строки для различных операционных систем. Эти файлы должны быть помещены в корневую папку вашего мода (Amnesia / my_mod). Я также перечислю альтернативный способ запуска модов с помощью пользовательского приложения.


Windows

Мод запускается через командный файл launcher.bat

cd /d ..
Launcher.exe my_mod/config/main_init.cfg


Mac OS X

Мод запускается через командный файл launcher.command

#!/bin/bash
cd "`dirname "$0"`"
open ../Launcher.app --args my_mod/config/main_init.cfg
Note.png Примечание:

Файлы *.command могут не запускаться до тех пор, пока они не разрешены системой. Разрешить можно, запустив команду chmod a + x <путь к файлу launcher.command>.

Linux

Мод запускается через шелл-скрипт launcher.sh

#!/bin/bash
 
FCNAME="my_mod"
 
# 64-bit operating systems
if [ "$(uname -m)" = "x86_64" ]; then
  ../Launcher.bin64 "$FCNAME/config/main_init.cfg"
 
# 32-bit operating systems
else
  ../Launcher.bin "$FCNAME/config/main_init.cfg"
fi

  Warning.png Внимание: Настоятельно рекомендуется включить все 3 файла в дистрибутив мода. Вы никогда не знаете, какую ОС будет использовать пользователь.

Steam

Если вы используете Steam-версию Amnesia, вы также можете запустить моды через клиент Steam, выполнив следующие действия:

  • Откройте Steam, щелкните правой кнопкой мыши Amnesia и выберите «Свойства».
  • Нажмите «Установить параметры запуска…» на вкладке «Общие».
  • Введите или вставьте аргумент в файл main_init.cfg вашего мода.

Аргумент должен выглядеть так:

my_mod/config/main_init.cfg

Это можно сделать через командный файл, вот пример для Windows (для других систем это делается аналогично):

start steam://rungameid/57300//my_mod%%2Fconfig%%2Fmain_init.cfg

Если вы сохраните эту команду в bat-файл в Windows, а затем запустите ее, она предложит Steam (если он установлен) запустить Amnesia с аргументом «my_mod/config/main_init.cfg». Обратите внимание, что сам аргумент не включает косую черту, а вместо этого код %2F, который является URL-способом определения косой черты. Функциональность Windows .bat требует, чтобы мы использовали дополнительный escape-символ «%» перед первым, чтобы (не требуется в других системах).

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

Приложение для запуска

В качестве альтернативы вышеописанным методам вы можете запускать моды (на Windows и Mac) с помощью Amnesia Modloader. Если вы хотите использовать этот метод, все же рекомендуется сделать другие средства запуска доступными для конечных пользователей Linux, а также для тех, кто не хочет использовать это пользовательское приложение.

Подробнее о Amnesia Modloader здесь

Примечание

Имейте в виду, что для полного понимания всего этого необходимы эксперименты. Вы будете учиться на ошибках. Как только вы будете готовы опубликовать свой мод, ModDB - отличное место для этого. Также не стесняйтесь размещать его на форуме Frictional Games. Форум также является хорошим местом для получения отзывов о вашей работе.

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

Приятного моддинга!

Оригинал статьи