Mapy
Przede wszystkim trzeba znaµ najwa┐niejsze: zasadΩ 'dzia│ania' ╢wiata Half-Life'a (czyli r≤wnie┐ wszystkich Quake'≤w). Podstawow▒ jednostk▒ 'o┐ywion▒' (tak▒, kt≤ra potrafi co kolwiek opr≤cz zwyk│ego istnienia) jest byt (ang. entity). Wszyscy przeciwnicy, wszystkie drzwi, szyby, skrzynie, wszystkie znajdowane na ziemi bronie i przedmioty s▒ oczywi╢cie bytami.
Byty mog▒ posiadaµ jak▒╢ postaµ, dziΩki czemu widzimy je w grze. Bytom postaciowym s▒ przypisywane w czasie tworzenia mapy solidy (jak np. drzwi, szyby, woda - s▒ to tzw. 'solid entities') lub maj▒ one swoje zobrazowanie w postaci modeli z PAKa (pliki .mdl) - s▒ nimi m.in. przeciwnicy, bronie.
Byty bezpostaciowe s▒ niewidoczne w czasie gry, ale mo┐emy zaobserwowaµ skutki ich dzia│ania. Na przyk│ad umieszczenie w mapie bytu env_sound nie spowoduje, ┐e w grze zobaczymy w tym┐e miejscu g│o╢nik, ale bΩdziemy s│yszeµ d╝wiΩki dochodz▒ce w│a╢nie z tego miejsca.
Wbrew pozorom stworzonym przez ten kr≤tki opis wa┐niejszy jest podzia│ na byty solidowe i niesolidowe, a nie na postaciowe i bezpostaciowe.
Solid (Brush) jest podstawow▒ jednostk▒ budulcow▒ przy tworzeniu mapy. Zaczynamy zawsze od stworzenia pierwszych ╢cian mapy bΩd▒cych w│a╢nie solidami. Solidy nie potrafi▒ nic opr≤cz istnienia - ╢wietnie nadaj▒ siΩ na bezmy╢ln▒ ╢cianΩ :)
- Przede wszystkim edytor map! (co chyba nie jest dla nikogo zaskoczeniem). Dwa najpopularniejsze edytory bΩdzie lub ju┐ mo┐na pobraµ z naszego serwisu.
- Poza tym, programy kompiluj▒ce (s▒ razem z wersj▒ 2.0 WorldCrafta na p│ycie z Half-Life'em).
- Ci, kt≤rzy bΩd▒ chcieli dodawaµ do map swoje w│asne tekstury, bΩd▒ musieli posi▒╢µ edytor plik≤w .wad i jaki╢ program do obr≤bki grafiki 2D. Bardzo wygodny jest Adobe Photoshop, niekt≤rzy preferuj▒ Paintshop Pro, ale mo┐na u┐ywaµ nawet windowsowego MS Paint.
Tutorial jest rodzajem pomocy, kt≤ra ma nauczyµ u┐ytkownika danej czynno╢ci od podstaw, a najlepszym edytorem map Half-Life'a dla pocz▒tkuj▒cych jest WorldCraft (sam od niego zaczyna│em i wci▒┐ z niego korzystam). Dlatego tutorial bΩdzie przede wszystkim dotyczy│ tworzenia map w tym w│a╢nie programie.
Prawdopodobnie wszystkie edytory map nowszych gier posiadaj▒ uk│ad czterech okien widokowych (przez nowsze gry rozumiem gry nowszej generacji na engine'ach tr≤jwymiarowych, a nie na sprite'owych, jak Duke Nukem 3D czy Doom). Je╢li edytor nie ma czterech okien widokowych (tzw. viewport≤w), to najprawdopodobniej mo┐na taki uk│ad w│▒czyµ w opcjach, co gor▒co polecam. Trzy widoki to rzut X, Y i Z, natomiast czwarty to 3D.
Opr≤cz viewport≤w na pewno gdzie╢ z boku znajduje siΩ r≤wnie┐ pasek z narzΩdziami do tworzenia element≤w mapy. BΩd▒, pewnie, tak┐e paski dodatkowe, charakterystyczne dla r≤┐nych program≤w.
Po zainstalowaniu programu, przy pierwszym jego uruchomieniu wy╢wietli siΩ okno
konfiguracyjne programu. Konieczne jest podanie pewnych informacji, bez kt≤rych program nie
mo┐e stworzyµ ┐adnej mapy.
Pierwsza zak│adka 'General' mo┐e w│a╢ciwie zostaµ pominiΩta. S▒ tam rzeczy niekonieczne
do prawid│owego dzia│ania programu. Nale┐y prze│▒czyµ od razu na zak│▒dkΩ 'Game
Configurations', gdzie najpierw musimy podaµ ╢cie┐kΩ dostΩpu do pliku FGD. Plik ten jest na
pewno w katakogu naszego edytora (np. c:\program files\worldcraft3\halflife.fgd). Kolejne
dwa pola zawieraj▒ listΩ u┐ywanych tekstur i rodzaj mapy, ale do wyboru i tak mamy tylko po
jednym sk│adniku :), wiΩc to te┐ mo┐na opu╢ciµ. 'Default PointEntity class' i 'Default
SolidEntity class' s│u┐▒ do wybrania z listy u┐ywanego domy╢lnie po utworzeniu nowej mapy i
wybraniu narzΩdzia bytu punktowego (niesolidowego) oraz solidowego. Mo┐na zostawiµ to, co
jest ju┐ wybrane. Dalej trzeba podaµ ╢cie┐kΩ do pliku wykonawczego gry - hl.exe (np.
c:\sierra\half-life\hl.exe), dalej wpisujemy ╢cie┐kΩ katalogu MODa, je╢li go zamierzamy
tworzyµ, po╝niej ╢cie┐kΩ gry (chodzi o podkatalog \valve, np. c:\sierra\half-life\valve) i
na koniec podajemy katalog, w kt≤rym bΩd▒ zapisywane pliki RMF (nasze nowostworzone mapy).
Zak│adka 'Build Programs'. Build Programs to nic innego, jak kompilatory (ka┐da mapa musi
zostaµ skompilowana, zanim zostanie uruchomiona w grze). Trzeba tu podaµ ╢cie┐ki do
czterech program≤w.
Najpierw wybieramy w oknie 'Configuration' nasz▒ wcze╢niej zapisan▒ w zak│adce 'Game
Configurations' konfiguracjΩ, p≤╝niej wpisujemy w poni┐szych oknach ╢cie┐ki do kompilator≤w.
Oto kolejne przyporz▒dkowania w poszczeg≤lnych wierszach:
Game executable:
np. c:\sierra\half-life\hl.exe
CSG executable:
np. c:\program files\worldcraft3\qcsg.exe
BSP executable:
np. c:\program files\worldcraft3\qbsp2.exe
VIS executable:
np. c:\program files\worldcraft3\vis.exe
RAD executable:
np. c:\program files\worldcraft3\qrad.exe
W 'Placed compiled maps...' nale┐y podaµ katalog, w kt≤rym zostanie umieszczona nasza mapa
przed uruchomieniem gry (np. c:\sierra\half-life\valve\maps
Ostatni▒ konieczn▒ rzecz▒ jest uzupe│nienie zak│adki 'Textures'. Nale┐y klikn▒µ 'Add WAD'
i podaµ ╢cie┐kΩ dostΩpu do pliku WAD (zawieraj▒cego tekstury gry), kt≤rego mamy zamiar u┐yµ
w obecnie tworzonej mapie. Najlepiej wybraµ najbardziej uniwersalny plik halflife.wad
(przyk│adowa ╢cie┐ka: c:\sierra\half-life\valve\halflife.wad). Mo┐na, oczywi╢cie, dodaµ
wiΩcej plik≤w. Aby usun▒µ plik nale┐y klikn▒µ 'Remove' i ponownie uruchomiµ program.
Pozosta│e ustawienia w zak│adkach '2D views' i '3D views' mo┐na ju┐ sobie
ustawiaµ wed│ug upodoba± i potrzeb, wiΩc nie bΩdΩ ich opisywa│.
Po wybraniu w menu 'File' polecenia 'New' uruchomi siΩ okno z nasz▒ pierwsz▒ map▒. W tej
chwili mapa jest zupe│nie pusta (edytor QuArK w przeciwie±stwie do WC pierwsze 'cztery ╢ciany' tworzy za nas sam). Aby rozpocz▒µ budowΩ mapy stworzymy pierwsz▒ bry│Ω. Nale┐y
wybraµ na pasku narzΩdzi 'Block Tool' albo wcisn▒µ Shift+B.
Pasek narzΩdzi
|
NarzΩdzie 'Block tool'
|
|
|
Teraz nale┐y narysowaµ prostok▒t o ┐▒danym rozmiarze w jednym z widok≤w 2D. Wysoko╢µ i
szeroko╢µ mo┐na poprawiµ w pozosta│ych widokach (wysoko╢µ gracza to 80 jednostek, szeroko╢µ
to 32 - jednostki szeroko╢ci siatki, jak i inne dane, s▒ wy╢wietlone na samym dole okna
programu). Bry│a jeszcze nie powsta│a, widaµ tylko jej kontury. Aby zaistnia│a, nale┐y
wcisn▒µ klawisz 'Enter' (w konfiguracji mo┐na zaznaczyµ, aby bry│y powstawa│y od razu po
narysowaniu kontur). W│a╢nie zosta│ stworzony pierwszy 'Solid'. Z takich w│a╢nie kawa│k≤w
(jako ╢ciany mapy) powinna byµ zbudowana mapa.
Kontury pierwszego solidu
|
Utworzony solid
|
|
|
Nadamy teraz bryle odpowiedni kszta│t. Kliknij 'Selection tool' (taka strza│ka na pasku
narzΩdzi) albo wci╢nij Shift+S. Kliknij w sam ╢rodek solidu (tam, gdzie jest krzy┐yk
wyznaczaj▒cy centrum) albo na krawΩdzi. DziΩki temu mo┐na zmieniaµ rozmiar solidu.
ChcΩ, aby nasz prostopad│o╢cian by│ pomieszczeniem wielko╢ci du┐ego gara┐u. Czyli... d│ugo╢µ
(widok 'side x/z') bΩdzie wynosi│a ok. 768 jednostek, szeroko╢µ (viewport 'top x/y') bΩdzie mia│a 512 jednostek, wysoko╢µ (viewport 'front y/z') - 256j.
NarzΩdzie 'Selection tool'
|
|
Aby pomieszczenie by│o pomieszczeniem, musi byµ w ╢rodku puste. Trzeba znowu┐ zaznaczyµ nasz solid (je╢li nie jest zaznaczony) i klikn▒µ na nim prawym klawiszem myszy. Z otworzonego menu wybierz polecenie 'Hollow'. Wy╢wietli siΩ okno z pytaniem o grubo╢µ ╢cian. Wpiszmy 16 (czyli grubo╢µ szesnastu jednostek). Mamy ju┐ gotowe pomieszczenie.
U┐ycie 'Hollow'
|
Puste pomiszczenie
|
|
|
Nie mo┐na jeszcze w tej chwili przetestowaµ mapy, poniewa┐ gra nie bΩdzie wiedzia│a, w kt≤rym miejscu ma umie╢ciµ gracza po uruchomieniu mapy. Poza tym w mapie zupe│nie nie ma ╢wiat│a, wiΩc i tak nic by╢ nie widzia│(a).
Spr≤bujmy najpierw rozwi▒zaµ problem ze ╢wiat│em. Wybierz narzΩdzie 'Entity tool' (lub Shift+E) wiesz, sk▒d - z paska narzΩdzi. Wybierz teraz z listy byt≤w 'Objects' w 'Object bar' (s▒ tam m.in. przyciski toWorld, toEntity, Create Prefab) byt o nazwie
'light'. Wceluj kursorem myszki mniej wiΩcej w ╢rodek naszego pomieszczenia i
kliknij lewym klawiszem. Powstanie ma│y kwadrat wyznaczaj▒cy miejsce, w kt≤rym za chwilΩ znajdzie siΩ byt '╢wiat│o'. Korzystaj▒c z pozosta│ych viewport≤w (okien widokowych) 2D umie╢µ ╢wiat│o dok│adnie w centrum pomieszczenia i wci╢nij 'Enter'. W│a╢nie stworzy│e╢(a╢) ╢wiat│o :) Brawo!
NarzΩdzie 'Entity tool'
|
Pasek 'Object bar'
|
|
|
|
Umieszczanie bytu
|
Utworzony byt (╢wiat│o)
|
|
|
Umiesz ju┐ umieszczaµ byty w mapie, wiΩc umieszczenie miejsca startu gracza nie bΩdzie problemem. Wybierz narzΩdzie 'Entity tool', je╢li nie jest wybrane i wybierz z listy 'Objects' byt 'info_player_start'. Tak samo, jak poprzednio, umie╢µ go gdzie╢ w ╢rodku mapy i wci╢nij Enter.
Kliknij w widoku 3D na napisie 'camera' i wybierz z menu polecenie '3D textured'. Teraz nasza komnata powinna byµ wyteksturowana, dziΩki czemu │atwiej j▒ znajdziesz. Wci╢nij 'Z' na klawiaturze trzymaj▒c kursor myszy nad widokiem 3D. Mo┐esz siΩ teraz rozgl▒daµ po mapie u┐ywaj▒c myszki (u┐yj klawiszy WSAD, je╢li chcesz siΩ poruszaµ). Spr≤buj odnale╝µ swoje dziΩ│o - kamera, kt≤r▒ obserwujesz mapΩ, jest prawdopodonie na zewn▒trz pomieszczenia.
Prze│▒czanie siΩ w tryb teksturowany w widoku 3D
|
Wyteksturowany obiekt
|
|
|
WOW! Co to? Wszystko jest w lambdach! :) Spoko. Ostatni▒ rzecz▒, kt≤r▒ wykonamy przed kompilacj▒ (jak wspomina│em, mapΩ trzeba skompilowaµ przed uruchomieniem w grze), bΩdzie zmiana tekstury.
Maj▒c w│▒czone narzΩdzie 'Selection tool' kliknij we viewporcie 3D na kt≤rejkolwiek ╢cianie pomieszczenia. Teraz na 'Texture bar' (bΩdzie tam na pewno napisane co╢ o texturach i bΩdzie pewnie wy╢wietlona lambda) wci╢nij 'Browse'. Otworzy│o siΩ okno do wybierania tekstur. Na dole okna znajduje siΩ rozwijana lista wyboru 'Size'. Wybierz 64x64, natomiast w 'Filter' wpisz: c1a0a_W3b. Na ekranie zosta│a tylko jedna tekstura. Kliknij na niej dwukrotnie.
Teraz na pasku narzΩdzi kliknij 'Apply current texture'.
Pasek teksturowania
|
|
|
Filtrowanie i skalowanie alternatywnych textur
|
|
|
Na│o┐enie wybranej tekstury
|
|
Brawo! Umiesz ju┐ skalowaµ tekstury (czasami jest to potrzebne; gdy pracujemy z kilkoma plikami .WAD na raz, tekstury potrafi▒ siΩ na siebie nak│adaµ utrudniaj▒c ich wybranie), umiesz u┐ywaµ filtru do wyszukiwania ┐▒danej textury i umiesz na│o┐yµ wybran▒ teksturΩ!
Najwy┐szy czas zapisaµ mapΩ na dysku, je╢li jeszcze tego nie uczyni│e╢(a╢). Teraz spr≤bujemy
j▒ skompilowaµ. Mam nadziejΩ, ┐e wszystkie twoje ╢cie┐ki dostΩpu do
kompilator≤w zosta│y podane prawid│owo w konfiguracji programu.
Wci╢nij przycisk 'Run map!' na 'Map operations bar' albo wci╢nij F9
na klawiaturze.
Przycisk 'Run map!'
|
|
Parametr CSG ustaw na 'Normal'
Parametr BSP ustaw te┐ na 'Normal'
VIS ustaw na 'Fast'
RAD na 'Normal'
Odznacz (je╢li s▒ zaznaczone) 'Don't run the game' i 'Save visible objects only'.
Okno opcji kompilacji mapy
|
|
Wci╢nij przycisk 'OK' !!!
Brawo! Mapa powinna siΩ skompilowaµ i uruchomiµ w grze.
Tak powinna wygl▒daµ mapa po uruchomieniu
|
|
|