Jak stworzyć nową prowincję w EU III?
Z EUFI wiki
Modując mapę zaczynam zwykle od otwarcia pliku "provinces.bmp" z folderu "map", przy pomocy jakiegoś przyjaznego edytora. W moim przypadku jest to MSPaint. Mapa prowincji jest tutaj przekręcona do góry nogami, więc dla wygody proponuję ją odwrócić. UWAGA - nie wolno zapomnieć jej odwrócić z powrotem po zakończeniu dodawania prowincji. Teraz wybieramy UNIKALNE wartości RGB (czerwony, zielony, niebieski), które będą definiować naszą prowincję. Powstaje w ten sposób pewen kolor, którym po prostu musimy prowincję narysować.
Teraz otwieramy plik "definition.csv". Tu zdefiniowane są prowincje poprzez wspomniane wcześniej wartości RGB. Sprawdzamy, czy te wybrane przez nas się gdzieś nie powtarzają. Nie? To dobrze. Teraz dodajemy wiersz dla nowej prowincji, ale uwaga! Ponieważ w konwencji jest, że po prowach lądowych następują morskie, więc nie możemy naszego nowego kawałka lądu wrzucić na koniec. Ja rozwiązuję to przesuwając pierwszy prov morski na koniec, a w jego miejsce wstawiam mój nowy.
Gratulacje, nasza prowincja istnieje dla gry. Choć jeszcze nie do końca Trzea jeszcze otworzyć taki plik "statystyk", (sam nie wiem jak to nazwać) o nazwie "default.map". Otwiera go zwykły notatnik i ustawić nową ilość provincji ( ilość ta jest zawsze plus jeden w stosunku do numeru ostatniej w "definition.txt". Ten plus jeden to prov o numerze zero - stała ziemia nieznana ). W tym celu edytujemy linię "max_provinces = liczba". Ustawiamy też nowy numer pierwszej prowincji morskiej ("sea_starts = liczba").
Teraz wypada dorobić naszej nowej prowincji jakąś historię. W folderze history/provinces znajdują się pliki tekstowe z historią każdego prova. Nowy prov musi mieć nazwę zgodą z konwencją "NR_PROVA - NAZWA_PROVA.txt". W plikach tych używamy dość intuicyjnych komend takich, jak: owner = TAG - właściciel controller = TAG - kontrolujący add_core = TAG - czyją rdzenną jest provincja citysize = xxx - ilość mieszkańców miasta cityname = "NAZWA_MIASTA" - nazwa stolicy prowincji culture = nazwa_kultury - kultura danej prowincji religion = nazwa_religii - religia prowincji base_tax = liczba - podatek bazowy manpower = liczba - siła ludzka hre = yes/no - czy prowincja należy do Swiętego Cesarstwa Rzymskiego discovered_by = TAG - czy kraj odkrył prowincję albo discovered_by = grupa - czy dana grupa krajów odkryła (np. latin, muslim) trade_goods = nazwa_towaru - towar, którym handluje prowincja
w/w komendy określają ustawienia startowe provincji. Oczywiście prowincja może być pusta (brak owner, controller, add_core lub owner = XXX, controller = XXX, add_core = XXX). Wtedy dochodzą jeszcze współczynniki określające tubylców:
native_size = liczba - liczba tubylców native_ferocity = liczba - waleczność tubylców native_hostileness = liczba - wrogość tubylców
wszystkie te ustawienia startowe, możemy zmieniać z biegiem czasu poprzez ujęcie dowolnej komendy w składnię:
rok.dzień.miesiąc = { komenda }
np. 1790.1.1 = { religion = sunni } zmieni nam 1 stycznia 1790 w naszej prowincji na religię sunnicką.
To chyba tyle o historii prowincji.
Teraz jeszcze rzeczy kosmetyczne. Możemy określić klimat i kontynent prowincji poprzez wpisanie jej numeru w odpowiedniej grupie w plikach "climate.txt" i "continent.txt" z folderu map. Nazwę prowincji ustawiamy w pliku "text.csv" z folderu localisation. Składnia tam wygląda tak: nazwa_kodowa;angielski;francuski;niemiecki;polski; hiszpański;włoski;szwedzki;czeski;węgierski;holend erski;portugalski;rosyjski;fiński;x (oo, trochę się namnożyło języków od wersji 1.2!)
Aby ładnie toto wyglądało, należy bawić się plikiem "positions.txt" z folderu map. Jest to bardzo niewdzięczne zajęcie i często chce mi się wyć, jak nad tym siedzę. Gdy otworzymy plik, zobaczymy, że każda prowincja ma tam przypisane koordynaty x,y dla obiektów na mapie z nią związanych. unit - jednostka city - miasto port - hmmm manufactory - manufaktura text_position - nazwa - uwaga - jedyny obiekt z przydomkiem "position"! iksowo-igrekowe koordynaty to nic innego jak układ współrzędnych kartezjańskich o początku w zerze. Współrzędne te ukazują się np. w paincie, gdy jeździmy kursorem po mapie. UWAGA - współrzędne dotyczą tej odwróconej mapy! innymi atrybutami w "positions.txt" są kąty, pod jakimi pojawiają się: port_rotation - porty text_rotation - nazwy Kąt jest podany w radianach. Kąty jakich pożądamy pozostają w związku: 180stopni/Pi = kat_w_stopniach/kat_w_radianach. Cóż więcej mogę powiedzieć... Sama orientacja na podstawie provinces.bmp nie wystarczy. Trzeba po prostu odpalać grę i sprawdzać samemu, jak wychodzi. Niestety, gra liczy ścieżki również po zmianach w "positions". Jak więc widać, jest to obrzydliwa część pracy...:/
Jeśli dodajemy nowe wyspy, lub kształtujemy wybrzeża, to należy też edytować pliki "terrain.bmp" oraz "topology.bmp" Pierwszy zawiera informacje o typach terenu (kolory objaśnia plik "terrain.txt") a drugi o jego ukształtowaniu.
Nieco trudniej wygląda sprawa z wykorzenieniem stałej ziemi nieznanej. Możemy zauważyć, że gdy już utworzymy prova na terenie stałej ziemi nieznanej (w "provinces.bmp" odpowiada mu kolor czarny o wartościach RGB 0;0;0) to w grze będzie on nadal widoczny na biało.
Informacje o tej "bieli" zawierają pliki "colormap.dds" oraz "colormap_water.dds" z folderu map/terrain. Zaleca się ich edycję w photoshopie, ja używam darmowego gimpa, problem w tym, że jest to w gimpie o wiele trudniejsze. Robię to w ten sposób:
Otwieram wymienione pliki. Tak jest, te białe obszary to jest znienawidzona ziemia nieznana Niestety nie wystarczy jej wytrzeć gumką. To białe to wizualizacja tzw "kanału alfa". Czwartego obok czerwieni, zieleni i niebieskiego czynnika definiującego obraz. Nie pytajcie mnie co to jest tak naprawdę Wytarcie gumką wprawdzie zlikwiduję alfę, która jest właśnie nośnikiem informacji o ziemi nieznanej, ale trzeba jeszcze zapełnić wytarte miejsca jakąś teksturą. Zauważmy, że tekstury te reprezentują inne kolory, które są ukryte w tym widoku (jeśli pojeździmy zakraplaczem, to na panelu będzie je widać) Wydobycie tych kolorów przeprowadziłem następującą pokrętną drogą: Wybieram Obraz-Tryb-Rozłożenie. Wybieramy opcję RGB. Już lepiej, ale chcemy kolorów, a nie odcieni szarości, choć to mogłoby wystarczyć. Aby uzyskać kolory bierzemy tym razem Obraz-Tryb-Składanie i wybieramy RGB. Teraz mamy prawdziwe "Colormap" Białe plamy wypełniamy jakimś ładnym kolorkiem, albo kolorkami w zależności od naszej wiedzy na temat wyglądu dodawanego obszaru. Można się nie bawić i wypełnić po prosu zieloną trawką. Ok, teraz zrobimy z tego z powrotem to, co zastaliśmy. Bierzemy Warstwa-Przezroczystość-Dodaj kanał alfa. Następnie Warstwa-Przezroczystosc-Próg Alfy i ustawiamy na maxa. Mamy znów "przezroczysty obrazek" taki pokratkowany. I dobrze. W okienku z tym obrazkiem zapisujemy nasze cudo (które wygląda jak cerata na stół) jako colormap.dds. Lepiej mieć gdzieś zapasową kopię, na wypadek skopania czegoś po drodze. Wskazówką, że wszystko poszło OK jest to, że rozmiar zmodyfikowaneg pliku jest identyczny z oryginalnym. Podobnie zabawiamy się z "colormap_water.dds" plik ten zawiera jeszcze dodatkowo informację o liniach brzegowych i rzekach. Linie wygładza, a rzeki podświetla.
Aha, zapomniałbym - bardzo ważna rzecz! Należy przed odpaleniem gry opróżnić folder "cache", który zawiera info o połączeniach między prowincjami. Gra wygeneruje go na nowo. Trwa to paręnaście minut, ale jest jednorazowe.
Ufff, to chyba wszystko. Proszę zgłaszać braki i ewentualne zapotrzebowania na inne tego typu rzeczy. Zdaję sobię sprawę z pokrętności metody postępowania z Ziemią Nieznaną. Jeśli ktoś zna lepszą, niech podzieli się wiedzą. Wiedza o lepszym wykorzystaniu freewarowego Gimpa, również się przyda
Istnieje narzędzie do sprawdzania mapy, stworzone przez forumowicza z Paradoxowego forum. Postaram się zamieścić linka do niego, jak i do innych użytecznych rzeczy.
Zapomniałem wspomnieć o pliku "straits.csv". Definiujemy w nim, jakie prowincje łączą cieśniny, czyli miejsca, gdzie przekraczamy wojskiem morze bez używania okrętów.

