|
Praktyczny przewonik po ALE 2.0
Ponieważ sporo osób właściwie nie
rozumiało moich wskazówek zawartych w
poprzednim poradniku,
tym razem przewodnik dla użytkowników ALE w nieco innej,
praktycznej formie.
Prześledzimy zrobienie przykładowego levela z wykorzystaniem
wszystkich w praktyce używanych funkcji tego programu. Od
naprawdę najprostszych (znajdujących się też w edytorze Elmy)
do tych rzadko używanych, ale przydatnych. Bez problemu nada
się również dla osoby początkującej w levelmakingu. Mam
zatem zaszczyt przedstawić sequel mojej wciągającej
opowieści pod tytułem:

Jeśli jesteś początkujący, to zrób
level tak, jak to tu pokazałem. O wiele łatwiej dzięki temu
zrozumieć te różne funkcje, które ma ALE.
1. Podstawy
dekoracji. Umiejętność: użycie tekstur oraz obrazków i
rozumienie ich właściwości
1.1. Pisząc poradnik zakładam, że
pewne NAPRAWDĘ podstawowe rzeczy jak umieszczanie jabłek,
robienie polygonów itd. przychodzą wam zupełnie naturalnie.
Zacznijmy więc level od początku (to dobra metoda). Na
początek dobry jest zjazd z góry, zróbmy więc trójkąt i
rodzaj przeszkadzajki w zjeździe – mały perfidny kolec.

1.2. Dochodzimy do użycia tekstury i
obrazka. Wybieramy z lewego menu opcję Create Picture,
po czym klikamy gdziekolwiek prawym przyciskiem. Jesteśmy
szaleni i chcemy ten trójkąt pokolorować tak, jak niebo,
więc z menu wyboru Texture wybieramy rodzaj tekstury
(sky), a z Mask jej wielkość (będzie nam potrzebne „maskhor”,
czyli wielkość średnia. Następnie ustawiamy przynależność (Clipping)
tekstury na Ground.
Clipping ustawiony na:
- Ground – powoduje, że widoczne są części obrazka
pokrywające polygony
- Sky – widoczne są części obrazka pokrywające niebo
- Unclipped – widoczne są zarówno części na ziemi,
jak i te na niebie.
Pozostaje tylko umieścić teksturę na trójkącie. W podobny
sposób umieść na małym perfidnym kolcu obrazek krzaczka
bush2 – wybiera się go z menu Name. Zwróć uwagę, że
on też ma clipping Sky – zmień na Ground, inaczej pokaże się
tylko ta część krzaczka, która zakrywa niebo!


1.3. Mamy już za sobą kolorowanie.
Teraz sprawdzimy, do czego służy opcja Distance. Obok
kolca chcemy postawić drzewo typu tree3 oraz beczkę za nim.
Wybieramy więc drzewo, umieszczamy je w levelu, podobnie
beczkę, która ma lekko nachodzić na drzewo, żeby było
ładniej.
Jak widać z rysunku 1.3.1, nie wyszło nam do końca to, co
zamierzaliśmy. Beczka nie chce schować się za drzewem lub
też drzewo nie chce wyjść przed beczkę. Trzeba je zatem
zmusić!
Każdy obrazek ma swoją własną wartość Distance.
Określa ona odległość obrazka od obserwatora, czyli im jest
większa, tym „dalej” znajduje się obrazek. Potwierdza się to
w naszym przykładzie: drzewo ma distance 560, a beczka 380,
dlatego jest ona bliżej i zakrywa drzewo. Wystarczy jednak
ustawić jej dowolną wartość większą niż 560 (np. 600), a
natychmiast się schowa! Inną metodą byłoby zmniejszenie
distance drzewa do wartości poniżej 380.
Uwagi:
- dla obrazków o clippingu Sky/Unclipped: distance
poniżej 501 powoduje zakrycie jabłek, killerów, kwiatków
oraz motorka;
- dla obrazków o clippingu Ground/Unclipped: distance
poniżej 601 powoduje zakrycie trawy.


2. Projektowanie
levela. Umiejętność: zaawansowane polygony i ich
umieszczanie
2.1. Do zaawansowanych polygonów
zaliczamy prostokąty, elipsy i B-Spline (skrót od
Bezier-Spline). Dwa pierwsze są oczywiste. Jak już
nadmieniłem na początku, jesteśmy szaleni, więc naszego
levela nie powinny oglądać osoby niepełnoletnie. Za pomocą
opcji Rectangle i Ellipse zrób odpowiedni
znaczek ostrzegawczy i umieść go pod trójkątem.
Uwagi:
- elipsa: zwiększaj liczbę vertexów lewym „+”,
zmniejszaj lewym „-”.

|
2.2. B-Spline jest nieco
trudniejszym zaawansowanym polygonem. Gdy już się ją
„wyczuje”, można łatwo tworzyć najbardziej
zwariowane kształty. Najpierw jednak trzeba poznać
kilka zasad nią rządzących.
2.2.1. Dodawanie vertexów
Pierwszy krok to wybranie opcji „B-Spline” i
kliknięcie gdzieś lewym przyciskiem. Pojawia się
jeden vertex B-Spline’a (taka krecha z trzema
kropkami). Dodajemy vertexy, klikając na ich
środkową kropkę LPM + Shift. Zrób tak zatem,
a wyjdzie coś jak na rys. 2.2.1. Są to dwa vertexy,
jeden ograniczony kropkami krańcowymi i środkową,
drugi środkową i dwoma pozostałymi.
2.2.2. Przesuwanie vertexów
Vertexy przesuwamy za środkową kropkę. Przesuń jeden
z vertexów na dół (rys. 2.2.2a.). Następnie dodaj
jeszcze po jednym vertexie, klikając LPM + Shift na
środkową kropkę w obu już istniejących (rys.
2.2.2b.).
2.2.3. Obracanie i
usuwanie vertexów
Vertexy usuwa się kombinacją LPM + Alt.
Obraca się je za pomocą skrajnych kropek. Usuń
dopiero co stworzony vertex po lewej (rys. 2.2.3a.).
Następnie chwyć za dolną kropkę prawego vertexa i
obróć go przeciwnie do ruchu wskazówek zegara tak,
by linia vertexa była w poziomie, a jej długość była
mniej więcej równa długości dolnego vertexa (rys.
2.2.3b.).
2.2.4. Na finiszu
Za pomocą funkcji B-Spline można tworzyć o wiele
bardziej wysublimowane kształty, poprzestańmy jednak
na tym i skończmy rysowanie. Ukończenie kształtu
zatwierdzamy Enterem, po czym wciskamy Esc.
2.2.5. Wykorzystanie
stworzonej krzywej
Skoro już masz takiego cudaka, ustaw go nieco na
lewo od drzewa i beczki, a we „wnęce” dodaj jabłko
(rys. 2.2.5.). W razie problemów z wielkością
Spline’a, patrz Uwagi. |
|
|
|
|
|
|
|
|
|
|
|
Uwagi:- vertexy dodają się w kierunku
przeciwnym do ruchu wskazówek zegara. To dlatego
(rys. 2.2.2b) po kliknięciu na górny vertex dodał
się vertex po lewej, a na dolny – po prawej.
- podczas tworzenia krzywej możesz dowolnie oddalać
i zbliżać widok, a tworzony polygon pozostanie tej
samej wielkości. Jeśli nie dopasowałeś dobrze
wielkości Spline’a do reszty levela, możesz teraz za
pomocą zbliżenia/oddalenia dopasować resztę levela
do Spline’a.
3.
Projektowanie levela. Umiejętność: przekształcanie
polygonów (Cut/Connect oraz Polygon Operations)
|
3.1. W tworzeniu
levela bardzo istotna jest umiejętność
poprawienia, gdy coś wyszło nie tak. Może
się czasami okazać, że skomplikowany polygon,
który stworzyliśmy, powinien być połączony z
głównym, żeby to jakoś wyglądało – ale nie
będziemy go przecież kasować i robić od
nowa. Do tego właśnie służy opcja Cut/Connect
Polygons. Stworzony przed chwilą
B-Spline powinien w jakiś sposób łączyć się
z podłożem. Dodajmy zatem dokładnie pod nim
jeden wierzchołek do prostokąta będącego
naszym głównym polygonem (włącz opcję
Highlight Vertices z górnego menu View!) –
rys 3.1.
3.1.1. Wybierz opcję
Cut/Connect Polygons i kliknij na
wierzchołek zaznaczony strzałką. Przeciągnij
niebieską przerywaną linię do wierzchołka
naprzeciwko niego i też na niego kliknij.
Ciągłe niebieskie linie będą teraz
skrzyżowane (rys. 3.1.1.). |
 |
|

|
|
3.1.2. Naciśnięcie spacji spowoduje
odwrócenie linii polygona, które teraz będą
do siebie mniej więcej równoległe. Dzięki
temu unikniesz krzyżowania się linii
polygona po przeprowadzeniu operacji
połączenia (przy przecinaniu tego problemu
nie ma). Ważne: jeśli kiedykolwiek po
połączeniu polygona powstały krzyżujące się
linie, cofnij wszystko i połącz polygony
jeszcze raz, naciskając tym razem spację
przed zakończeniem operacji. Naciśnij więc
teraz spację i skończ łączenie, wciskając
Enter (rys. 3.1.2.).

|
|
3.1.3. Teraz trzeba usunąć łącznik. Usuń
cztery zaznaczone krzyżykami wierzchołki
(rys. 3.1.3.). Następnie wyrównaj ziemię
tak, jak była (zniekształciła się trochę) i
gotowe.

|
3.2. Przecinanie
polygonów jest dużo prostsze,
głównie dlatego, że nie trzeba się
męczyć z odwracaniem polygonów. W
ogóle nie trzeba się męczyć z
niczym, wystarczy tylko wybrać dwa
interesujące nas punkty (w obrębie
tego samego polygona, rzecz jasna) i
użyć na nich opcji Cut/Connect.
Przetnijmy zatem w trzech miejscach
ten nasz nieszczęsny B-Spline, tak,
żeby wyglądał bardziej finezyjnie
taki ponacinany (rys. 3.2.)
3.3. Polygon Operations to
funkcja pozwalająca na robienie
manewrów z przecinającymi się (i
tylko takimi) polygonami. W naszym
levelu postanowiliśmy umieścić
schodki – założmy, 3-stopniowe – po
prawej stronie od trójkąta. Zrób
więc na nie trochę miejsca, po czym
- aby zaoszczędzić na czasie – nie
rób ich ręcznie, tylko narysuj po
prostu 3 prostokąty (rys. 3.3.)
Pamiętaj, że muszą się przecinać. |
 |
|
|

3.3.1. Teraz czas na użycie samej opcji.
Wybierz Polygon Operations i kliknij na
któryś z rogów w każdym z dwóch pierwszych
polygonów. Zaznaczą się one na czerwono i
pojawi ci się też okienko z czterema
opcjami. To trochę jak uczenie się zbiorów.
Jest suma, część wspólna i różnica zbiorów,
tylko teraz zamiast zbiorów mamy prostokąty.
Oto, jak zachowałyby się nasze dwa pierwsze
prostokąty pod wpływem każdej z opcji:
- Merge (A or B) – suma zbiorów, a
więc wszystko z wyjątkiem wspólnej części
(rys. 3.3.1a);
- Interesection (A and B) – część
wspólna zbiorów, czyli wspólna część
polygonów (rys. 3.3.1b);
- Difference (A-B) – różnica
zbiorów A i B, czyli cała przestrzeń lewego
prostokąta, której nie ma w B (rys. 3.3.1c);
- Difference (B-A) – różnica zbiorów
B i A (rys. 3.3.1d).
Jak już się pewnie domyśliłeś, nas będzie
interesować opcja Merge, która
zresztą jest używana najczęściej. Aby
utworzyć całe schodki, wystarczy teraz nowy
twór połączyć z trzecim prostokątem,
dokładnie w ten sam sposób – i dobrze by
było to połączyć też z ziemią (jak to robić,
wiadomo).
 |
|
4.
Dalsza dekoracja. Umiejętność: wykorzystanie
opcji Picture Tile oraz tworzenie trawy
4.1. Opcja
Picture Tile służy do szybkiego
tworzenia wielu obrazków naraz. W naszym
levelu przyda się ona do stworzenia kępek
wyrastającej trawy od lewej krawędzi aż do
schodów. Wybierz opcję Picture Tile z lewego
menu, i kliknij w okolicy lewego dolnego
rogu (czerwony krzyżyk) tak, by pierwszy z
rządka obrazek sedge był ładnie wpasowany w
ten róg (rys. 4.1.)

| 4.1.1. Pokaże się
takie dość dziwne okienko (4.1.1a).
Wartości Width i Height
determinują liczbę obrazków w
poziomie i pionie, zaś strzałki
zmniejszają lub zwiększają odległość
między nimi. By udał się nasz rządek
kęp trawy, musimy wprowadzić dużo
więcej niż 1 w Width, ale nie tykać
Height, gdyż wtedy zaczną się
dodawać poniżej następne rzędy. Jak
widać, kępki po zwiększaniu są dość
daleko od siebie (rys. 4.1.1.b).
Manipulując zatem strzałką w lewo,
zmniejszającą odległość między
obrazkami w poziomie, zacieśnijmy je
trochę i wpiszmy odpowiednio dużą
liczbę, by sięgnęły aż do schodków
(rys. 4.1.1.c). Gdy to proste dzieło
ukończymy, pozostaje kilknąć Ok. |
|
 |
 |
|

|
4.2.
Dodawanie trawy odbywa się dokładnie w taki
sam sposób, jak w edytorze w grze i nie jest
trudne. Trochę teorii: gdy dodajesz do
levela trawę, gra zasiewa ją wszędzie z
wyjątkiem miejsca, gdzie polygon trawy ma
najdłuższy vertex. Spróbujmy pokryć trawą
nasze schody – to będzie łatwizna. Zrób na
każdym schodku trójkątny polygon taki, by
jego dolna krawędź była równoległa i niezbyt
oddalona od górnej krawędzi polygona, który
pokrywamy trawą (rys. 4.2.1.). Teraz kliknij
prawym przyciskiem myszy na wierzchołek
każdego z nich i zaznacz opcję Grass,
co spowoduje zmianę ich koloru na zielony.
Teoria się zgadza: trawa nie uwzględni
najdłuższych, ukośnych boków trójkącików,
dzięki czemu ładnie się uda. Inaczej miałaby
się sytuacja jak na rys. 4.2.2. Tam
najdłuższy bok to właśnie ten, który ma
tworzyć trawę, a ponieważ zostaje pominięty,
trawa nie wychodzi. Dodawanie trawy na
bardziej pokrzywione polygony to o tyle
problem, że trzeba zamiast jednej dużej
krawędzi porobić ich więcej, równolegle do
odpowiednich linii polygona.


5.
Zakończenie levela. Nadawanie nazwy i
szczegóły
Punkt stricte
opisowy. Jest kilka punktów, o których
trzeba pamiętać:
1) Nadaj nazwę. Kliknij gdziekolwiek prawym
przyciskiem myszy i wybierz Properties.
Zawsze trzeba nadać nazwę.
2) Sprawdź level opcją Check. Nigdy
nie wiadomo, czy nie zaplątał się gdzieś
jakiś pokrzyżowany polygon. Zresztą jeśli
jest błąd, przy zapisywaniu ALE cię o tym
poinformuje.
3) Jeśli robisz duży lev, sprawdzaj co jakiś
czas limity. W levelu nie można przekroczyć
następujących limitów:
- maks. 50 obiektów
- maks. 5000 obrazków
- maks. 300 polygonów
- maks. 5000 vertexów
- maks. 1000 vertexów na polygon
Wszystko gotowe?
Level zrobiony? Świetnie, wyślij go Novakowi.
Wszyscy wysyłajcie takie same levy Novakowi,
niech trafi go szlag* :D
Udanych levów!
Kuj2
* To był oczywiście
żart. Nie wysyłajcie tych leveli Novakowi,
bo i bez tego ma za dużo roboty :) |
|
|