PDA

Просмотр полной версии : Основы моддинга Civilization 4



Хальк Юсдаль
10.09.2009, 02:09
Основы моддинга Civ IV

Довольно часто при во время игры, может возникать желание изменить некоторые вещи в игре. Зачастую возможные изменения незначительны, и жестко ограничены разработчиками игры, тогда в лучшем случае может быть изменена некоторая внутригровая графика, или добавлена незначительная мелочь. Иногда же возможности моддинга игры огромны, и может появиться мод полностью изменяющий игру, зачастую более интересный чем сама игра. И эти моды продлевают жизнь игры на многие года.
Серия игр Civilization всегда пользовалась огромной популярностью в среде модостроителей, количество сценариев и модов созданных для неё огромно, и прямым следствием этого является то, что возможности изменения игры возрастали с каждой новой частью. Civilization 4 имеет огромные возможности для изменения и развития, и доказательством этого является огромное количество модов, среди которых имеются такие уникальные модификации, как Fall from Heaven полностью изменяющий игру.
В данном посте я опишу начальные основы изменения игры, и приведу несколько простейших примеров модификации.

Уровни моддинга.
Существуют 4 уровня моддинга Civilization 4:


World Builder
Встроенный игровой редактор, который прежде всего предназначен для создания карт и отдельных сценариев. Создать свою собственную карту, или сценарий в нем можно без особых проблем, но вот новые юниты или технологии через него не получиться.
XML
Это наиболее широкоиспользуемый уровень моддинга, возможности которого позволяют изменить основные игровые настройки, для его использования не требуются особые знания, а его возможности позволяют создать полноценный мод. Добавить новые юниты, или технологии, или полностью изменить путь развития цивилизации, это без особых проблем делаются через XML. Изменения графики также производятся прежде всего через XML. Но тем не менее, многие вещи невозможно изменить через только через XML, например создать новую способность для юнитов, или изменить максимальное количество игроков, эти вещи решаются на других уровнях моддинга. В данной туториале речь пойдет прежде всего о нем.
Python
Язык программирования использованный в Civ4 для кода "второго уровня". Его использование предоставляет мододелу возможности изменять интерфейс, или же сделать так, чтобы ресурс или юнит появлялся в нужное время в нужном месте. Многие задумки вполне возможно реализовать через него. Но все таки существуют и ограничения, например нельзя изменить многие игровые настройки, сделать горы вновь доступными к обработке, или изменить AI.
Подробнее о нем можно прочитать в этой теме (http://www.civfanatics.ru/forum/index.php?showtopic=3959).
SDK
Прежде всего основной уровень кода игры, позволяет практически полностью изменить игру. Добавить новые виды территории, переписать AI, или же изменить саму суть отношений между цивилизациями. Для более полной информации можно прочитать.
Осваиваем SDK. Описание SDK., Учебник по СДК (http://www.civfanatics.ru/forum/index.php?showtopic=3742)
Как и чем работать с SDK (http://www.civfanatics.ru/forum/index.php?s=&showtopic=3742&view=findpost&p=305508)


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


Введение в XML-моддинг.

XML представляет собой структурированный текст, поэтому для редактирования xml-файлов подойдет любой редактор простого текста, тот же самый Блокнот
позволяет делать нужные изменения, но более удобным будет использование специализированных программ. Наиболее подходит для редактирования XML файлов Civ4 XML Marker (http://symbolclick.com/), легкая и простая программа. Она позволяет просматривать и редактировать данные в табличном виде, что облегчает их восприятие.
Некоторую информацию о работе с XML файлами можно найти в статье Обзор XML в Civilization IV (http://modiki.civfanatics.ru/index.php/XML_basic_format)
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 можно найти на модиках (http://modiki.civfanatics.ru/index.php/XML).
Для повышения частоты событий находим EVENT_PROBABILITY_ROLL_SIDES и меняем значение на 50, чем меньше значение, тем чаще будут происходить события, в данном случае в 2 раза чаще. Далее находим MAX_NATIONAL_WONDERS_PER_CITY и изменяем значение на нужное, чтобы вовсе отключить ограничение на национальные чудеса, ставим -1.
http://s61.radikal.ru/i171/0909/04/942024ed4cb8t.jpg (http://radikal.ru/F/s61.radikal.ru/i171/0909/04/942024ed4cb8.jpg.html) http://s57.radikal.ru/i155/0909/ba/a8547febbbbdt.jpg (http://radikal.ru/F/s57.radikal.ru/i155/0909/ba/a8547febbbbd.jpg.html)
Сохраняем файл.
Затем находим в Mod\Assets\XML\Units файл CIV4UnitInfos.xml, находим в нем разведчика, он обозначен там как SCOUT, у него, как и у любого юнита имеются множество параметров. Большая часть из них начинается с b, это прежде всего означает что значения бывают "1" - есть и "0" - нет.
В данном случае нас интересует bCanMoveImpassable, который позволяет юниту передвигаться по непроходимой территории. Изменяем его значение на 1.
http://i071.radikal.ru/0909/67/62fd993b281et.jpg (http://radikal.ru/F/i071.radikal.ru/0909/67/62fd993b281e.jpg.html)
Сохраняем файл и запускаем новоиспеченный мод. Как видно со скрина разведчик спокойно стоит на вершине непроходимой горы и смотрит на далекий берег.
http://s61.radikal.ru/i173/0909/b6/21a8f7112839t.jpg (http://radikal.ru/F/s61.radikal.ru/i173/0909/b6/21a8f7112839.jpg.html)

P.S. Эта тема, во многом попытка обобщить свои собственные знания о моддинге, нежели обучающий материал, но кроме того есть желание собрать в ней ссылки на все основные обучающие материалы по Civ IV на нашфанатиках. А также создать какой нибудь материал, что позволил бы начать моддинг с наиболее простых вещей. Поэтому будет дорабатываться тема надеюсь регулярно.

Папа
10.09.2009, 12:07
:applau2:

swan
10.09.2009, 17:06
<div class='quotetop'>Цитата</div>
Добавить новые виды территории[/b]
Поправочка - добавление новых типов территорий в большинстве случаев можно сделать без использования SDK, хотя если территории нужно добавить некоторый нестандартный функционал - то тогда лучше всего использовать SDK, ибо питон не всегда подходит под это действие, хотя в некоторых случаев хватит и питона

Хальк Юсдаль
10.09.2009, 20:07
То есть, чтобы добавить например болота не обязательно лезть в SDK и прописывать их рядом с равнинами и полями?

NeseryozniyVET
10.09.2009, 21:07
<div class='quotetop'>Цитата(Хальк Юсдаль * 10.9.2009, 19:07) 306535</div>
То есть, чтобы добавить например болота не обязательно лезть в SDK и прописывать их рядом с равнинами и полями?[/b]Болота можно сделать на примере оазиса Assets\XML\Terrain\CIV4FeatureInfos.xml тэг FEATURE_OASIS

Хальк Юсдаль
10.09.2009, 21:34
<div class='quotetop'>Цитата</div>
Болота можно сделать на примере оазиса Assets\XML\Terrain\CIV4FeatureInfos.xml тэг FEATURE_OASIS[/b]
Ну это в целом понятно. Мне интереснее создание именно нового типа территории. Так чтобы можно было создать например торфянники на болотах, или ещё чего.
Просто мне кажется, что в циве не очень много природных видов именно территории.

swan
11.09.2009, 05:11
<div class='quotetop'>Цитата</div>
То есть, чтобы добавить например болота не обязательно лезть в SDK и прописывать их рядом с равнинами и полями?[/b]
Да - просто в CIV4TerrainInfos.xml дописываете по аналогии новый тип территории, кидаете в папку Art\Terrain\Textures файлы графики нового типа территорий и прописываете пути к ним в файле CIV4ArtDefines_Terrain.xml
В СДК для этого лезть совсем не нужно - пример в прикрепленном файле (правда в генератор карт в этом примере не прописана генерация новых типов территории, но можете поковыряться в волдбилдере и посмотреть как это будет выглядеть в игре

[attachmentid=5348]

Moonlight Shadow New
15.09.2009, 18:32
А меня вот смущает тот факт, что не удалось привязать возможность строительства улучшений к отсутствию того или типа Feature (к наличию можно - а вот к отсутствию нет, что печально)

NeverMind
19.09.2009, 12:12
Хальк Юсдаль, отличный материал! :applau2:
Наверняка будет полезен многим начинающим моддерам! :yes:

oooo4
25.04.2010, 07:51
Хочу вот спросить, как начинающий модер. Не получается сделать мод "своим".

Изначально я модифицировал существующий мод Gods of Old поставки от 1С. Но сделать все внесенные изменения как отдельную модификацию не получается.

"Примечание: Если стоит Beyond the Sword, то основная папка игры это Beyond the Sword, а не Sid Meier&#39;s Civilization 4.
Затем создаем в этой папке Mod, папку Assets, а в ней XML. Уже после создания этих папок можно будет загрузить этот мод, но никаких изменений в игре естественно не будет, так как ещё ничего в нем не изменяли."

В папке ...\Beyond the Sword\Mods\ создаю папку MyMod и там как в цитате "Assets, а в ней XML". Получается ...\Beyond the Sword\Mods\MyMod\Assets\XML Запускаю игру - в списке модификаций мода MyMod нет, ни в обычной, ни списке модов Эпохи Огня. Я по всякому пробовал
и файлики xml туда кидал, но результата ноль.

Что я не правильно делаю/не долеываю и что еще нужно сделать?

AFro
25.04.2010, 10:47
<div class='quotetop'>Цитата(ooo3 * 25.4.2010, 7:51) 334133</div>

Получается ...\Beyond the Sword\Mods\Assets\XML Запускаю игру - в списке модификаций мода MyMod нет, ни в обычной, ни списке модов Эпохи Огня.[/b]
Хоть я и ни разу не мододел, мне кажется, что должно бы быть: ...\Beyond the Sword\Mods\MyMod\Assets\XML

oooo4
25.04.2010, 10:53
<div class='quotetop'>Цитата(AFro * 25.4.2010, 10:47) 334139</div>

<div class='quotetop'>Цитата(ooo3 * 25.4.2010, 7:51) 334133

Получается ...\Beyond the Sword\Mods\Assets\XML Запускаю игру - в списке модификаций мода MyMod нет, ни в обычной, ни списке модов Эпохи Огня.[/b]
Хоть я и ни разу не мододел, мне кажется, что должно бы быть: ...\Beyond the Sword\Mods\MyMod\Assets\XML
[/b][/quote]
это я там вверху ошибся. поправил

swan
25.04.2010, 11:24
В папке мода должна лежать инишка с таким же именем, как у папки - инишку можно скоммуниздить из другого мода, переименовать и подправить её содержимое под свои нужды. В некоторых случаях подправлять её содержимое не нужно - смотря что ожидается от игры.

oooo4
27.04.2010, 09:21
<div class='quotetop'>Цитата(swan * 25.4.2010, 11:24) 334143</div>

В папке мода должна лежать инишка с таким же именем, как у папки - инишку можно скоммуниздить из другого мода, переименовать и подправить её содержимое под свои нужды. В некоторых случаях подправлять её содержимое не нужно - смотря что ожидается от игры.
[/b]
От игры ожидается возможность запустить мод MyMod, выбрав его из списка в игре. Swan если вы из "CivFanatics.RU TEAM" можно более подробный и развернутый ответ как это сделать? Простое создание папки в каталоге mods не приводит к желаемому результату. Копирование ini и редактирование переменной

;Name of Mod
Name = MyMod

тоже ни к чему не приводит.

Что нужно сделать, что бы свой мод был виден в списке модов?

Хальк Юсдаль
27.04.2010, 13:34
<div class='quotetop'>Цитата</div>
Что нужно сделать, что бы свой мод был виден в списке модов?[/b]
Я лично для этого кроме создания папки в Mods ничего и не делал, вариант загрузки появлялся даже если там была пустая папка.
Только что проверил, работает, даже если создать только папку. Вот.
http://i056.radikal.ru/1004/2b/beb7f44991fet.jpg (http://radikal.ru/F/i056.radikal.ru/1004/2b/beb7f44991fe.jpg.html)

AFro
27.04.2010, 14:01
ooo3, хочется задать такой вопрос: есть ли в пути к каталогу, в который установлена игра, символы кириллицы?

oooo4
28.04.2010, 07:14
собственное, вот путь к папке E:\Civilization 4\Beyond the Sword\Mods\WoBA\Assets\XML

может я что то путаю или непонимаю? в игре я проверяю:

"Одиночная игра -> Сценарии "Эпоха огня" " - в списке ничего связанного с названием WoBA нет.

"Одиночная игра -> Сценарий" - тоже ничего связанного с названием WoBA нет.

"Одиночная игра -> Свой Сценарий" - ничего связанного с названием WoBA нет.

?

AFro
28.04.2010, 07:59
<div class='quotetop'>Цитата</div>
"Одиночная игра -> Свой Сценарий" - ничего связанного с названием WoBA нет.[/b]
"Сценарий" и "мод" - вещи разные. Со сценарием все иначе. А что бы увидеть мод нужно зайти в меню "Загрузить мод".

oooo4
28.04.2010, 16:47
<div class='quotetop'>Цитата(AFro * 28.4.2010, 7:59) 334511</div>

<div class='quotetop'>Цитата
"Одиночная игра -> Свой Сценарий" - ничего связанного с названием WoBA нет.[/b]
"Сценарий" и "мод" - вещи разные. Со сценарием все иначе. А что бы увидеть мод нужно зайти в меню "Загрузить мод".
[/b][/quote]
так, мод удалось найти )) Это прогресс.

скопировал в мод все свои файлики, НО теперь, после загрузки модификации жму "Одиночная игра" и активны только "загрузить игру" и "сценарии эпохи огня", и все. все остальные кнопки серые.

вопрос все тот же самый......

Хальк Юсдаль
29.04.2010, 01:26
<div class='quotetop'>Цитата</div>
скопировал в мод все свои файлики, НО теперь, после загрузки модификации жму "Одиночная игра" и активны только "загрузить игру" и "сценарии эпохи огня", и все. все остальные кнопки серые. вопрос все тот же самый......[/b]
Удали для начала ini-файл из папки мода.

oooo4
29.04.2010, 07:55
<div class='quotetop'>Цитата(Хальк Юсдаль * 29.4.2010, 1:26) 334594</div>

<div class='quotetop'>Цитата
скопировал в мод все свои файлики, НО теперь, после загрузки модификации жму "Одиночная игра" и активны только "загрузить игру" и "сценарии эпохи огня", и все. все остальные кнопки серые. вопрос все тот же самый......[/b]
Удали для начала ini-файл из папки мода.
[/b][/quote]
все, заработало ))) огромное мое вам нупское спасибо )

nikto21
16.09.2010, 19:45
а существуют хотя бы какие-нибудь универсальные проги-что бы создавать моды и сценарии без технической возни
есть же уже давно билдеры сайтов для "чайников" -почему нет билдера для цивы?

www555
22.06.2013, 19:13
а существуют хотя бы какие-нибудь универсальные проги-что бы создавать моды и сценарии без технической возни
есть же уже давно билдеры сайтов для "чайников" -почему нет билдера для цивы?
Универсальных нет, но есть отдельно для юнитов, технологий, цивилизаций. Но работают они плохо, поэтому я моддирую вручную (то есть XML Marker'ом). Для тех кто это делать не умеет, есть обучающие материалы:yes:.

Blacksun
16.10.2015, 19:16
Здравствуйте Все! Меня наверное уже забыли здесь. Я тоже когда то был мододелом. Сейчас у меня проблема возникла по циве 4. У меня диск полетел на компе, где было записано что-то для запуска мода напрямую. Не подскажете что там надо записать?

Snake_B
16.10.2015, 20:38
на диске то ничего.. в ярлыке прописать:
"D:\Games\Strategy\Civilization 4\Beyond the Sword\Civ4BeyondSword.exe" mod="Mods\RedForce.SB"

Adreno
21.06.2016, 18:02
Правильно ли я делаю, что пишу сюда? Ладно. Никак не могу понять, в чем секрет иконок в tga-файлах. Это оказалось для меня даже более сложной задачей, нежели задачи, связанные с SDK и Python-моддингом. Проблема с добавлением религий на данном этапе. Все варианты перепробованы - ничего. В чем хитрость? Добавляю иконки религий, а затем сдвигаю иконки корпораций вперед. Что странно, иконки корпораций со звездочкой отображаются корректно, а без них - нет. Использую вот эту прогу: http://forums.civfanatics.com/downloads.php?do=file&id=17276

qazus
26.08.2018, 21:46
Вот не получается его сделать, хоть я все ей-богу, по инструкции делал
В чем ошибка, не знаю. Кто нибудь может объяснить ?

qazus
31.08.2018, 22:11
Как кстати редактируются xml файлы ?