PL:BuildingMaps

From The Battle for Wesnoth Wiki

Ostatnia edycja: 16:42, 30 August 2006 (CEST)

Ta strona jeszcze nie jest w pełni przetłumaczona.
Przedstawiać się nie będę, jak chcesz pogadać to jestem na forum pod tym samym nickiem. Zajrzałem z ciekawości, żeby zobaczyć jak ci idzie i chyba jednak potrzebujesz pomocy. A napewno kogoś do redakcji tego co przetłumaczyłeś. Wszelkie wtrącenia mojego autorstwa będą w tym kolorze, chcesz wykorzystasz, nie chcesz usuniesz. Mist

Oto wszystko, co musisz wiedzieć o mapach:

  1. Mapa to tylko trochę literek w formie trójkąta.
  2. Są dwie metody robienia z nich plike.

A teraz do detali:

Oto wszystko co potrzebujesz wiedzieć o mapach:

  1. Każda z nich to tylko grupa liter ułożonych w prostokąt
  2. Istnieją dwa sposoby, żeby zapisać je w pliku
A na poważnie, oto szczegóły


Format mapy Wesnoth

Formatu tego używamy aby opisać mapy.

  • Plik mapy może zawierać dowolną liczbę wierszy, z których każdy ma tyle samo znaków.
  • Każdy znak musi albo być przypisany określonemu terenowi (patrz Litery Terenu w WML (en)), albo cyfrze.
  • Kiedy plik jest wykorzystywany przez grę, każda litera będzie zastapiona określanym przez nią terenem.
  • Każda niezerowa cyfra (np. 1, 2, 3,...) będzie zastąpiona przez Keep, na którym będzie umieszczony lider odpowiedniej strony.

Ponieważ znaki w plikaach tekstowych są prostokątne, zaś pola w grze sześciokątne, część z pół musi być przesunięta. Pola w kolumnach even, w grze są przesunięte o pół heksa w dół. Aby więc otrzymać drogę z połączonych pól typu dirt, musisz stworzyć taki plik:

rrgggggg
ggrrgggg
ggggrrgg
ggggggrr
Dane map są wykorzystywane do reprezentowania plansz Wesnoth. Ich kodowanie ma określony format:
  • Plik z danymi składa się z dowolnej liczby wierszy o tej samej ilości znaków.
  • Znak musi być albo literą reprezentującą określony teren, wymienioną w kluczu (patrz Spis liter terenu (en)), albo cyfrą.
  • Podczas przetwarzania pliku, każdy znak zostanie zastąpiony terenem do którego się odnosi.
  • Każda cyfra rózna od zera zostanie zastąpiona przez twierdzę z umieszczonym na niej przywódcą frakcji.

Ponieważ polem w pliku jest kwadrat a w grze heks podczas przetwarzania niektóre pola muszą zostać przesunięte. Pola w kolumnach parzystych są przesuwane o 1/2 w dół w efekcie dając quasiheksagonalną siatkę. Naprzykład aby stworzyć drogę z połaczonych ze sobą heksów ziemi dane mapy powinny wyglądać następująco :

rrgggggg
ggrrgggg
ggggrrgg
ggggggrr

(Tylko wersja 1.3 i nowsze) (en) Format mapy w wersji 1.3 uległ zmianie, poniższy opis dotyczy tylko tej wersji i zapewne późniejszych.

Dane mapy są wykorzystywane do reprezenacji plansz w Wesnoth. Kodowanie ma określony format:

  • Plik z danymi mapy składa się z dowolnej ilości wierszy z taką samą liczbą łańcuchów.
  • Każdy łańcuch musi być jednym z wymienionych w kluczu określającym teren (patrz Spis liter terenu (en)).
  • Łańcuchy mogą być wyrównywane spacjami lub tabulaturą i muszą być oddzielone przecinkiem, za wyjątkiem ostatniego, który przecinka mieć nie może.
  • Podczas przetwarzania pliku każdy łańcuch zostanie zastąpiony terenem, do którego się odnosi.
  • Puste linie są dozwolone zarówno przed, po jak i pomiędzy wierszami znaków, choć to ostatnie jest odradzane.
  • Tereny mogą być poprzedzone liczbą, po której następuje jedna spacja. Określa ona początkową pozycję przywódcy frakcji n ( 1<n<9 większa ilość może działać ale opcja ta jest nieprzetestowana i prawdopodobnie nieobsługiwana przez inne elementy programu ). Pole to nie stanie się automatycznie twierdzą (zmiana w stosunku do poprzedniej wersji).

Doradza się wyrównywanie za pomocą spacji tak by każda kolumna była tej samej szerokości; gra robi to automatycznie zapisując plik mapy.

Ponieważ polem w pliku jest prostokąt a w grze heks, podczas przetwarzania niektóre pola muszą zostać przesunięte. Pola w kolumnach parzystych są przesuwane o 1/2 w dół w efekcie dając quasiheksagonalną siatkę. Naprzykład, aby stworzyć drogę z połaczonych ze sobą heksów ziemi dane mapy powinny wyglądać następująco:

Re, Re, Gg, Gg, Gg, Gg, Gg, Gg
Gg, Gg, Re, Re, Gg, Gg, Gg, Gg
Gg, Gg, Gg, Gg, Re, Re, Gg, Gg
Gg, Gg, Gg, Gg, Gg, Gg, Re, Re

Tworzenie mapy

To nie Matrix, a zatem nie musisz bawić się bezpośrednio z plikiem tekstowym. Do większości wersji gry dołączony jest edytor map. Jeżeli kompilujesz z źródła, pamiętaj aby dodać --enable--editor po komendzie configure, albo edytor nie zostanie skompilowany. Używanie edytora nie powinno sprawić Ci najmniejszego kłopotu, biorąc pod uwagę opinie początkujących mapmakerów. Jednak jeśli napotkasz jakieś problemy, o pomoc spytaj na forum (en).

Gdy mapa jest już gotowa, możesz uznać, że drobne poprawki łatwiej nanieśc poprzez edytor tekstu.

Tworzenie dobrze zbalansowanej i interesującej mapy to jednak o wiele poważniejsza sprawa.

Wykorzystywanie mapy

Plik z mapą może być wykorzystany na kilka sposobów:

  1. Może być użyty jako argument dla map_data (patrz WML Scenariusza (en)).
  2. Pliki zawierające jedynie dane mapy, mogą być łatwo edytowane z Edytorem Map Wesnoth (en).
    • Pliki w folderze userdata/editor/maps/, o ile zawierają jedynie dane mapy, mogą być używane w trybie Multiplayer.

Klucz map_data

Każdy scenariusz kampanii zaczyna się od tagu [scenario], zaś scenariusz MP od tagu [multiplayer]. Obydwa używają klucza map_data. Jego wartość, to dane mapy zamknięte w cudzysłowiu. Oto przykład:

       map_data="111111111111111111"

Samodzielna mapa

Inna metoda użycia mapy, to zapisanie jej w pliku tekstowym, który zawiera jedynie dane mapy. Zaleta tej metody jest oczywista: jeśli zapiszesz mapę w ten sposób w katalogu userdata/editor/maps/, gra sama automatycznie umieści ją na liście map MP. Poza tym taki plik może być argumentem dla klucza map_data. Przykład:

map_data="{@editor/map_filename}"

W takim wypadku mapą do scenariusza będzie mapa filename w katalogu edytora.

Scenariusz czy Samodzielna Mapa?

Twórcy kampanii potrzebują scenariuszy, więc kampanie zawsze będą używać map_data, z argumentem albo danych mapy, albo wskaźnika do pliku.

W odróżnieniu do nich, twórcy map MP mają wybór. Jeśli chcesz umieścić obiekt albo jednostkę na mapie, musisz stworzyć scenariusz zaczynający się od tagu [multiplayer] zawierającego klucz map_data. Tracisz co prawda prostotę czystego pliku z mapą, ale uzyskujesz poważne narzędzie. Możesz nie tylko dodawać jednostki i obiekty, ale również narzucać sojusze, ustalać doświadczenie, modyfikatory, opis mapy i wszelkie zdarzenia.
The question, "How do I place an object on the map with the map editor" is such a common question that I am sorry this information is buried so deeply here. But, now that you know you can seek out an example of a multiplayer map scenario file to use as an example. The game comes with many maps of each type. Check out BuildingMultiplayer for more information.

Zobacz też

This page was last edited on 15 March 2007, at 08:54.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.