Difference between revisions of "PL:BuildingMaps"

From The Battle for Wesnoth Wiki
(Finished. To be proofreaded.)
Line 1: Line 1:
 
Ostatnia edycja: 10:51, 15 March 2007 (CET)
 
Ostatnia edycja: 10:51, 15 March 2007 (CET)
 
{{tpl}}
 
{{tpl}}
<div style="color:lightblue">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</div>
 
 
Oto wszystko, co musisz wiedzieć o mapach:
 
:#Mapa to tylko trochę literek w formie trójkąta.
 
:#Są dwie metody robienia z nich plike.
 
A teraz do detali:
 
<div style="color:lightblue">
 
  
 
Oto wszystko co potrzebujesz wiedzieć o mapach:
 
Oto wszystko co potrzebujesz wiedzieć o mapach:
 
:#Każda z nich to tylko grupa liter ułożonych w prostokąt
 
:#Każda z nich to tylko grupa liter ułożonych w prostokąt
 
:#Istnieją dwa sposoby, żeby zapisać je w pliku
 
:#Istnieją dwa sposoby, żeby zapisać je w pliku
A na poważnie, oto szczegóły</div>
+
A na poważnie, oto szczegóły
 
 
  
 
== Format mapy Wesnoth ==
 
== Format mapy Wesnoth ==
  
Formatu tego używamy aby opisać mapy.
+
Dane map są wykorzystywane do reprezentowania plansz Wesnoth. Ich kodowanie ma określony format:
 
 
* 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 [[TerrainLettersWML|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
 
 
 
<div style="color:lightblue">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.
 
* Plik z danymi składa się z dowolnej liczby wierszy o tej samej ilości znaków.
Line 66: Line 43:
 
  Gg, Gg, Gg, Gg, Re, Re, Gg, Gg
 
  Gg, Gg, Gg, Gg, Re, Re, Gg, Gg
 
  Gg, Gg, Gg, Gg, Gg, Gg, Re, Re
 
  Gg, Gg, Gg, Gg, Gg, Gg, Re, Re
 
</div>
 
  
 
== Tworzenie mapy ==
 
== 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 [http://www.wesnoth.org/forum 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.
 
 
<div style="color:lightblue">
 
 
To nie jest Matrix, nie musisz oglądać zakodowanych map. Kod źródłowy i większoś oficjalnych dystrybucji zawiera edytor z graficznym interfejsem. Kompilując źródła pamiętaj o opcji ''--enable-editor'' przy konfiguracji, w przeciwnym wypadku nie zostanie on dołączony. Jego obsługa, sądząc po opiniach początkujących twórców, jest raczej prosta, ale gdybyś miał jakieś problemy ze znalezieniem lub pracą poproś o pomoc na [http://www.wesnoth.org/forum forum].
 
To nie jest Matrix, nie musisz oglądać zakodowanych map. Kod źródłowy i większoś oficjalnych dystrybucji zawiera edytor z graficznym interfejsem. Kompilując źródła pamiętaj o opcji ''--enable-editor'' przy konfiguracji, w przeciwnym wypadku nie zostanie on dołączony. Jego obsługa, sądząc po opiniach początkujących twórców, jest raczej prosta, ale gdybyś miał jakieś problemy ze znalezieniem lub pracą poproś o pomoc na [http://www.wesnoth.org/forum forum].
  
Line 83: Line 51:
  
 
Tworzenie dobrych, zbalansowanych, ciekawych map jest zadaniem trudnym i jesli ktoś chciałby się podzielić wskazówkami odnośnie tej sztuki, bardzo prosimy.
 
Tworzenie dobrych, zbalansowanych, ciekawych map jest zadaniem trudnym i jesli ktoś chciałby się podzielić wskazówkami odnośnie tej sztuki, bardzo prosimy.
</div>
 
  
 
== Wykorzystywanie danych mapy ==
 
== Wykorzystywanie danych mapy ==
  
Plik z mapą może być wykorzystany na kilka sposobów:
 
# Może być użyty jako argument dla ''map_data'' (patrz [[ScenarioWML|WML Scenariusza (''en'')]]).
 
# Pliki zawierające jedynie dane mapy, mogą być łatwo edytowane z [[WesnothMapEditor|Edytorem Map Wesnoth (''en'')]].
 
#* Pliki w folderze '''''userdata''/editor/maps/''', o ile zawierają jedynie dane mapy, mogą być używane w trybie ''Multiplayer''.
 
 
<div style="color:lightblue">
 
 
Dane mapy wykorzystywane są na dwa sposoby
 
Dane mapy wykorzystywane są na dwa sposoby
 
# Jako argument dla klucza ''map_data'' (patrz [[ScenarioWML|WML (Scenariusz) (''en'')]]).
 
# Jako argument dla klucza ''map_data'' (patrz [[ScenarioWML|WML (Scenariusz) (''en'')]]).
 
# Jako plik składający się wyłącznie z tych danych, bez trudności odczytywany przez [[WesnothMapEditor|Edytor Map]].
 
# Jako plik składający się wyłącznie z tych danych, bez trudności odczytywany przez [[WesnothMapEditor|Edytor Map]].
 
#* Pliki w katalogu '''''userdata''/editor/maps/''' zawierajace tylko dane mapy mogą być wykorzystywane w grze wieloosobowej jako mapy użytkownika.
 
#* Pliki w katalogu '''''userdata''/editor/maps/''' zawierajace tylko dane mapy mogą być wykorzystywane w grze wieloosobowej jako mapy użytkownika.
</div>
 
  
 
==== Klucz '''map_data''' ====
 
==== 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"
 
 
<div style="color:lightblue">
 
 
Pierwszym sposobem na wykorzystanie danych jest użycie klucza map_data. Scenarusze kampanii zaczynają się tagiem '''[scenario]''' a te do gry wieloosobowej tagiem '''[multiplayer]''', każdy z nich akceptuje klucz ''map_data'', którego wartością są dane mapy ujęte w cudzysłów. Przykład:
 
Pierwszym sposobem na wykorzystanie danych jest użycie klucza map_data. Scenarusze kampanii zaczynają się tagiem '''[scenario]''' a te do gry wieloosobowej tagiem '''[multiplayer]''', każdy z nich akceptuje klucz ''map_data'', którego wartością są dane mapy ujęte w cudzysłów. Przykład:
 
         map_data="111111111111111111"
 
         map_data="111111111111111111"
</div>
 
  
 
==== Samodzielny plik mapy ====
 
==== Samodzielny plik mapy ====
Line 114: Line 69:
 
  map_data="{@editor/''map_filename''}"
 
  map_data="{@editor/''map_filename''}"
 
W takim wypadku mapą do scenariusza będzie mapa ''filename'' w katalogu edytora.
 
W takim wypadku mapą do scenariusza będzie mapa ''filename'' w katalogu edytora.
 
<div style="color:lightblue">
 
Drugim sposobem jest zapisanie mapy w pliku tekstowym zawierającym ''tylko'' dane mapy. Ma to jedną zaletę, jeśli umieścisz ten plik w katalogu '''''userdata''/editor/maps/''' będzie on automatycznie dostępny w trybie dla wielu graczy. Metoda ta działa też dla bardziej złożonych scenariuszy, jeśli plik takiego scenariusza zawiera wiersz podobny do poniższego:
 
map_data="{@editor/''map_filename''}"
 
to wszystkie dane zostaną wstawione pomiędzy znaki cudzysłowu.
 
</div>
 
  
 
== Plik Scenariusza czy Samodzielny Plik Mapy? ==
 
== Plik Scenariusza czy Samodzielny Plik Mapy? ==
  
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. <div style="color:green">'''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.'''</div>
 
 
<div style="color:lightblue">
 
 
Autorzy kampanii nie mogą stworzyć nic bez scenariuszy, więc będą one zawsze korzystały z klucza ''map_data'' z surowymi danymi ujętymi w cudzysłów, albo symbolem preprocesora {} wskazującym na samodzielny plik z mapą.
 
Autorzy kampanii nie mogą stworzyć nic bez scenariuszy, więc będą one zawsze korzystały z klucza ''map_data'' z surowymi danymi ujętymi w cudzysłów, albo symbolem preprocesora {} wskazującym na samodzielny plik z mapą.
  
 
Jednak autorzy map wieloosobowych '''mają wybór'''. Jeśli chcą umiescić obiekt lub jednostkę na mapie, muszą stworzyć plik scenariusza rozpoczynający się tagiem '''[multiplayer]''' zawierającym klucz ''map_data'', tracąc w ten sposób prostotę samodzielnego pliku z mapą, ale zyskując olbrzymie możliwości. Mogą nie tylko dodawac przedmioty i jednostki, ale także ustawiac sojusze, modyfikatory doświadczenia, opisy mapy i wydarzenia losowe (a także wiele innych). Pytanie "Jak umieści obiekt na mapie za pomocą edytora?" pada bardzo często, narazie nie można, ale można sprawdzić jak zrobiono to w już istniejących scenariuszach.
 
Jednak autorzy map wieloosobowych '''mają wybór'''. Jeśli chcą umiescić obiekt lub jednostkę na mapie, muszą stworzyć plik scenariusza rozpoczynający się tagiem '''[multiplayer]''' zawierającym klucz ''map_data'', tracąc w ten sposób prostotę samodzielnego pliku z mapą, ale zyskując olbrzymie możliwości. Mogą nie tylko dodawac przedmioty i jednostki, ale także ustawiac sojusze, modyfikatory doświadczenia, opisy mapy i wydarzenia losowe (a także wiele innych). Pytanie "Jak umieści obiekt na mapie za pomocą edytora?" pada bardzo często, narazie nie można, ale można sprawdzić jak zrobiono to w już istniejących scenariuszach.
</div>
 
  
 
== Zobacz też ==
 
== Zobacz też ==
  
* [[PL:Create|Tworzenie (''pl'')]]
 
* [[ScenarioWML|WML Scenariusza]]
 
* [[ReferenceWML|Informator WML]]
 
 
<div style="color:lightblue">
 
 
* [[PL:Create|Tworzenie (''pl'')]]
 
* [[PL:Create|Tworzenie (''pl'')]]
 
* [[ScenarioWML|WML (Scenariusz) (''en'')]]
 
* [[ScenarioWML|WML (Scenariusz) (''en'')]]
 
* [[ReferenceWML|WML (Spis komend) (''en'')]]
 
* [[ReferenceWML|WML (Spis komend) (''en'')]]
</div>
 
  
 
{{Create}}
 
{{Create}}

Revision as of 00:24, 16 March 2007

Ostatnia edycja: 10:51, 15 March 2007 (CET)

Ta strona jeszcze nie jest w pełni przetłumaczona.

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

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 jest Matrix, nie musisz oglądać zakodowanych map. Kod źródłowy i większoś oficjalnych dystrybucji zawiera edytor z graficznym interfejsem. Kompilując źródła pamiętaj o opcji --enable-editor przy konfiguracji, w przeciwnym wypadku nie zostanie on dołączony. Jego obsługa, sądząc po opiniach początkujących twórców, jest raczej prosta, ale gdybyś miał jakieś problemy ze znalezieniem lub pracą poproś o pomoc na forum.

Po utworzeniu mapy może ci jednak być łatwiej wprowadzać drobne zmiany bezpośrednio w danych tekstowych.

Tworzenie dobrych, zbalansowanych, ciekawych map jest zadaniem trudnym i jesli ktoś chciałby się podzielić wskazówkami odnośnie tej sztuki, bardzo prosimy.

Wykorzystywanie danych mapy

Dane mapy wykorzystywane są na dwa sposoby

  1. Jako argument dla klucza map_data (patrz WML (Scenariusz) (en)).
  2. Jako plik składający się wyłącznie z tych danych, bez trudności odczytywany przez Edytor Map.
    • Pliki w katalogu userdata/editor/maps/ zawierajace tylko dane mapy mogą być wykorzystywane w grze wieloosobowej jako mapy użytkownika.

Klucz map_data

Pierwszym sposobem na wykorzystanie danych jest użycie klucza map_data. Scenarusze kampanii zaczynają się tagiem [scenario] a te do gry wieloosobowej tagiem [multiplayer], każdy z nich akceptuje klucz map_data, którego wartością są dane mapy ujęte w cudzysłów. Przykład:

       map_data="111111111111111111"

Samodzielny plik mapy

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.

Plik Scenariusza czy Samodzielny Plik Mapy?

Autorzy kampanii nie mogą stworzyć nic bez scenariuszy, więc będą one zawsze korzystały z klucza map_data z surowymi danymi ujętymi w cudzysłów, albo symbolem preprocesora {} wskazującym na samodzielny plik z mapą.

Jednak autorzy map wieloosobowych mają wybór. Jeśli chcą umiescić obiekt lub jednostkę na mapie, muszą stworzyć plik scenariusza rozpoczynający się tagiem [multiplayer] zawierającym klucz map_data, tracąc w ten sposób prostotę samodzielnego pliku z mapą, ale zyskując olbrzymie możliwości. Mogą nie tylko dodawac przedmioty i jednostki, ale także ustawiac sojusze, modyfikatory doświadczenia, opisy mapy i wydarzenia losowe (a także wiele innych). Pytanie "Jak umieści obiekt na mapie za pomocą edytora?" pada bardzo często, narazie nie można, ale można sprawdzić jak zrobiono to w już istniejących scenariuszach.

Zobacz też