Hearts of Iron IV

Hearts of Iron IV

143 avaliações
Создание собственной карты Hoi4
Por ReYndAn
Создание новой карты — труд, требующий базовых знаний работы с графическими редакторами (Photoshop, GIMP, PaintNet и т. п.) и понимания аспектов моддинга. Неопытный малец, скорее всего, погрязнет в этом болоте и бросит это дело… Этот урок — попытка расширить порог вхождения.
Саму карту мы будем создавать через программу MapGen 2.2
10
   
Premiar
+ favoritos
Nos favoritos
- favoritos
Начало
Для начала нам нужен графический редактор. Вполне может подойти обычный Photoshop с расширением dds. Или же Paint.net.

Следовательно, нужна идея: какую карту готовитесь рисовать? Придумали, молодцы.
Для примера я взял эту карту. Кто узнал, тот молодец.

Land Input
Перейдём в MapGen:


После чего заходим в любой графический редактор и начинаем всё делать ручками, в моём случае я буду использовать GIMP.

Начинаем мы с общей формы карты — Land Input. Открываем в GIMP файл LandMap из \MapGen v2.2\Examples:




Что нужно знать про Land Input?

Эта карта из трех цветов указывает Мапгену, где море, озеро и земля. Размер этого изображения также определяет размер вашей карты, но не надейтесь, что Вы сможете создать карту любого размера, игра ограничена в этом вопросе (стандартный размер 5632 x 2048), поэтому используйте LandMap из \MapGen v2.2\Examples в качестве шаблона.

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

Нам нужны три цвета. Ниже указаны их коды.

-Суша: #9644C0

-Море: #051412

-Озеро: #00FF00

Рисуете карандашом без сглаживания, пиксели при приближении должны выглядеть подобным образом:




Обязательно используйте подобные параметры! Если Force и Hardness будут не 100%, то цвет не будет соответствовать коду:


Правда, если вы слегка изменили цвет, программа может исправить это, но не злоупотребляйте этим. Однако, важно сохранить изображение в виде 24-битного растрового изображения (24-bit bitmap), прежде чем загружать его в пажилую Мапгену.

После того как нарисовали карту закидываем файл в Мапгену в разделе Land Input.




У HOI4 минимальный размер провинции 8 пикселей. Прога превращает все маленькие острова в провинцию, что может стать проблемой, если остров меньше 8 пикселей. Включение «check for small islands» будет проверять наличие этих островков. Если они найдены, карта будет отображаться с указанными островками, обведенными красным, чтобы вы могли ее исправить.

Ну вот, одна карта уже готова!
Terrain input
Создаем карту ландшафта — terrain input.

Карта местности указывает, где находятся различные зоны ландшафта на вашей карте (НЕ ПУТАТЬ с картой местности terrain map, которая определяет текстуры карты).

Генератор может автоматически создать такую карту, щелкнув «generate plains world». Вы можете нарисовать свою карту:

-Поля: #FF8142

-Леса: #59C755

-Холмы: #F8FF99

-Джунгли: #7FBF00

-Болото: #4C6023

-Горы: #7C877D

-Пустыня: #FF3F00

-Океан: #0000FF

-Озера: #00FFFF

-Городская местность: #9B00FF

Файл создается по аналогичному принципу, как и Land Input, а также должен быть с 24-битным растровым изображением того же размера, что и прошлая карта.



Опыт показывает, что во избежании квадратных артефактов на прибрежных зонах, делаем их равнинами (это повлияет на генерацию карты высот):



Закидываем в Мапгену!

Province Size Input
Следующий этап проще. Прога сама сгенерирует Province Size Input.

Карта Province Size Input определяет размер провинций суши (внезапно). Указывая цвет провинций от белого до черного цвета. Оттенки серого варьируется. Для провинций, сгенерированных на белых областях, будет задан максимальный размер, для областей на черных областях будет установлен минимальный размер, а между провинциями будет масштабироваться в зависимости от значения оттенков серого.

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

Настройки размера провинций — это искусство. Правильный их выбор решает много. В будущем Вы столкнетесь с такими ошибками:

  • Слишком большие провинции вызовут ошибку — Province X has TOO LARGE BOX. Соотношение ширина/высота провинции составляет более 1/8 от общей ширины/высоты карты. Также это может быть признаком того, что две провинции имеют общий цвет.
  • Слишком маленькие провинции — Province X has only N pixels. Минимальный размер провинции — 8 пикселей.
  • Иногда общий угол провинций может вызвать ошибку — Map invalid X crossing. Please fix pixels at coords. Иногда игра может соединить нижнюю левую и верхнюю правую провинции, что вызывает подобные ошибки. Их появление неизбежно и правится ручным способом или генерируя другую карту провинций, о которой мы поговорим далее.

Оптимальная настройка интуитивна, и подбирается в зависимости от формы карты. Главное — не переборщить:



Имеется два способа сгенерировать Province Size Input.

Mercator Distribution: имитирует форму глобуса, так что экваториальные провинции меньше, чем полярные. Отлично подходит по дефолту.

Uniform Distribution: провинции однородного размеры, подходящие для модов с маленькими картами (редкость). Малую карту технически сложно реализовать, не сломав саму игру.

Мы жмем Mercator Distribution.


Boundary Input
Дальше определяем примерные регионы суши в Boundary Input

Границы указывают как провинциям и стейтам выровняться относительно этих границ.

-Суша: #dcdcdc

-Море: #ffffff

-Границы: #000000

Границы должны быть толщиной в один пиксель, непрерывными.

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

River map
Логично было перейти к ближней вкладке province map, но опыт показывает, что лучше сначала замутить карту рек.

Делаем карту рек — river map. Можно рисовать самому или автоматически сгенерировать.

Правда, очень важно соблюдать цвета рек. Реки всегда должны быть толщиной в 1 пиксель.

Палитра цветов:



Зеленый пиксель — начало реки, красный — объединяет реки в одну, желтый — разделяет на две, голубые пиксели — определяют толщину реки на карте (но на этой карте все толщиной в пиксель).

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

Случайные изгибы рек «River Random Wander». Если «Add to Existing Rivers» включено, предыдущая карта рек не будет перезаписана, и дополнительные реки будут добавлены к существующим.


Province map
И вот сейчас генерируем карту провинций — province map.

Карта провинции province map очень важна, она определяет все провинции в игре. Мапген также создает файл definitions.csv к этим провинциям.

В этом файле информация по:

province id (номер провинции); r value; g value; b value (RGB код); province type (land/sea/lake) (тип провинции - суша, море, река); coastal (true/false) (берег - да или нет); terrain (plains/hills/urban/etc) (тип местности - поля, холмы, городская местность и т. д. ); continent (int) (номер континента)

В будущем пригодится.

К счастью, вам не нужно ее делать вручную. Нажмите «Generate» в левом нижнем углу, и карта провинции будет создана, используя ваши настройки и карты, определенные на предыдущих вкладках. Опция «Provinces Don't Cross Rivers» станет доступной, если вы загрузите карту рек. Это заставит провинции выравниваться с реками, поэтому мы рисовали реки заранее.

Если у вас уже есть карта провинций, перетащите ее и файл definitions.csv в программу вместе. Из этих файлов будут также сгенерированы land map и terrain input map.


State Output
генерируем «Generate» дефолтные стейты (states) для нашей карты в State Output. Не забудьте сохранить файлы стейтов, нажав на «Save» (создаете новую папку и жмете «Select» и «Yes»), это пригодится в будущем.




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

Вы можете выбрать размер и форму стейтов (ползунками) и сгенерировать их случайным образом.


Height map
Дальше делаем карту высот — height map. Важный файл, который требует подбора адекватных параметров, которые являются уникальными в зависимости от карты.

Высота начинается от значения 94 (уровень моря), а 255 - самая высокая гора. Не рекомендуем использовать предельные значения.

В левом нижнем углу есть несколько ползунков для настройки алгоритма генерации:

Desert Smoothing: определяет, насколько плоскими являются пустыни.

Plains Roughness: крупномасштабные особенности равнин, насколько велики долины и холмы.

Plains Noise: мелкие черты равнин, насколько ухабистые равнины.

Hills Height: увеличение высоты холмов.

Mountain Height: увеличение высоты горы.

Mountain Noise: мелкие черты гор, насколько ухабистые горы.

После того, как вы выбрали свои настройки, нажмите «Generate», чтобы создать карту высот. «Sea Level Indicator» нарисует океан, так вы можете оценить свою береговую линию, но море не будет присутствовать при сохранении этой карты.

Рекомендуется оставить параметр включенным «Force Coast Align with Land Map», чтобы он вынуждал его создавать ту же береговую линию, настроить уровень моря и максимальную высоту вашей карты. Нажав «Update», вы внесете изменения в карту высот.


World Normal
Потом создаете карту нормаль — World Normal.

На этом изображении закодирована поверхность карты, и оно используется в HOI4 для указания теней и бликов. Нормали основаны на карте высот, но есть несколько настроек, которые вы можете настроить.

Normal Smoothing: насколько резкими/размытыми являются тени/блики.

Gradient Limit: какая максимальная яркость/тень.

Colour map
У карты Colour map есть нюансы.

В ванильной игре называется colormap_rgb_cityemissivemask_a.dds.

Его можно нарисовать самому (задача не из легких), поэтому просто генерируем.

Desert Moisture: изменяет вид желтых и сухих пустынь.

Forest Moisture: изменяет вид зеленых и пышных лесов/джунглей.

Правда, есть один нюанс. Мапген создаст вам файл Colour map в формате .bmp, но нам нужен .dds! Поэтому мы генерируем карту в Мапгене, и сохраняем ее себе (save to File).



Потом открываем его в GIMP (или в другом графическом редакторе который имеет экспорт в виде dds).



И экспортируем, как .dds 8.8.8.8 ARGB 32 bpp.



Ну или конвертируете, как Вам удобно. Главное, чтобы был в .dds 8.8.8.8 ARGB 32 bpp.
Terrain map
И осталась последняя карта местности — Terrain map. К счастью, генерируется автоматически!

Эта карта указывает HOI4, какую текстуру использовать на карте.

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

Кстати, Мапген может крашанутся при генерации этой карты, такое бывает. Просто попробуйте заново.

Экспорт карты из MapGen
Осталось всё экспортировать!

Нужно вставить тот Colour Map в dds. формате, которые мы конвертировали. Назвать мод (не используйте кириллицу).




Мапген сохранит этот мод в "...Documents\Paradox Interactive\Hearts of Iron IV\mod". Если всё сделано, как указано, папка мода с его дескриптором в формате .mod будет по указанному адресу.

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

Обладателю стимовской версии это не является проблемой. Переходим на 1.5.4:




Если всё прошло гладко, увидим такое:



По сути, это завершение ПЕРВОЙ ФАЗЫ новой карты.
Итоги
Если помог разобраться с созданием карт и программой MapGen, то буду рад вашей поддержки этого руководства и так же не откажусь от материальной поддержки)
https://www.donationalerts.com/r/reyndanforty

Вторая фаза карты:
https://steamproxy.net/sharedfiles/filedetails/?id=2197966525
19 comentário(s)
N0rd1k 7 de jul. às 3:33 
а если у меня игра вылетает при попытке запуска? Сделал всё как сказано в гайде, но зайти на карту не могу :(
ahyrt 6/mai./2023 às 16:29 
Что делать, при запуске игры ошибка failed to load the map, карту сделал правильно
тыква 11/mar./2023 às 10:00 
ДЛЯ ТЕХ У КОГО НЕ СОХРАНЯЮТ СТЭЙТЫ
я тоже с этим долго мучился, но решение очень простое
надо взять путь для сохранение без кириллицы (рабочий стол не пойдет) для этого пойдет диск, я сохраняю по пути d:\state
хотя вы можете взять любой другой диск.
кишмабуш 14/nov./2022 às 3:48 
не хочет он сохранять statы и csv файл ухйня создает
Юрій Сірненко 27/mar./2022 às 5:55 
как изменить форму провинций в обычной карте игры? (через paint net способ)
Grekhych 6/mar./2022 às 15:27 
Как сделать на карте государства, города и прочее?
Nikiforov 15/jul./2021 às 21:55 
Что делать если у меня не сохраняются файлы csv и state?
Barshk0v 3/jul./2021 às 6:01 
У меня не сохраняются файлы csv, когда делаю Province Map и state output, где ни файлов, ни карты
arsensek 18/jan./2021 às 10:48 
О, это-же, карта из арканума? :steamthumbsup:
Эколог 9/jan./2021 às 0:03 
Там все есть