Основы моддинга Civ IV
Довольно часто при во время игры, может возникать желание изменить некоторые вещи в игре. Зачастую возможные изменения незначительны, и жестко ограничены разработчиками игры, тогда в лучшем случае может быть изменена некоторая внутригровая графика, или добавлена незначительная мелочь. Иногда же возможности моддинга игры огромны, и может появиться мод полностью изменяющий игру, зачастую более интересный чем сама игра. И эти моды продлевают жизнь игры на многие года.
Серия игр Civilization всегда пользовалась огромной популярностью в среде модостроителей, количество сценариев и модов созданных для неё огромно, и прямым следствием этого является то, что возможности изменения игры возрастали с каждой новой частью. Civilization 4 имеет огромные возможности для изменения и развития, и доказательством этого является огромное количество модов, среди которых имеются такие уникальные модификации, как Fall from Heaven полностью изменяющий игру.
В данном посте я опишу начальные основы изменения игры, и приведу несколько простейших примеров модификации.
Уровни моддинга.
Существуют 4 уровня моддинга Civilization 4:
- World Builder
Встроенный игровой редактор, который прежде всего предназначен для создания карт и отдельных сценариев. Создать свою собственную карту, или сценарий в нем можно без особых проблем, но вот новые юниты или технологии через него не получиться.- XML
Это наиболее широкоиспользуемый уровень моддинга, возможности которого позволяют изменить основные игровые настройки, для его использования не требуются особые знания, а его возможности позволяют создать полноценный мод. Добавить новые юниты, или технологии, или полностью изменить путь развития цивилизации, это без особых проблем делаются через XML. Изменения графики также производятся прежде всего через XML. Но тем не менее, многие вещи невозможно изменить через только через XML, например создать новую способность для юнитов, или изменить максимальное количество игроков, эти вещи решаются на других уровнях моддинга. В данной туториале речь пойдет прежде всего о нем.- Python
Язык программирования использованный в Civ4 для кода "второго уровня". Его использование предоставляет мододелу возможности изменять интерфейс, или же сделать так, чтобы ресурс или юнит появлялся в нужное время в нужном месте. Многие задумки вполне возможно реализовать через него. Но все таки существуют и ограничения, например нельзя изменить многие игровые настройки, сделать горы вновь доступными к обработке, или изменить AI.
Подробнее о нем можно прочитать в этой теме.- SDK
Прежде всего основной уровень кода игры, позволяет практически полностью изменить игру. Добавить новые виды территории, переписать AI, или же изменить саму суть отношений между цивилизациями. Для более полной информации можно прочитать.
Осваиваем SDK. Описание SDK., Учебник по СДК
Как и чем работать с SDK
Причем крайне важным является тот факт, что все эти уровни моддинга тесно переплетены между собой, и получить по настоящему необычный мод можно лишь используя их все.
Введение в XML-моддинг.
XML представляет собой структурированный текст, поэтому для редактирования xml-файлов подойдет любой редактор простого текста, тот же самый Блокнот
позволяет делать нужные изменения, но более удобным будет использование специализированных программ. Наиболее подходит для редактирования XML файлов Civ4 XML Marker, легкая и простая программа. Она позволяет просматривать и редактировать данные в табличном виде, что облегчает их восприятие.
Некоторую информацию о работе с XML файлами можно найти в статье Обзор XML в Civilization IV
XML файлы игры находятся в папке Assests/XML, в основной папке игры. Можно редактировать их прямо там и запустить игру с внесенными изменениями, но делать этого не стоит.
Создание простейшего мода.
Для начала создадим мод, который позволит иметь неограниченное количество национальных чудес в городе, увеличит частоту событий в 2 раза и позволит разведчику передвигаться по непроходимым видам ландшафта. В основной папке игры находим папку Mods, далее создаем в ней папку с названием мода, например Mod.
Примечание: Если стоит Beyond the Sword, то основная папка игры это Beyond the Sword, а не Sid Meier's Civilization 4.
Затем создаем в этой папке Mod, папку Assets, а в ней XML. Уже после создания этих папок можно будет загрузить этот мод, но никаких изменений в игре естественно не будет, так как ещё ничего в нем не изменяли. Затем копируем в эту папку XML нужные файлы из соответвующих папок самой игры. У меня это D:\Program Files\Firaxis Games\Sid Meier's Civilization 4\Beyond the Sword\Assets\XML\.
Далее копируем оттуда файл GlobalDefines.xml в папку XML мода, также поступаем и с папкой Units, оттуда для такого мода потребуется всего один файл, но для начала проще скопировать её целиком.
Затем для начала повысим частоту событий и количество национальных чудес в городе. Открываем скопированный файл GlobalDefines.xml, находим там нужные параметры. Информацию обо всех XML параметрах CivIV можно найти на модиках.
Для повышения частоты событий находим EVENT_PROBABILITY_ROLL_SIDES и меняем значение на 50, чем меньше значение, тем чаще будут происходить события, в данном случае в 2 раза чаще. Далее находим MAX_NATIONAL_WONDERS_PER_CITY и изменяем значение на нужное, чтобы вовсе отключить ограничение на национальные чудеса, ставим -1.
Сохраняем файл.
Затем находим в Mod\Assets\XML\Units файл CIV4UnitInfos.xml, находим в нем разведчика, он обозначен там как SCOUT, у него, как и у любого юнита имеются множество параметров. Большая часть из них начинается с b, это прежде всего означает что значения бывают "1" - есть и "0" - нет.
В данном случае нас интересует bCanMoveImpassable, который позволяет юниту передвигаться по непроходимой территории. Изменяем его значение на 1.
Сохраняем файл и запускаем новоиспеченный мод. Как видно со скрина разведчик спокойно стоит на вершине непроходимой горы и смотрит на далекий берег.
P.S. Эта тема, во многом попытка обобщить свои собственные знания о моддинге, нежели обучающий материал, но кроме того есть желание собрать в ней ссылки на все основные обучающие материалы по Civ IV на нашфанатиках. А также создать какой нибудь материал, что позволил бы начать моддинг с наиболее простых вещей. Поэтому будет дорабатываться тема надеюсь регулярно.
<div class='quotetop'>Цитата</div>Поправочка - добавление новых типов территорий в большинстве случаев можно сделать без использования SDK, хотя если территории нужно добавить некоторый нестандартный функционал - то тогда лучше всего использовать SDK, ибо питон не всегда подходит под это действие, хотя в некоторых случаев хватит и питонаДобавить новые виды территории[/b]
<div class='quotetop'>Цитата(Хальк Юсдаль * 10.9.2009, 19:07) [snapback]306535[/snapback]</div>Болота можно сделать на примере оазиса Assets\XML\Terrain\CIV4FeatureInfos.xml тэг FEATURE_OASISТо есть, чтобы добавить например болота не обязательно лезть в SDK и прописывать их рядом с равнинами и полями?[/b]
Если новые технологии позволяют обходится без услуг простых людей - это прогресс, а если новые технологии позволяют обходится без услуг миллионеров и крупных компаний - это нарушение авторских прав.
Мой мод
<div class='quotetop'>Цитата</div>Ну это в целом понятно. Мне интереснее создание именно нового типа территории. Так чтобы можно было создать например торфянники на болотах, или ещё чего.Болота можно сделать на примере оазиса Assets\XML\Terrain\CIV4FeatureInfos.xml тэг FEATURE_OASIS[/b]
Просто мне кажется, что в циве не очень много природных видов именно территории.
<div class='quotetop'>Цитата</div>Да - просто в CIV4TerrainInfos.xml дописываете по аналогии новый тип территории, кидаете в папку Art\Terrain\Textures файлы графики нового типа территорий и прописываете пути к ним в файле CIV4ArtDefines_Terrain.xmlТо есть, чтобы добавить например болота не обязательно лезть в SDK и прописывать их рядом с равнинами и полями?[/b]
В СДК для этого лезть совсем не нужно - пример в прикрепленном файле (правда в генератор карт в этом примере не прописана генерация новых типов территории, но можете поковыряться в волдбилдере и посмотреть как это будет выглядеть в игре
[attachmentid=5348]
А меня вот смущает тот факт, что не удалось привязать возможность строительства улучшений к отсутствию того или типа Feature (к наличию можно - а вот к отсутствию нет, что печально)
Хочу вот спросить, как начинающий модер. Не получается сделать мод "своим".
Изначально я модифицировал существующий мод Gods of Old поставки от 1С. Но сделать все внесенные изменения как отдельную модификацию не получается.
"Примечание: Если стоит Beyond the Sword, то основная папка игры это Beyond the Sword, а не Sid Meier's Civilization 4.
Затем создаем в этой папке Mod, папку Assets, а в ней XML. Уже после создания этих папок можно будет загрузить этот мод, но никаких изменений в игре естественно не будет, так как ещё ничего в нем не изменяли."
В папке ...\Beyond the Sword\Mods\ создаю папку MyMod и там как в цитате "Assets, а в ней XML". Получается ...\Beyond the Sword\Mods\MyMod\Assets\XML Запускаю игру - в списке модификаций мода MyMod нет, ни в обычной, ни списке модов Эпохи Огня. Я по всякому пробовал
и файлики xml туда кидал, но результата ноль.
Что я не правильно делаю/не долеываю и что еще нужно сделать?
<div class='quotetop'>Цитата(ooo3 * 25.4.2010, 7:51) [snapback]334133[/snapback]</div>Хоть я и ни разу не мододел, мне кажется, что должно бы быть: ...\Beyond the Sword\Mods\MyMod\Assets\XMLПолучается ...\Beyond the Sword\Mods\Assets\XML Запускаю игру - в списке модификаций мода MyMod нет, ни в обычной, ни списке модов Эпохи Огня.[/b]
<div class='quotetop'>Цитата(AFro * 25.4.2010, 10:47) [snapback]334139[/snapback]</div><div class='quotetop'>Цитата(ooo3 * 25.4.2010, 7:51) [snapback]334133[/snapback]Хоть я и ни разу не мододел, мне кажется, что должно бы быть: ...\Beyond the Sword\Mods\MyMod\Assets\XMLПолучается ...\Beyond the Sword\Mods\Assets\XML Запускаю игру - в списке модификаций мода MyMod нет, ни в обычной, ни списке модов Эпохи Огня.[/b]
[/b][/quote]
это я там вверху ошибся. поправил
<div class='quotetop'>Цитата(swan * 25.4.2010, 11:24) [snapback]334143[/snapback]</div>От игры ожидается возможность запустить мод MyMod, выбрав его из списка в игре. Swan если вы из "CivFanatics.RU TEAM" можно более подробный и развернутый ответ как это сделать? Простое создание папки в каталоге mods не приводит к желаемому результату. Копирование ini и редактирование переменнойВ папке мода должна лежать инишка с таким же именем, как у папки - инишку можно скоммуниздить из другого мода, переименовать и подправить её содержимое под свои нужды. В некоторых случаях подправлять её содержимое не нужно - смотря что ожидается от игры.
[/b]
;Name of Mod
Name = MyMod
тоже ни к чему не приводит.
Что нужно сделать, что бы свой мод был виден в списке модов?
собственное, вот путь к папке E:\Civilization 4\Beyond the Sword\Mods\WoBA\Assets\XML
может я что то путаю или непонимаю? в игре я проверяю:
"Одиночная игра -> Сценарии "Эпоха огня" " - в списке ничего связанного с названием WoBA нет.
"Одиночная игра -> Сценарий" - тоже ничего связанного с названием WoBA нет.
"Одиночная игра -> Свой Сценарий" - ничего связанного с названием WoBA нет.
?
<div class='quotetop'>Цитата</div>"Сценарий" и "мод" - вещи разные. Со сценарием все иначе. А что бы увидеть мод нужно зайти в меню "Загрузить мод"."Одиночная игра -> Свой Сценарий" - ничего связанного с названием WoBA нет.[/b]
<div class='quotetop'>Цитата(AFro * 28.4.2010, 7:59) [snapback]334511[/snapback]</div><div class='quotetop'>Цитата"Сценарий" и "мод" - вещи разные. Со сценарием все иначе. А что бы увидеть мод нужно зайти в меню "Загрузить мод"."Одиночная игра -> Свой Сценарий" - ничего связанного с названием WoBA нет.[/b]
[/b][/quote]
так, мод удалось найти )) Это прогресс.
скопировал в мод все свои файлики, НО теперь, после загрузки модификации жму "Одиночная игра" и активны только "загрузить игру" и "сценарии эпохи огня", и все. все остальные кнопки серые.
вопрос все тот же самый......
<div class='quotetop'>Цитата</div>Удали для начала ini-файл из папки мода.скопировал в мод все свои файлики, НО теперь, после загрузки модификации жму "Одиночная игра" и активны только "загрузить игру" и "сценарии эпохи огня", и все. все остальные кнопки серые. вопрос все тот же самый......[/b]