PL:BuildingMaps: Difference between revisions

From The Battle for Wesnoth Wiki
Kshinji (talk | contribs)
No edit summary
 
(13 intermediate revisions by 4 users not shown)
Line 1: Line 1:
Ostatnia edycja: 16:42, 30 August 2006 (CEST)
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 niezerowa cyfra (np. ''1, 2, 3,...'') 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 są 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 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
  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 drobne poprawki łatwiej nanieśc 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 o wiele 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.
Cookies help us deliver our services. By using our services, you agree to our use of cookies.