Tutorial robienia worldmapy w Fallout2
Oryginalnie mapa świata w Fallout2 posiada rozmiar 1400x1500 pikseli i składa się z 20 mniejszych mapek tzw Tilesów o rozmiarach 350x300 pikseli.
Zawarte one są w plikach WRLDMPxx.frm (gdzie xx są to numery od 00 do 19) w katalogu Fallout2/data/art/intrface.
W tym katalogu znajduje się również plik konfiguracyjny intrface.lst.
Poszczególne mapki (Tile) posiadają rozmiar 350x300 pikseli.
Można zwiększyć rozmiar map świata w Fallout.
Prawdopodobnie nie można zrobić mniejszej ale to tylko prawdopodobnie, nie sprawdzałem.
Robi się to w ten sposób, że :
1. Znajdujemy sobie gdzieś w necie jakąś interesującą nas mapkę satelitarną czy jakąkolwiek inną.
2. Przetwarzamy ją do 256 kolorów (8-bit) z użyciem palety Falloutowej. Np w Paint Shop Pro albo innym zaawansowanym progamie graficznym.
3. Ustalamy sobie wielkośc mapy. Oryginalnie rozmiar Falloutowej mapy wynosi 1400x1500 pixeli.
4. Tak więc obie wartości są w poziomie wielokrotnością liczby 350 pikseli, a w pionie 300 pikseli.
5. Chemy sobie przykładowo zrobić większą mapę świata np o rozmiarze 1750x1800 pikseli.
6. Ustawiamy rozmiar naszej wolrdmapy w programie na pożądany.
7. Teraz tniemy mapę na prostokąty o rozmiarach 350x300 pikseli (350 w poziomie, 300 w pionie).
8. Każdemu takiemu prostokątowi nadajemy nazwę według maski WRLDMPxx.BMP (gdzie xx są to numery od 00 do ileś tam ile nam wyjdzie).
9. Teraz w każdym takim pojedynczym prostokącie wstawiamy zółtą siatkę (może być dowlony wybrany kolor), której oczka mają rozmiar 50x50 pikseli.
9a. Wazne żeby robiąc nakładajac siatkę nie rysowac linii na prawym i na dolnym brzegu obrazka (Tilesa), bo potem brzydko w grze będzie to wyglądać.
Posłuże się tutaj rysunkiem z forum lisack2k z jego forum.
<-----tu obrazek------->
10. Mamy pokrojoną worldmapę na mniejsze prostokąty, ponazywane kolejno jak to wyżej opisałem i trzeba je teraz z formatu bmp przekonwertować do frm. Na róznych moderskich stronach (TeamX, FMC i inne) mamy programiki które nam to umożliwią.
11. Gdy już sobie skonwertujemy nasze fragmenty worldampy, wrzucamy wszystkie pliki typu frm do katalogu:
Fallout2/data/art/intrface.
12. Jeśli zwiększaliśmy mapę Fallouta (tzn nasza jest większa, albo ma inny rozmiar niż oryginalna falloutowa) to musimy edytować plik intrface.lst z tego katalogu.
13. Edytujemy więc ten plik, jeśli mamy więcej niż 20 tilesów to na końcu tego pliku dopisujemy kolejno następne. Zapisujemy plik i umieszczamy go w tym katalogu.
14. Teraz nieco trudniejsza sprawa (ale bez obaw, więcej grzebania tylko). Jeśłi nasza mapa świata ma inne rozmiary niż w oryginale to musimy dokonac edycji pliku wolrdmap.txt, który znajduje sie w katalogu Fallout2/data/data.
15. W pliku worldmap.txt odnajdujemy linijkę :
num_horizontal_tiles=4
Jest to linijka określająca ilość Tilesów (czyli naszych prostokątów) w poziomie.
W Falout2 oryginalnie jest ich 4, czyli 4x350= 1400 pikseli. W pionie jest ich 6 ale tego bezpośrednio się nie notuje w pliku worldmap.txt, jest to zrobione inaczej.
Teraz dzielimy sobie poziomy rozmiar naszej worldmapy przez 350, czyli przykładowo jeśli robimy worldmapę o rozmiarze 1750x1800 pikseli to dzielimy wartość 1750/350. Daje nam to liczbę Tilesów w poziomie, czyli w naszym przypadku 5.
Podmieniamy w tej linijce wartość z 4 na 5:
num_horizontal_tiles=5
16. Teraz nieco żmudniejsza część całej roboty:
w pliku worldmap.txt musimy dopisać opcje konfiguracyjne dla dodatkowych Tilesów. Odnajdujemy na końcu pliku taki fragment:
[Tile 19]
art_idx=358
encounter_difficulty=-50
; x_offset_yoffset=terrain,morning_chance,afternoon_chance,night_chance,type
0_0=Mountain,No_Fill,Common,Common,Common,VNNB_M
0_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,Wild5_M
0_2=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,Wild5_M
0_3=Mountain,No_Fill,Rare,Rare,Rare,NCR_M
0_4=Desert,No_Fill,Rare,Rare,Rare,NCR_D
0_5=Desert,No_Fill,Rare,Rare,Rare,NCR_D
1_0=Mountain,No_Fill,Common,Common,Common,VNNB_M
1_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,VNNB_M
1_2=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,VNNB_M
1_3=Mountain,No_Fill,Rare,Rare,Rare,NCR_M
1_4=Mountain,No_Fill,Common,Common,Common,NCR_M
1_5=Mountain,No_Fill,Rare,Rare,Rare,NCR_M
2_0=Mountain,No_Fill,Common,Common,Common,VNNB_M
2_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,VNNB_M
2_2=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
2_3=Mountain,No_Fill,Rare,Rare,Rare,NCR_M
2_4=Mountain,No_Fill,Rare,Rare,Rare,NCR_M
2_5=Mountain,No_Fill,Rare,Rare,Rare,NCR_M
3_0=Mountain,No_Fill,Common,Common,Common,Wild5_M
3_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,Wild5_M
3_2=Desert,No_Fill,Uncommon,Uncommon,Uncommon,V15_D
3_3=Desert,No_Fill,Uncommon,Uncommon,Uncommon,V15_D
3_4=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
3_5=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
4_0=Mountain,No_Fill,Common,Common,Common,Wild5_M
4_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,Wild5_M
4_2=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
4_3=Desert,No_Fill,Uncommon,Uncommon,Uncommon,V15_D
4_4=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
4_5=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
5_0=Desert,No_Fill,Common,Common,Common,Wild5_D
5_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,Wild5_M
5_2=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
5_3=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
5_4=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
5_5=Desert,No_Fill,Uncommon,Uncommon,Uncommon,V15_D
6_0=Mountain,No_Fill,Common,Common,Common,Wild5_M
6_1=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,Wild5_M
6_2=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
6_3=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
6_4=Mountain,No_Fill,Uncommon,Uncommon,Uncommon,V15_M
6_5=Desert,No_Fill,Uncommon,Uncommon,Uncommon,V15_D
Trudno mi jest tutaj wyjaśniać co oznaczają wartości linijek typu 6_0 itd ale to nieistotne w tej chwili. Na ten temat jest na stronie TeamX dokument który to objaśnia.
W tym momencie interesuje nas jak dopisać pozostałe Tilesy, bo robimy większą worldmapę niż jest oryginalan i mamy tych Tilesów więcej niż 20.
W naszym przykłądzie mamy ich 30 (robimy worldmapę o rozmiarze 1750x1800).
Tak więc na razie kopiujemy sobie ostatni blok z pliku worldmap.txt (ten właśnie co nieco wyżej przedstawiłem). To co wytłuszczoną czcionką zaznaczyłem zmieniamy kolejno
(…)
na
[Tile 20]
art_idx=469
itd.
Zauważcie , że numer art._idx zwiększy się o jeden i my zaczniemy numerowac nasze dodadtkowe Tilesy od 469 aż do 479 (czyli o te 10 więcej, które nam wynika z róznicy 30 naszych Tilesów minus 20 oryginalnie w Falloucie).
Pozostałe linijki w każdym bloku określają częstotliwośc wystąpienia róznych random encounterów ale to jak już wyżej napisałem jest lepeij opisane w dokumentacji, którą znajdziecie na stronie TeamX.
Pozostaje jeszcze sprawa ustawienia, żeby nie dało się wejść do oceanu podczas naszej wędrówki po wastelandzie.
Zrobione to jest z pomocą plików z rozszerzeniem msk, ale o tym napiszę kiedy indziej, a co bardziej niecierpliwi mogą spróbowac poszukać w FAQ moderskim na forum NMA.
I w zasadzie to na dzisiaj tyle.
Cdn.
23-01-2006
Cubik
TolekBananas