Ostriv
62 ratings
"Ніч над Дніпром" Ріпина, або як створити власну мапу (майже)
By technoir
Ви ще не вмієте редагувати мапи в нашій чудовій грі? Круто, я теж! Саме тому я розповім вам як!)
4
6
4
2
2
2
   
Award
Favorite
Favorited
Unfavorite
0. не Зайві теревені
Доброго часу, шановні! А у вас не виникало, як от у мене, бажання перевірити себе у цій чудовій, неймовірно розслаблюючій грі на… ВИТРИВАЛІСТЬ О_о? Або, можливо, спробувати якісь нестандартні шляхи розвитку свого поселення, зумовлені фізичними бар’єрами, що створює мапа? Уявіть собі мапу без води! Або заболочений непрохідний ліс, чи невеличкі острівці майже без дерев! Чи може у вас було бажання збудувати історичну копію свого населеного пункту? Так, але для цього ж потрібно мати нестандартну мапу, скажете ви. І я відповім вам - так, мої маленькі допитливі розумаки. І зара саме цим ми і будемо займатися.


Наразі в нас немає ні підтримки користувацьких мап, ні офіційного редактору для їх створення, чи чогось на кшталт того, тому все будемо робити як печерні люди, але не настільки відсталі як сусіди.
1. Де шо куди
Спершу саме перше правило яке працює будь де і на протязі всього життя. Береженого бог береже (якщо що, я атеїст). Робіть резервні копії всіх оригінальних мап, тому що ми будемо редагувати їх. Вони знаходяться в папці з грою "SteamLibrary\steamapps\common\Ostriv\maps". Робіть резервні копії своїх мап під час редагування. Ставте зброю на запобіжник, і не закривайте на ніч заслінку димоходу бо можете вчадіть!

А тепер власне до справи. Редагувати ігрову мапу ми будемо (в основному) в графічному редакторі (Photoshop, GIMP, та хоч Paint чи Word, якщо ви збоченець), тому що мапа в грі будується на основі чотирьох графічних файлів формату .png, називатимемо їх "картами". А саме:
  • "level01_forestmap.png" - карта лісів
  • "level01_heightmap.png" - карта рельєфу ігрового поля
  • "level01_heightmap_bg.png" - більша карта рельєфу (необхідна для відображення рельєфу за ігровою областю)
  • "level01_plantsmap.png" - карта річкових рослин.

А також декількох інших фалів:
  • "level01.level_save" - відповідає за наявність і розміщення родовищ каміння, вапняку, заліза та родовищ для видобування риби рибаками.
  • "level01.minimap" - відповідає за відображення мінімапи при створенні нової гри, чи завантаженні збережених збережень.

За приклад будемо брати мапу номер 1, тому всі файли матимуть у назві "level01".

2. Карта рельєфу
Перша і мабуть найголовніша карта, це карта рельєфу і вона, якщо ще не забули, має назву "level01_heightmap.png". Рельєф в ній відображається градієнтом від чорного до білого. Де чорний то найглибша глибина, а білий найвища вишина.

Опускаючись від темно-сірого до чорного ми перетинаємо умовну межу рівня води. Тому все, що буде нижче того рівня, стане затопленим.

Примітка: неможливо створити яму в землі яка буде нижче рівня води і при цьому не буде затоплена водою. Сухих глибоких ярів не створити (насправді можна, але для цього доведеться весь рівень землі підійняти дуже високо, створити плоску гору і вже в ній робити яри, якщо ви без тих ярів жити не може).


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

Метод редагування доволі тривіальний. Відриваємо карту в графічному редакторі і обираємо потрібний колір в діапазоні між білим та чорним, беремо інструмент пензлик, і малюємо. А ви шо думали? ¯\_(ツ)_/¯
Примітка: для мене найзручніший варіант обирати прозорість нанесення кольору в межах від 4 до 10 і поступово, плавно змінювати рельєф. Також не забувайте обирати низький показник жорсткості пензля, щоб штрихи мали розмиті краї, а не гострі. Інакше у вас буде не рельєф, а катастрофа біблейського масштабу (я казав що я атеїст, чи ні?)

Перший колір буде чорний. Його код RGB "000000". L "0".

Примітка: надалі слідкуйте за параметром "L", він визначає світлоту кольору. Чим вище значення, тим світліше колір. Кожен новий колір буде на +1 більше.


Як бачимо різниці нема, всі ці кольори малюють "глибоку воду". В ній не ростуть річкові рослини і дерева. В чому тоді сенс, спитаєте ви? У міні мапі, це ж очевидно!) Гляньмо ближче.


Чим світліше колір по параметру "L", тим мільча вода у грі (цього не видно), і темніше відмальована на міні мапі. Виключенням є чорний колір "L0". Він не відображається на мапі.
Йдемо далі.


Тут ми бачимо останні 4 кольори "води". На всіх з них ще можна будувати споруди, що потребують наявність води і вони будуть функціонувати. І не можна будувати споруди, що будуються на суходолі.


"L10" та "L11" вже є мілкою водою (це не офіційна назва). На них можлива генерація очерету, якщо він буде "намальований" на карті рослин.
Примітка: якщо нахилитися над "L10" то вже можна розгледіти дно! Не знаю на біса вам то знати, але ось, маєте. Тепер живіть з цим.

А це як кожен з цих чотирьох, та чотирьох наступних кольорів відображаються на мапі.
Примітка: також зверніть увагу, як змішуються відображення лісу (нижній довгий горизонтальний прямокутник) з різними типами землі.
Далі починається суходіл.

Він представлений мокрою землею, сухою, піщано-луговою, і травою (так це теж все не офіційні назви). На всіх без виключення можуть рости дерева. На всіх представлених чотирьох можуть рости річкові рослини. Кожен тип землі дещо унікальний.

"L14" це останній колір на якому росте очерет. І перший на якому з’являється і надалі буде у всіх яскравіших кольорах (L14+) текстура опалої хвої під деревами в лісі.

"L15" перший колір, що задає текстуру трави, яка буде надалі у всіх світліших кольорах, аж до останнього -"L100". Але це єдиний колір на якому ростуть унікальні зелені рослини (у яких нема ігромеханічного використання).

Як бачимо візуальної різниці, в текстурах, нема.

Також бачимо, що починаючи з "L16" земля перестає відображатися на міні мапі.

Різниця буде в тому, як і вказувалося раніше, що кожен світліший тон буде представляти фізично вищий рельєф.
Примітка: майте на увазі, що значні перепади висоти на малій площині практично завжди викличуть неможливість розміщення там будівель через "Нерівну поверхню".

Важливою особливістю є й те, що суходіл до "L20" матиме ґрунтові води придатні лише для виробництва.

Тепер варто сказати пару слів про карту рельєфу місцевості, що йде до горизонту, разом із хмарами за небокрай, де заобрієм небесний оксамит... кхм, тобто "level01_heightmap_bg.png". Ця карта має логічно та графічно продовжувати нашу ігрову карту рельєфу "level01_heightmap.png". Ось вони поряд.
Як бачимо вони різняться масштабом. І одну можна помістити в іншу. Вони співвідносяться ось так.
Синє обрамлення навколо внутрішнього квадрату - це лінія зіткнення однієї карти з іншою у грі. Саме тут вони мають бути гармонійними. Інакше ви створите розриви в матерії реальності. Ви ж не хочете щоб у ваших людей виникали думки, що вони живуть в симуляції?!
Загалом все що знаходиться всередині синього квадрату на карті "level01_heightmap_bg.png" немає ніякого впливу, тому що всю інформацію для тієї області гра візьме з карти "level01_heightmap.png". Тому деталізувати її немає сенсу. І моя порада, не чіпайте ту мапу рельєфу "heightmap_bg" взагалі, якщо у вас немає якихось ідей вселенського масштабу. А працюючи з основною картою "heightmap" просто не доходьте до країв, щоб стик між картами залишився оригінальним. Так ви уникнете потенціально можливого утворення сідого волосся.
3. Карта лісу та Карта рослин
Обидвоє цих карт ("level01_forestmap.png" та "level01_plantsmap.png") редагуються за тими ж правилами, що і папєрєднік, себто "level01_heightmap.png".

І для них так само є дійсними кордони досяжності (синій квадрат), що в грі представлений тими самими червоними лініями, тільки не уявними, як у одного мізерного гномика, а справжнісінькими, які реально неможна перетинати.










Карта лісу
Вона представлена файлом "level01_forestmap.png". Лісова "L" палітра дуже проста. Ліс або є, або його зовсім нема. І власне його нема тільки в діапазоні від "L0" до "L1".

Всі інші значення до "L100" малюватимуть ліс однієї товщини і без змін на мінімапі, ну це якщо просто кинути оком (ви ж не надіялися, що я настільки дурний і буду дерева рахувати? -_-). Але є одне але. При "L1" на мінімапі ліс відображатиметься, а в реальності там дерев не існуватиме (прямо як у нас в Карпатах). Можливо так і має бути, а можливо баг, і тих чорних лісорубів тре одягти у дерев’яний макінтош.

Карта річкових рослин
Тепер про "level01_plantsmap.png". Тут трохи інакша картина.
Перші рослини з’являються з "L6" і будуть збільшувати свою щільність разом із збільшенням параметру "L".

А тепер декілька слів про розуміння міри, яке людство так і не навчилося використовувати. Ви маєте плекати в собі відчуття непідробного, вишуканого аскетизму у найвищій, надлюдській його подобі. А нафіга, спитаєте ви? А от нофіга, відповім вам я.

Таку картину ви побачите коли досягнете певної стелі на кількість дерев і рослин. Гра просто перестане генерувати нові одиниці і обріже генерацію рівнесенькою лінією. Але навіть якщо наблизитися до тієї кількісної межі, не перетинаючи її, то ви не тільки зможете перетворити ваш електронно-обчислювальний пристрій в електронно-подову піч, а ще й дебело зекономити на опаленні!

Ви що реально то все читали?! Жах! Ви точно не шукаєте легких шляхів!
4. Що ще потрібно розібрати
  • Неграфічні(?) файли мапи level01.level_save, level01.minimap.
  • Інформація про точки входу/виходу торгівельних човнів, возів тощо, на ігрову мапу.
  • Досяжність/не_досяжність місцевості для заснування поселення.
  • Що впливає на наявність і напрям течії для виробництва.
  • ...
5. Ще щось там несмішне
Мої мапи.

Лісова v0.1 (замінить level07)
Так, мені лінь вигадувати гарну назву, і шо ви мені зробите?
Обережно! Ця мапа не для того, щоб отримувати від гри задоволення у звичний спосіб! Вона ж сира як мій погріб!
https://drive.google.com/file/d/1uCFViwHNnG-2U3tbgL2tR4S68j2GQ82K/view?usp=sharing


Філософські питання, які і досі залишаються відкритими:
  • 1. Куди подіти сотні і сотні стовбурів дерев, якими завелені лісопильні???
  • 2. Невже 20 лісорубів на 2 будівельника все ще недостатньо?!!
  • 3. Чи бува не варто впровадити в гру механіку лісових пожеж?..
  • 5. Дерева? Ненавиджу, ненавиджу дерева!!111
  • 8. Чи можуть селяни їсти соснову кору?
  • 6. Куди вбіса подівся рибак?
Також на вас чекає:

Наостанок добре, сердешне побажання від автора. Це все цілковито і виключно ваш, наголошую, лише ваш - особистий вибір!! Тепер страждайтенасолоджуйтесь!!!

Level02 additional additions edition (замінить обожемій level02)

https://drive.google.com/file/d/1ks1NyDH-SK6YzglhnCCtaI41aIiXwtyj/view?usp=share_link

Налаштування мапи №2 зі збільшеною кількістю ресурсів. Встановлювати як зазвичай. Щоб отримати більше ресурсів на інших мапах тре лише перейменувати "level02" на номер іншої бажаної мапи. Вуаля, ви справилися, тепер частина ресурсів потрапила у воду…


Як відчути щастя?
Скинути файли за посиланням з заміною в вашу папку з мапами за адресою "ну ясно шо ваша папка стіму\steamapps\common\Ostriv\maps".

31 Comments
Lunar Eclipse 10 Mar @ 4:56am 
早く公式がワークショップ対応してほしい
High Warlock of Brooklyn 23 Dec, 2024 @ 10:29am 
дуже не вистачає відеогайду до цього тексту, так як у мене якась діч виходить кожного разу, коли я намагаюся навіть просто вирівняти мапу
technoir  [author] 25 Nov, 2024 @ 2:22am 
Параметри "L" задаються у вікні "палітри кольорів" графічного редактору. Всі його значення, це діапазон відтінків між чорним L0, та білим L100. Тобто "L" - lumositi, світлота або яскравість. Тому транслювати це доволі просто. Якщо в посібнику вказано "L10", значить в поле яскравості потрібно вписати значення "10".
Melkin 14 Nov, 2024 @ 4:39pm 
Так і не зрозумів про яку "світлоту кольору" йде мова для рівнів L і як це транслювати в графічний редактор. Це відтінки сірого чи рівні прозорості білого, чи від якої точки відштовхуватися?
xameleon230685 2 Feb, 2024 @ 1:43pm 
Де задавати цей параметр L0 L15?
xameleon230685 2 Feb, 2024 @ 1:21pm 
Якою програмою краще редагувати ?
Vic_Ukraine 17 Jun, 2023 @ 1:51pm 
Як справи? Чи немає нової мапи?
Roland 26 Apr, 2023 @ 4:51am 
я закидував ці хай мапи в блендер, тепер думаю може згладити трішки нову мапу і повторно відрендерити хай мапу і закинути знову в острів
Vic_Ukraine 24 Apr, 2023 @ 3:21am 
Я думаю, я те "не птягну"
technoir  [author] 16 Apr, 2023 @ 3:52am 
Glory to Ukraine ッ, дякуємо голові місцевої громади за пильність до стану довкілля) Екосистему відновлено. Посилання оновлено. Насправді цікавий недолік вийшов, який допоміг трохи більше зрозуміти файл налаштувань. Дякую.