Difference between revisions of "PL:BuildingMaps"

From The Battle for Wesnoth Wiki
(main translation)
 
(Wykorzystywanie danych mapy)
 
(16 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Ostatnia edycja: [[User:Kshinji|Kshinji]]
+
Ostatnia edycja: 10:51, 15 March 2007 (CET)
 
{{tpl}}
 
{{tpl}}
Oto wszystko, co musisz wiedzieć o mapach:
+
 
:#Mapa to tylko trochę literek w formie trójkąta.
+
Oto wszystko co potrzebujesz wiedzieć o mapach:
:#Są dwie metody robienia z nich plike.
+
:#Każda z nich to tylko grupa liter ułożonych w prostokąt
A teraz do detali:
+
:#Istnieją dwa sposoby, żeby zapisać je w pliku
 +
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.
+
* Plik z danymi składa się z dowolnej liczby wierszy o tej samej ilości znaków.
* Każdy znak musi albo być przypisany określonemu terenowi (patrz [[TerrainLettersWML|Litery Terenu w WML (''en'')]]), albo cyfrze.
+
* Znak musi być albo literą reprezentującą określony teren, wymienioną w kluczu (patrz [[TerrainCodesWML|Spis liter terenu (''en'')]]), albo cyfrą.
* Kiedy plik jest wykorzystywany przez grę, każda litera będzie zastapiona określanym przez nią terenem.
+
* Podczas przetwarzania pliku, każdy znak zostanie zastąpiony terenem do którego się odnosi.
* Każda cyfra będzie zastąpiona przez '''Keep''', na którym będzie umieszczony lider odpowiedniej strony.
+
* Każda cyfra rózna od zera zostanie zastąpiona przez twierdzę z umieszczonym na niej przywódcą frakcji.
  
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 przesunięte o pół heksa w dół. Aby więc otrzymać drogę z połączonych pól typu ''dirt'', musisz stworzyć taki plik:
+
Ponieważ polem w pliku jest kwadrat a w grze heks podczas przetwarzania niektóre pola muszą zostać przesunięte. Pola w kolumnach parzystych 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
 
  rrgggggg
Line 21: Line 22:
 
  ggggrrgg
 
  ggggrrgg
 
  ggggggrr
 
  ggggggrr
 +
 +
'''''[[(SVN terrain only)|(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 [[TerrainLettersWML|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 ==
 
== 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'')].
+
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].
  
Gdy mapa jest już gotowa, możesz uznać, że dorbne poprawki łatwei jnanieś poprzez edytor tekstu.  
+
Po utworzeniu mapy może ci jednak być łatwiej wprowadzać drobne zmiany bezpośrednio w danych tekstowych.
  
Tworzenie dobrze zbalansowanej i interesującej mapy to jednak poważniejsza sprawa.
+
Tworzenie dobrych, zbalansowanych, ciekawych map jest zadaniem trudnym i jesli ktoś chciałby się podzielić wskazówkami odnośnie tej sztuki, bardzo prosimy.
  
== Wykorzystywanie mapy ==
+
== Wykorzystywanie danych mapy ==
  
Plik z mapą może być wykorzystany na kilka sposobów:
+
Dane mapy wykorzystywane są na dwa sposoby
# Może być użyty jako argument dla ''map_data'' (patrz [[ScenarioWML|WML Scenariusza (''en'')]]).
+
# Jako argument dla klucza ''map_data'' (patrz [[ScenarioWML|WML (Scenariusz) (''en'')]]).
# Pliki zawierające jedynie dane mapy, mogą być łatwo edytowane z [[WesnothMapEditor|Edytorem Map Wesnoth (''en'')]].
+
#* Pliki w katalogu '''''userdata''/editor/maps/''' zawierajace tylko dane mapy mogą być wykorzystywane w grze wieloosobowej jako mapy użytkownika.
#* Pliki w folderze '''''userdata''/editor/maps/''', o ile zawierają jedynie dane mapy, mogą być używane w trybie ''Multiplayer''.
 
  
 
==== 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:
+
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"
  
==== Samodzielna mapa ====
+
==== 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:
 
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:
Line 48: Line 69:
 
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.
  
== Discussion: Scenario File vs Standalone ==
+
== 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.
+
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ą.
  
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>
+
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ż ==
 
== Zobacz też ==
  
 
* [[PL:Create|Tworzenie (''pl'')]]
 
* [[PL:Create|Tworzenie (''pl'')]]
* [[ScenarioWML|WML Scenariusza]]
+
* [[ScenarioWML|WML (Scenariusz) (''en'')]]
* [[ReferenceWML|Informator WML]]
+
* [[ReferenceWML|WML (Spis komend) (''en'')]]
  
{{Create}}
+
[[Category:Polish]]

Latest revision as of 08:15, 20 February 2014

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)).
    • 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ż

This page was last edited on 20 February 2014, at 08:15.