OBig
2016-07-12, 22:26
„Szeretném megszerkeszteni a saját Tomb Raider pályáimat a TRNG programmal, de nem tudom, hogy milyen feladatok várnak rám”
Avagy a pályaszerkesztés fő feladatainak a bemutatása nagyvonalakban, kezdők számára, kedvcsinálás végett
Előfeltétel: TRLE, majd TRNG telepítése.
Jelen oktatóanyag a TRNG 1.2.2.7+ verziójának a használatával készült.
Ha Tomb Raider játékot szeretnél létrehozni, akkor választhatsz néhány lehetőség közül. Először is azt, hogy a szerkesztéshez valamilyen nem hivatalos szerkesztőt használnál (lásd: Dxtre3d), vagy a Core Design által hivatalosan publikált Tomb Raider szerkesztőcsomagot, a TRLE-t.
Nekünk a TRLE-re lesz szükségünk, úgyhogy az elsődleges teendőd feltelepíteni ezt a számítógépedre. Ez egy régi csomag, az 1999-es The Last Revelation játékprogram motorjára épít.
Hála a rajongók kitartó hozzáállásának, a csomagot több irányban is továbbfejlesztették (nem hivatalosan), melyek közül manapság talán a legismertebb irányvonal Paolone fejlesztése, a TRNG. Jelen oktatóanyag megértéséhez a TRLE-re ezt is „rá kell telepíteni”, mielőtt nekiállnál a pályáiddal foglalkozni.
1. A feladat nagysága
Amikor nekiállsz egy pálya elkészítésének, akkor ennyi, ami a rendelkezésedre áll:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image002.jpg
1. ábra
Miközben a végeredménynek megközelítően ilyennek kell lennie:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image004.jpg
2. ábra
Mint láthatod, kétségkívül hatalmas munka áll a mögött, hogy egy pályát elkészíthess. Kétségtelen, egy működőképes pályát akár egy-két hét alatt is összedobhatsz – csak aztán legyen valaki, aki játszik egy ilyen igénytelen munkával.
Szóval, készülj fel rá, hogy ha működőképes és igényes pályát akarsz a kezedből kiadni, mellyel minél több ember játszik szívesen, akkor több hónapnyi munkát kell rászánnod legalább – és akkor azt még nem is említettük, hogy sok játék több, mint egyetlen pályából áll.
Tehát, mielőtt nekigyürkőznél annak, hogy Tomb Raider pályákat készíts, jobb, ha megkérded magadtól:
Lesz erre elég szabadidőm?
Lesz ehhez elég kitartásom? Biztos, hogy érdekelni fog engem ez az egész hónapok vagy akár évek múlva is?
Van-e egy igazán remek ötletem ahhoz, amely köré fel tudom építeni ezt a kalandot?
Vagyok-e eléggé kreatív ahhoz, hogy akár a legapróbb részleteket is kitalálhassam, megtervezhessem?
Tisztában vagyok-e azzal, hogy milyen programokra lesz szükségem? Meg tudom szerezni őket?
Ismerni fogom-e a programokat annyira, hogy érdemi munkát végezzek velük? Lesz kézikönyv, amit átnézzek? Lesz olyan ember, akitől kérdezzek?
Nem ajánlom, hogy addig nekiállj komolyan a pályakészítésnek, amíg bármelyik kérdésre is nemmel felelsz.
Azonban akkor sem érdemes feladni, ha belevágsz, de időközben balul sülnek el a dolgok. Hisz például, ha menet közben ráunsz a pályaszerkesztésre, még akkor sem biztos, hogy ki kell vágni a kukába az egész projektet. Hisz lehet, hogy csak pihenni kell egy-két hetet, valami egészen mással foglalkozni, és aztán újult erővel és kedvvel belevágni megint.
2. Végül is mi az, hogy „pálya”?
Nézz körül a szobában, ahol épp tartózkodsz. Van négy fala, egy padlója, egy mennyezete. Olyan, mintha egy szabályos, téglatest alakú dobozban lennél, igaz? És mi van akkor, ha kilépsz a szobaajtón a folyosóra? Nyilvánvalóan ott is látsz falakat, padlót, mennyezetet.
A Tomb Raider pályák is ezen az elven működnek. Azaz minden helyszín egy-egy dobozszerű szoba, ezek belsejében játszódik az egész játék, és a szobák ajtóknak nevezett lukakkal való összenyitása, azaz a helyszínek összekapcsolása alkotja magát a pályát.
Azaz a te feladataid lényegében véve „csak” az alábbiak:
Hozd létre a szobákat, kapcsold össze őket.
Alakítsd a szobákat olyanra, hogy úgy nézzenek ki, ahogyan te szeretnéd.
Oldd meg a pálya vezérlését. Például, ahhoz, hogy az egyik szobából a másikba juss, a köztük lévő zárt kapunak ki kell nyílnia.
Minden egyes nyers szoba úgy néz ki, ahogyan az 1. ábrán is láthatod: hatalmasak, semmi alakítás nincs még rajtuk, teljesen üresek.
Nézzünk egy igen-igen egyszerű példát, ahol is a teljes pálya csak három kis szobából áll:
Lara egy fapadlójú kis szobában tartózkodik, amint a pálya elkezdődik. Elindul egy kis folyosón. Ekkor kinyílik az orra előtt egy kis kapu, és ő kijut a szabadba.
Ekkor az alábbi három szobával akad dolgunk:
Fapadlójú szoba:
Padló: falécek
Falak: díszes festés
Mennyezet: freskó
Folyosó:
Padló: kőkockák
Falak: kőre vésett hieroglifák
Mennyezet: sima kőlapok
Szabadtéri helyszín:
Padló: fű, kis dombok
Falak: földhányások szélei és a horizont, illetve, a folyosó kapcsolódási pontja körül a folyosó száját jelentő hieroglifás kőfalak
Mennyezet: égbolt
A szobák felülnézeti képe (balról jobbra: szoba, folyosó, szabadtér):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image006.jpg
3. ábra
És oldalnézeti képe:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image008.jpg
4. ábra
Balra a szoba képét úgy látjuk, ahogy a szerkesztőprogramban kinéz, jobbra úgy, ahogyan a játékban:
1. A fapadlójú szoba (az a fura figura jelenti azt, ahol Lara majd elkezdi a pályát, a fehér luk meg az a hely, ahol a másik szoba kapcsolódik hozzá):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image010.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image012.jpg
5./a ábra 5./b ábra
2. A folyosó (balra és jobbra a szoba két fehér vége a fal hiányát jelzi, mert ott kapcsolódik a másik két szobához), a játékbeli képen már nyitott kapuval:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image014.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image016.jpg
6./a ábra 6./b ábra
3. A szabadtér – a folyosó szája felé fordulva (igen, jól látod, a hegyvidéket mutató horizont és az égbolt képe a szerkesztőprogramban soha nem látható):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image018.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image020.jpg
7./a ábra 7./b ábra
A miheztartás végett lássuk, hogy miképp nézhet ki egy teljes egészében elkészített, működőképes és igényes pálya felülnézeti képe (a színjelölésekkel most ne foglalkozz):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image022.jpg
8. ábra
3. A szoba teljes egészére vonatkozó formázási műveletek
Szobát létrehozni lényegében véve csak egy kattintás az egérrel. Általában ekkor egy olyan jellegtelen és ormótlan szoba a „jutalmunk”, mint amit az 1. ábrán is láthatunk.
Amint a szobád létrejött, akár máris elvégezhetsz rajta olyan formázási műveleteket, melyek kihatnak az egész szobára:
Szobák átméretezése:
Az 1. ábrán látható óriási szoba a lehető legnagyobb alapterületű. Tehát az alapterület átméretezése csakis az alapterület csökkentését jelentheti.
Ellenben a szintén hatalmas belmagasság csökkenthető, és – elvileg akár extrém méretekig is – növelhető is.
Az alábbi ábrákon balra az látható, hogy egy hatalmas szoba egy részét pirossal kijelöltük. A jobb oldali ábrán az alakítás utáni végeredmény látható: a kijelölt terület vált a szoba új alapterületévé, és egyben a hatalmas belmagasság is csökkent:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image024.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image026.jpg
9./a ábra 9./b ábra
Szobák koordinátái:
A szobákat az x/y/z koordináták mentén horizontálisan és vertikálisan is elmozdíthatjuk.
Az alábbi ábrákon ugyanazt a (piros) szobát láthatjuk két különböző pozícióban a pályán:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image028.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image030.jpg
10./a ábra 10./b ábra
A szoba alapfénye:
A fények beállítása az alapszínek beállítását jelenti. Minden alapszínnek van egy-egy 256 fokozatú skálája, a piros, zöld és kék alapszínek így kapott aránya határozza meg a fény színét.
Az 5./a ábrán látható szoba, ezúttal két különböző alapfénnyel:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image032.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image034.jpg
11./a ábra 11./b ábra
(Azért „alapfényről” beszélünk, mert a fényviszonyok koncentrált fényekkel módosíthatóak – lásd később.)
Szobastátuszok:
Többnyire csak egy-egy egérkattintásba kerül, hogy bizonyos státuszokat be- vagy kikapcsolj a szobákban: hogy víz legyen a szobában, és ott Lara úszkálhasson, hogy láthasd onnan a napkorongot, vagy, hogy essen ott a hó. Stb.
A 7./b ábrán is látható szobának ezúttal esőstátusza van, azaz szakad ott az eső (ezért is vannak a fényviszonyok sötétebbre állítva):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image036.jpg
12. ábra
Átjárók a szobák között:
Miképp a 3. ábrán is láthatod, a szorosan egymás mellé illesztett szobák egymással összekapcsolhatóak. Ekkor a szobák egymással érintkező részei eltűnnek, mindkét szoba „kilukad” ott, egy olyan átjáró (ajtó) keletkezik, mint amit például az 5./a ábrán is láthatunk egy fehér foltként.
Egyéb szobaműveletek:
Most csak egyetlen példát mutatnék be e speciális műveletekre – lássuk az alábbi szobát két különböző irányba beforgatva, amihez nyilvánvalóan a forgatási műveletet használtuk:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image038.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image040.jpg
13./a ábra 13./b ábra
4. A felszín formálása
Lássunk pár példát arra, hogy a felszín formálásával miféle jelenségeket tudunk megvalósítani:
a, egy megemelt blokk a szoba közepén (amire Lara felmászhat, hogy felvegye onnan az egészségcsomagot), illetve szegély a szoba körül, illetve kupolás szobamennyezet:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image042.jpg
14. ábra
b, a 7./a ábrán is látható szoba dimbes-dombos padlója (a füvet elmozdítottam, hogy a domborzat jobban látható legyen):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image044.jpg
15. ábra
Figyeld meg a fenti ábrán, hogy a padlón látható négyzetrács egyes négyzeteit helyenként két-két háromszögre „törheted”, amivel további érdekes domborzati hatásokat tudsz elérni.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image046.jpg
16. ábra
Mint a 16. ábrán láthatod, néhány ilyen háromszög belekerülhet a „fehér lukba”, azaz a szobák közti átjáróba is. A piros szín azt jelzi, hogy a háromszög átjárható – tehát, mint láthatod, az U alakú átjáró sarkában a 90 fokos letörés helyett ezúttal egy szebben kidolgozott megoldás készült.
c, lépcső:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image048.jpg
17. ábra
d, lejtő:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image050.jpg
18. ábra
e, szoba fölé benyúló perem:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image052.jpg
19. ábra
f, ívelt szoba:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image054.jpg
20. ábra
g, tölcsér alakú szoba:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image056.jpg
21. ábra
5. Speciális tulajdonságú területek
A fenti ábrákon a padlót és a mennyezetet általában kék, a falakat zöld színnel láthatod. Ha valamely más szín van ott, akkor az azt jelenti, hogy ott valami speciális tulajdonsága van a területnek.
Nézzünk pár példát:
Az alábbi ábrán a zöld padló (az ülő, az útból elhúzható szobor alatt) azt jelenti, hogy ott „létra van”, azaz mászható a fal. A barackszínű terület felett Lara elkaphatja a mennyezet kapaszkodóit, hogy majomként lengjen tova. A szürke területre ellenség nem léphet be, csak Lara.
A zöld falak a szoba közepén szintén speciálisak, abban az értelemben, hogy létrehozásukról külön gondoskodni kell, hisz alapesetben falakat csak a szobák körül találhatunk.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image058.jpg
22. ábra
Csak egy-egy egérkattintásba kerül az efféle tulajdonságok lehelyezése a kijelölt területekre.
6. Textúracsempék
Természetesen nem olyan kék-zöld-stb. színű síkidomokat fogsz látni a játékban, mint amilyeneket például a 22. ábrán is látsz, hanem a síkidomokra lehelyezett textúracsempék tűnnek majd ott fel.
A 22. ábra szobájának a képét itt a síkidomokra lehelyezett textúracsempékkel együtt láthatod:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image060.jpg
23. ábra
A textúracsempéket minden pályához egy-egy olyan csempekészletből választhatod ki, mint például ez (nem feltétlenül a teljes csempét, hanem esetleg csak egy részletét kiválasztva a lehelyezéshez):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image062.jpg
24. ábra
Elvileg használhatsz akár „előregyártott” csempekészleteket is, de elsősorban a te feladatod ezek összeállítása – hisz minden pályához eltérő készletre lehet szükség, az „egyiptomi romok” és az „űrbázis” pályák nyilvánvalóan más képet kell, hogy mutassanak.
Falszekciók:
A fenti ábrák némelyikén azt láthatod, hogy egyes szobaelemek részekre vannak osztva. Így például a 22. ábrán a fal paneljei egymás alatti szekciókra vannak felosztva. (Ezért vannak eltérő zöld árnyalataik.) Ennek textúrázási oka van, amit még jobban szemléltet a 7./a és a 15. ábra: az itt látható szoba falainak az alsó részét „földhányás” textúrával, felső részét a horizonthoz szükséges „átlátszó textúrával” (ezért látszik mögötte a háttér fehérsége) textúráztuk.
A szekciók kialakítása a te feladatod.
Átjárók textúrázása:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image064.jpg
25. ábra
A fenti képen ezúttal nem látsz fehér foltot az átjáróknál, hanem jól láthatod az összekapcsolt szobákat. Több helyen is láthatod, hogy rács zárja le az átjárót a két szoba között. Nem, ezúttal ez nem olyan rácsos kapu, mint amit a 6./a ábrán is láthatsz, hanem egy textúracsempe.
De hát hogyan lehet átjárót textúrázni, hisz az csak egy luk, nincsenek ott kék, zöld stb. síkidomok?
Nos, a probléma megoldásához egy „hamis” faldarabbal kell eltömni az átjárót, és a „rács” csempe erre lesz majd lehelyezve.
Animált textúrák:
Egy-egy kék, zöld stb. síkidomon a textúra esetenként nem állandó, hanem „mozog”, animált, mert arra van szükségünk a kívánt hatás eléréshez.
Lássunk egy példát:
A 3. fejezetben említettem, hogy miként kell vizet létrehozni egy szobában. A nyitott medence és a felette lévő „levegős” tér közti átmenetnek azonban szépen kell kinéznie, ezért a vízfelszínt „hullám” textúrával látjuk el (lásd a 26. ábrát), és mivel a hullám mozog, ezért ennek a textúrának animálódnia kell.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image066.jpg
26. ábra
A textúra animálódáshoz az kell, hogy az animációs panelen (lásd a 27. ábrát) összekapcsolj néhány textúracsempét (ezt zöld keret jelzi).
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image068.jpg
27. ábra
Látható, hogy az összekapcsolt csempék mind „hullám” csempék, egymástól némiképp kicsit eltérnek. Nem igazán számít, hogy közülük melyik van lehelyezve a vízfelszín tetejének egy-egy pontjára, mivel a játékprogram gyorsan váltogatni fogja ott e csempéket egymással, miáltal úgy tűnik, hogy a hullámalak tényleg mozog – azaz „hullámzik”.
Lépések zajai:
Lara általános lépészaja bizonyos körülmények között változhat. Így például, ha a padlón „hó” textúracsempe van lehelyezve, akkor ott értelemszerűen nem kopogó lépteket kívánunk hallani.
A „textúrazaj” panel igencsak hasonló a fent mutatott animációs panelhez. A textúrazaj panelen tudjuk beállítani azt, hogy egy-egy textúracsempe efféle extra lépészajjal bírjon.
Bucka leképzés:
A bucka leképzés (bump mapping) során egyenetlenebb felület illúzióját fogja kelteni a textúra.
Azokat a textúrákat, melyekhez bucka leképzést rendelsz, a textúrazaj panelen tudod megadni.
Égbolt és horizont:
A 7./a és b ábrák jól mutatják: ha égboltot és horizontot kívánsz láttatni, akkor – mint fent említettem - csak „átlátszó textúrára” van ott szükséged a szerkesztőprogramban, egyébként semmiféle égbolt vagy horizont rajzolata nem látszódik ott a szobában. Tehát egyéb műveletekre van szükséged az égbolt és a horizont képének kialakításához. Az égbolt rajzolatát például egy RAW kiterjesztésű fájlban kell megadni, amit a pályádhoz csatolsz.
7. Effektikonok
Csak egy-egy egérkattintásba kerül egy-egy effektikon létrehozása, melyeket ezek után a szobákban kell lehelyezned.
Nézd például a 26. ábrát, ahol is számos effektikont találhatsz. A „villanykörte” alakú ikonok a szoba alapfényét változtathatják meg az adott pontokon, míg a piros vonalakkal bíró ikonok kamerákat jelentenek, amelyek hosszabb-rövidebb időre mutatják az általános kamera helyett a történéseket.
Az effektikonok különböző koncentrált (azaz egy adott pontból, az ikonból magából származó) hatások elérésére szolgálnak:
Fény: különböző fajtái vannak, különböző fényeffektusok létrehozásához – lásd például azt, ami reflektor módjára fénykévét vet, vagy azt, amelyik árnyékot képez stb.
Kamera: statikus vagy változó - de az általánostól mindenképp eltérő - szemszögű képet mutatnak egy adott időn át.
Köd: ködpamacsot képez.
Áramlat: áramlatot képez a vízben – vagy azért, hogy odarántsa Larát, vagy épp ellenkezőleg, hogy onnan eltaszítsa őt.
Zaj: olyan, általad kiválasztott zajt sugároz szét maga körül, ami attól függően halkul, vagy erősödik, hogy Lara milyen közel van hozzá. (Jó ötlet tehát ilyet alkalmazni például függőleges felületre helyezett „vízesés” animált textúracsempe mellé, a robajló víz zajának demonstráláshoz.)
Példák:
Piros fényű terület a sötét szobában, fényikon segítségével:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image070.jpg
28. ábra
Szokatlan szemszögből láthatjuk Larát, egy kamera ikonnak köszönhetően:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image072.jpg
29. ábra
8. Látótávolság és térköd
A látótávolság azt határozza meg, hogy a pálya mely távolságait láthassa be maximálisan Lara. Az alábbi ábrákon magas, illetve alacsony látótávolság mellett láthatjuk ugyanazt a pályarészletet. Mint látható, alacsony látótávolság mellett a pálya távoli részei nem kerülnek megrajzolásra. Mégsem ajánlott a túl magas látótávolság, mert ez magasabb gépkapacitást igényelhet.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image074.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image076.jpg
30./a ábra 30./b ábra
A térköd alapvető szerepe az, hogy jótékony homály képzésével a meg nem rajzolt távoli részek ne nézzenek ki olyan csúnyán (a ábra). Azonban (lásd: b ábra) az is látható, hogy a térködnek dekoratív szerepe is lehet: például, ha kiszínezzük, és úgy elnyújtjuk, hogy akár már a Larához közelebbi részeket is elborítsa.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image078.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image080.jpg
31./a ábra 31./b ábra
9. Objektumok
Az objektumok kisebb-nagyobb tárgyak, melyeket el kell helyezni a szobákban. Az alábbi fajtáikat különböztetném meg:
Lények (Lara, emberek, állatok, fantázialények, ellenségek, barátok): ahol lehelyezed őket a pályán, ott fognak életre kelni. Lara kivételével – akit a játékos irányít – mesterséges intelligencia dönti el, hogy melyik animációjuk (lövés, futás, ugrás stb.) mikor kerül véghezvitelre.
Egyéb mozgó tárgyak, melyeknek jól körülhatárolható szerepük van: ajtók, csapdák, tolható-húzható kockák, kapcsolókarok, járművek, potyogó padló stb.
Díszletek, melyek néha mozognak (emlékezz például a The Last Revelation Coastal Ruins pályájának a vízben hullámzó növényére), többnyire azonban mozdulatlanok (vázák, szobrok, oszlopok stb.).
Menüelemek, amiket Lara felvesz: lőszer, fegyver, egészségcsomag, feszítővas, kulcsok stb.
Jelképes objektumok: ezeket „piros kis gúla” képében találod a szerkesztőprogramban, a játékban azonban úgy jelennek meg, mint lobogó tűz, a mennyezetről lelógó kötél, földrengéskeltő stb.
Speciális objektumok: lásd például a PISTOLS_ANIM objektumot, melynek ugyan ott kell lennie a pályád objektumai között, mégsem helyezed le soha egy szobában sem. Hiszen a célja egyrészt az, hogy a Lara pisztolyhasználatához tartozó animációkat tárolja, másrészt az, hogy a „Lara keze pisztollyal” objektumdarabot tárolja, amit Lara objektumon a játék automatikusan kicserél a „Lara üres keze” objektumdarabbal akkor, amikor Lara kezében pisztolyt kell látnunk.
A „fáklyatartó kar” díszlet objektumon látható piros gúla a játékban tűzként fog lobogni:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image082.jpg
32. ábra
Mint ahogy a csempéknél is mondtam, elvileg használhatsz akár „előregyártott” objektumkészleteket is, de elsősorban a te feladatod ezek összeállítása – hisz minden pályához eltérő készletre lehet szükség, az „egyiptomi romok” és az „űrbázis” pályák nyilvánvalóan más objektumokat kell, hogy tartalmazzanak.
Mozgó és Statikus objektumok:
Az úgynevezett Mozgó objektumok nem feltétlenül mozdulnak meg, lehetnek akár díszletek is, de célunk általában az, hogy animációik révén mozgassuk őket.
Ezzel szemben az úgynevezett Statikus objektumok mindig mozdulatlan díszletek.
Több előnye és hátránya is lehet annak, hogy egy objektum Mozgó vagy Statikus. Most kiemelném azt, hogy a szoba fényviszonyai csak a Mozgó objektumokra hatnak, a Statikusok számára saját fényt tudsz beállítani.
Az alábbi képen jól látható, hogy a szoba erőteljes zöld fénye csak a Mozgó szoborra van hatással, miközben a Statikus váza saját erőteljes, vörös fényével világít:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image084.jpg
33. ábra
Eldobott objektumok:
Érdemes egyes lényekhez (értelemszerűen emberi ellenfelekhez) menübe való tárgyakat elhelyezned, mert akkor a haláluk pillanatában elejtik azt (épp, ahol akkor tartózkodtak), így Lara ezt követően felveheti azt.
Például: a fegyveres fickó Uzival lő, így megéri esetleg Uzi lőszert lehelyezni ott a játékban, ahol a lényt is lehelyezted, így halála helyszínén Uzi lőszert fog elejteni, hogy Lara onnan felvehesse azt.
OCB beállítások:
Minden objektumhoz tartozik egy úgynevezett Object Code Bit panel (OCB), ahol is speciális tulajdonságokat rendelhetünk az objektumhoz – például megváltoztathatjuk a lobogó tűz nagyságát.
TRNG objektumok:
Bár a TRLE a The Last Revelation motorjára épít, a különféle felhasználói ügyeskedések lehetővé tették, hogy olyan objektumok legyenek itt működőképesek, melyeket ez a motor eredetileg nem támogatott (például tigris).
Hála a TRNG-nek, több olyan objektum szerves részévé válhatott a rendszernek, mint például a TR2-ben látható motorcsónak, a TR3-ban látható búvár vagy a TR5-ben felbukkanó elektronikus kapcsolótábla.
Plusz, szemben a TRLE-vel, a TRNG olyan extra objektum-tulajdonságokat is lehetővé tesz, melyeket eddig a Core Design egyik klasszikus Tomb Raider játékában sem láthattunk. Például, a Statikus objektum felrobban, ha Lara megérinti azt, vagy kioltani a tüzet Larán, anélkül, hogy vízbe ugrana stb.
Ütközések:
Az ütközés azt jelenti, hogy ha Lara nekimegy valaminek/rálép valamire (például szobafal/padló), akkor nem fog azon áthatolni, mintha az levegőből lenne.
Az objektumok ütközése néha azonban kényelmetlen, az alábbi okok miatt:
Az objektum egy láthatatlan téglatestbe (az úgynevezett ütközési dobozba) van foglalva, melybe Lara nem kerülhet be. Ez zavaró lehet, például ha azt szeretnénk, hogy Lara az objektum azon részeivel érintkezhessen, melyek jócskán a dobozon belül találhatóak. (A 48./b ábrán egy oszlop ütközési dobozát láthatod például.)
Az ütközési dobozok Lara számára nem használhatóak. Így például, a 14. ábrán mutatott blokk tetejére Lara fel tud mászni, de ha van egy asztal objektumunk, akkor az asztal ütközési dobozának a tetejére Lara nem tud felmászni, azt érzékeltetve, hogy felmászott az asztal tetejére.
Ennek megoldása a te feladatod, melyeket például az alábbi módokon érhetsz el:
A zavaró ütközési doboz elmozdítása után láthatatlan, vékony, de ütközéssel bíró objektumokat helyezel oda, ahol Larának az eredeti objektummal ténylegesen ütközni kellene, ezáltal az elérendő rész ténylegesen is elérhetővé válik.
Az alábbi ábrán az látható, hogy Lara kinn áll az erkélyen, azaz „benne áll az ütközési doboz nélküli erkély objektumban”. Mint látod, a korlátok ütközése úgy lett megoldva, hogy fekete (a játékban átlátszó) ütközési objektumok állják ott el az ő útját, hogy le ne essen.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image086.jpg
34. ábra (forrás: http://trlevelmanager.net/ng.htm)
A zavaró ütközési doboz elmozdítása után azt szimulálod, mintha ott formáltad volna a felszínt.
Az alábbi ábrán az látható, hogy két szobor és egy szarkofág helyén miféle ütközéseket szimuláltunk. Látszik például, hogy a szarkofág helyén szimulált blokk tetejére Lara úgy mászhat fel, hogy úgy tűnjön, mintha a szarkofág tetején állna. - Természetesen az A ábra mutatja a valós képet, a B ábra csak az érthetőség kedvéért készült, valójában semmiféle felszínformálás nem történt ott ezúttal.
(De az is látható például, hogy az oroszlánszobor helyén létrejövő „lejtő” szimuláció kicsit pontatlan, nem túl sikeresen szimulálja az oroszlán alakját.)
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image088.jpg
35. ábra (forrás: http://trlevelmanager.net/ng.htm)
10. Cseretérképek
Cseretérképet alkalmazunk, ha egy szobának két különböző képet akarunk. Ha például földrengés effektusát használjuk, és a szoba a földrengésben összedől. Ekkor a szoba egyik képe a földrengés előtti ép, másik képe a földrengés utáni romos állapotot mutatja.
A cseretérkép a szoba „alternatív”, változás utáni kinézetét tárolja.
Szoba két különböző képe a szerkesztőprogramban – látható, hogy a homokbuckák eltűntek (a játékmenet szerint azért, mert aláhullottak a padlón lévő rácsozaton át):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image090.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image092.jpg
36./a ábra 36./b ábra
A szobakép körüli fehérség azért változott feketére, mert ez jelzi azt, hogy ezúttal a cseretérkép szobaképe látható.
11. Zene és zaj
Bármi, amit hallasz a játék alatt, azt kisebb-nagyobb hangfájlok (jellemzően WAV fájlok, de a TRNG lehetőséget ad egyéb kiterjesztésekhez is) formájában a játék mappáiban tárolni kell.
E fájlok lehetnek:
Végtelenített háttérzaj, ami a pálya alaphangulatát hivatott megteremteni. Például, ha a pálya egy tengerparti füves síkságot ábrázol, akkor a „szélzúgás+sirályok hangja” háttérzaj kiváló ötlet lehet. – Jellemzően a szkriptben (lásd alant) történik a definiálása.
Pár másodpercestől az egy-két percesig terjedő tartalmú zenei betétek, melyek a pillanatnyi állapotot kívánják hangsúlyozni. Például, azon a terepen, ahol Lara súlyos harcba keveredik, megéri elindítani egy harsány, pattogó ritmusú, hosszabb zenei betétet. – Kioldók (lásd alant) indítják be őket.
Végtelenített zajok: a fent említett zaj effektikonok használják őket.
Egyedi zajok: egy kardot lengető ellenfélnél a kardsuhintás zaja, egy vadállat morranása, Lara lépésének koppanása, egy halálsikoly stb. – Jellemzően animációs parancsok (lásd alant) indítják be őket.
12. Szövegek
Lehetőséged van bármiféle szöveget bármikor kiírni a képernyőre, melyhez rengeteg paramétert (betűtípus, betűméret stb.) te határozhatsz meg – sőt, lehetőséged van a TRLE klasszikus szövegeinek (lásd főleg: menük) kinézetén is változtatni.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image094.jpg
37. ábra
Minden szövegnek, ami a játékban valaha is kiírásra kerül, annak benne kell lennie a szövegtárban:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image096.jpg
38. ábra
13. Képek
BMP fájlokat vagy sprite-okhoz tartozó állóképeket helyezhetsz el a képernyőn.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image098.jpg
39. ábra
Néhány képnek speciális funkciója van – így valósítható meg például a napló is:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image100.jpg
40. ábra
14. Filmek és jelenetek
Lehetőség van AVI, WMV vagy MPG kiterjesztésű videofájlok bejátszására is, játék közben, de akár a főmenüben is.
A jelenet (cutscene) a pályán játszódik, de a szereplők nem a játékos vagy a mesterséges intelligenciájuk által vezérelve mozognak, mint általában a játékban, hanem tulajdonképpen „filmkockáról filmkockára” fel kell venni a mozdulataikat, szavaikat stb. Ezeket a beállításokat és a felvételt magát neked kell véghezvinni, hogy aztán a rögzített jelenetet később bejátszhasd a játékban.
Pillanatkép a The Last Revelation játék legelső jelenetéből:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image102.jpg
41. ábra (forrás: www. skribblerz. com)
15. Kioldók
Kioldók nélkül a pályán lényegében semmi nem történne: Larát mozgatná a játékos, a víz hullámozna, a háttérben pedig szólna valami, a pálya alaphangulatát megteremtő háttérzaj – és ezáltal Lara haja is mozogna a szélben. De nagyjából ennyi.
Nevüknek megfelelően a kioldók mindig kioldanak, engedélyeznek, aktiválnak egy eseményt. A kioldókat te helyezed le a pályán, ezzel meghatározva azt a pontot, ahol az esemény aktiválódhat – például egy fegyveres fickó életre keltése, egy üres medence feltöltése vízzel, vagy egy harsány zenei betét megszólaltatása.
A fenti ábrák némelyikén lila foltokat látsz a padlón. Ezek a kioldók. Általában úgy működnek, hogy ha Lara egy ilyen lila folt fölé fut, gyalogol, kúszik, ugrik, úszik stb., akkor az esemény aktiválódni fog. - Van persze más lehetőséged is a kioldók beindítására: például az, hogy Larának muszáj a lila foltot érintenie a padlón, hogy az esemény aktiválódjon (azaz nem elég, ha például átugrik felette), vagy az, hogy egy kapcsológombot kell használnia, vagy az, hogy nem Lara, hanem más lény képes a beindításra.
Sőt, egyes esetekben olyan speciális körülményeket is kialakíthatunk, hogy például kettő vagy több kioldót is aktiválni kell a pálya különböző pontjain ahhoz, hogy az esemény aktiválódjon.
Az eseményeket mindig a lehelyezésük előtt kell beállítani a kioldókban – ezután már csak egy kattintás a padló kívánt részére, hogy a kioldó oda lekerüljön, hogy a padló ott lila legyen.
Az alábbi ábrán a kioldók beállítására szolgáló Set Trigger Type panelt (STT) láthatod. Épp egy olyan kioldó van beállítva, ami egy objektum aktiválására szolgál (OBJECT), ami egy tűz (FLAME_EMITTER), 10 másodpercre (azaz a tűz ezután magától kialszik), de csak akkor, ha Lara érinti a kioldó foltját (PAD).
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image104.jpg
42. ábra
A bevezetőben említettem, hogy mi a TRNG-vel dolgozunk, ami a TRLE továbbfejlesztése. A TRNG egyik fő attrakciója az, hogy rengeteg új kioldót tudsz beállítani, azaz jóval több fajta eseményt tudsz kreálni, mint amire a The Last Revelation képes volt. Ez azt jelenti, hogy az alapvető történések egyszerű, a TRLE által nyújtott kioldókkal is véghezvihetőek, nem kell a TRNG kioldói között keresgélned, ha épp a pálya alapvető működtetéséhez keresel kioldókat, azaz épp nem valami rendkívüli, TRNG-kreálta eseményt kívánsz aktiválni.
A TRNG használata folyamán az alábbi, már a TRLE által is használt kioldókkal találkozhatsz:
Objektumok aktiválása (egy fegyveres fickó életre keltése, egy csapda beindítása, egy ajtó kinyitása, egy tűz fellobbantása, láthatatlan objektum láthatóvá tétele stb.).
Objektumok deaktiválása (egy csapda leállítása, egy ajtó bezárása, egy tűz kioltása stb.).
Kamera ikonok vezérlése, esetlegesen annak meghatározása, ha Lara helyett a kamera mást vesz célba.
Zenei betétek elindítása, háttérzaj cseréje.
Új pálya betöltése.
Néhány speciális effektus (melyeket „OldFlip” nevű, FLIPEFFECT típusú kioldóként találhatunk meg a TRNG-ben): „áramló víz” zaját játssza be röviden, megváltoztatja a ködpamacsok színét stb.
Cseretérképek be- és kikapcsolása.
Titkos helyszínek definiálása.
Áramlatok működtetése.
A TRNG által kreált kioldók elsősorban ACTION vagy FLIPEFFECT névvel találhatóak meg. Az ACTION-ök főképp Mozgó objektumokra hatnak, míg a FLIPEFFECT-ek egyéb eseményeket definiálnak.
Lássunk pár példát arra, hogy miféle lehetőséget teremtenek számunkra a TRNG által kreált kioldók:
Vele mozgó speciális effektus (tűz, fénygömb stb.) hozzárendelése a mozgó objektumhoz.
Lift mozgatása.
OCB beállítások megváltoztatása.
Egy adott animáció erőltetése az ellenségre.
Transzportálás a pálya egy másik pontjára.
Aktiválás (azaz animáció használata) nélkül objektum egyszeri mozdítása egy adott irányban, ide-oda mozgatása, vagy forgatása.
Továbbfejlesztett kioldók zenei betétek elindításához, háttérzaj cseréjéhez.
Speciális kameraeffektusok.
Filmbetétek bejátszása.
Menü tartalmának (lőszer stb.) változtatása anélkül, hogy Lara felvenne egy ilyen objektumot, vagy használná őket.
Lara sérthetetlenné tétele egy adott időre.
Feliratok vagy képek kirakása a képernyőre vagy elvételük onnan.
Eső vagy havazás intenzitásának a megváltoztatása.
A TRNG emellett egészen új aktiválási feltételeket is képes alkalmazni a kioldókhoz. Azaz olyanokat, hogy például, a kioldó beindításához Lara ottlétén kívül az is kell, hogy:
Lara megérintsen egy adott objektumot,
a lény végrehajtsa az adott animációt,
egy adott tárgy ott legyen a menüben,
a játékos lenyomjon egy adott billentyűt,
Lara egy adott fegyvert tartson a kezében.
16. A szkript
A szkriptben olyan adatokat rendelünk szövegesen a pályához, vagy akár a teljes játékhoz, melyeket a szerkesztőprogramban nem tudunk megadni.
[Level]
Name= Temple Of Karnak
Horizon= ENABLED
Layer1= 128,96,64,7
Puzzle= 2,Canopic Jar 1, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle= 3,Canopic Jar 2, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle= 1,Sun Talisman, $0000,$0500,$0000,$0000,$0000,$0002
PuzzleCombo= 1,1,Sun Disk, $0000,$0180,$0000,$0000,$0000,$0002
PuzzleCombo= 1,2,Sun Goddess, $0000,$04b0,$0000,$0000,$0000,$0002
Puzzle= 5,Golden Vraeus, $0003,$0300,$0000,$0000,$0000,$0002
Puzzle= 7,Guardian Key, $0009,$0300,$0000,$0000,$0000,$0002
Key= 2,Hypostyle Key, $0000,$0400,$0000,$c000,$0000,$0002
LoadCamera= 89366,-258,48077,88372,-1300,45701,0
Level= DATA\KARNAK,110
A fenti részlet a TRLE-ben megtalálható karnaki pálya teljes szkriptjét tartalmazza. Ez a szkript az úgynevezett parancsok révén az alábbi adatokat adja meg:
Mi legyen a pálya neve?
Látható legyen-e a horizont?
Miféle színű szűrőn át lássuk az égboltot? (Vagyis használjuk ezt a RAW fájlban látható égbolt-kép színváltoztatásához.)
Milyen kulcsokat vehet fel Lara? Milyen névvel? Milyen pozícióban lesz látható a kulcs a menüben?
A betöltőkép (az állókép, amit akkor látsz, ha elhagyod ezt a pályát, vagy innen egy játékállást töltesz be) koordinátái.
Melyik fájlt töltse be a játékprogram, amikor ezt a pályát kell betöltenie?
Melyik hangfájl induljon háttérzajként, ha a pálya elkezdődik?
A TRLE-ben nagyjából ilyen és hasonló parancsokkal találkozhattunk – de a TRNG további, speciális parancsok garmadájával látott el minket, melyek például az alábbiakra használhatóak:
A „kulcsdarab1+kulcsdarab2=kulcs” tárgykombinációkhoz hasonlóan saját tárgykombinációk definiálása.
Fegyver vagy lőszer tulajdonságainak a testreszabása.
Jeleneteket (cutscene) vezérlő parancsok.
Napló használatához a napló tartalmának és formátumának megadása.
A TriggerGroup parancs:
A TRNG által létrehozott kioldókat a szkriptbe lehet exportálni. Ez azt jelenti, hogy amint a kioldót beállítottad az STT panelen, rákattintasz egy gombra, ami megnyitja a kioldó exportadatait – például ezt:
; Set Trigger Type - FLIPEFFECT 91
; Exporting: TRIGGER(532:0) for FLIPEFFECT(91)
; <#> : Lara. (Health) Lara invulnerable for <&>time with (E)effect
; <&> : 20 seconds
; (E) : Blinking transparency - fast
; Values to add in script command: $2000, 91, $214
A kioldó exportértéke az a $2000, 91, $214 kódszám, amit neked a szkriptbe be kell másolnod.
Az exportált kioldó azért jó, mert a TriggerGroup szkript parancs lehetőséget ad olyan bonyolult kioldó-kombinációk definiálására, mint például ez:
„Ha Feltétel1 és Feltétel2 közül bármelyik igaz, akkor Kioldó1 és Kioldó2 végre lesz hajtva. Ha egyikük sem igaz, akkor Feltétel3 lesz megvizsgálva. Ha igaz, akkor Kioldó3 lesz végrehajtva. De ha nem, akkor Feltétel4 és Feltétel5 lesz megvizsgálva. Ha Feltétel4 igaz, de Feltétel5 nem, akkor Kioldó4, Kioldó5 és Kioldó6 lesz végrehajtva.”
Ezeket a kombinációkat egy olyan kioldó „lila foltjával” indíthatod be például, mely kioldó e TriggerGroup parancs azonosítószámára vonatkozik.
A TriggerGroup parancsok másik nagy haszna ott van, hogy egyes egyéb szkript parancsok (lásd például alant az Organizer és a GlobalTrigger parancsokat) csak TriggerGroupokon keresztül hivatkozhatnak kioldókra.
Az Organizer parancs:
Az Organizer parancsok az események közti időzítést képesek kezelni. A TRLE csak egyedi eseményeket képes időzíteni, és ott se mindegyiket – a TRNG Organizer parancsa azonban megoldja ezt a problémát. (Bár ügyes trükkök révén néha a TRLE is képes ilyesmire.)
Két példa:
- Az Organizert egy kioldó beindítja. Ez azt jelenti, hogy pár másodperc múlva kigyullad egy tűz, majd újabb pár másodperc múlva egy másik tűz is.
- Az Organizert egy kioldó beindítja. Ez azt jelenti, hogy pár másodperc múlva a szoba képe a cseretérképes képre változik, majd újabb pár másodperc múlva visszaváltozik.
Mindkét Organizerben mindkét eseményt egy-egy TriggerGroup-ban kell definiálni. Ez például azt jelenti, hogy az első Organizerben az első tüzet meggyújtó kioldó egy TriggerGroupban szerepel, és a második tüzet meggyújtó kioldó egy másik TriggerGroupban szerepel.
De hát azt mondtuk, hogy az olyan kioldók, melyek objektumokat aktiválnak (így például, melyek tüzet gyújtanak) nem a TRNG termékei – és hát azt is mondtuk, hogy csak a TRNG kioldóit lehet exportálni.
Nos, ez nem ellentmondás, ugyanis a TRLE kioldóinak, azért, hogy exportálni lehessen őket, elkészült a TRNG-féle verziójuk is.
A GlobalTrigger parancs:
A GlobalTrigger parancsok olyan eseményeket vezérelnek, melyek nem köthetőek a pálya egy-egy adott pontjához.
Magyarán szólva, ha egy feltétel bekövetkezik, bárhol a pályán (bár megadhatunk akár egy szűkebb területet is), akkor a GlobalTrigger aktiválni fogja az eseményt.
A GlobalTrigger parancsnak tehát szüksége van egy globális feltételre, és (egy TriggerGroup-ban) egy exportált kioldóra, ami beindul, ha a feltétel igaz.
17. Változók
A változók számokat vagy szövegeket tárolnak. A változók jelentik jelenleg a TRNG magasiskoláját, mert körülményes a munka velük, de ezért cserében olyan rendkívüli hatásokat tudunk megvalósítani, mint például az ellenség életerejét mutató kijelzőcsík ábrázolása, az Angel of Darkness játékban látott „Lara elfárad, ha sokáig kapaszkodik” szituáció beállítása, annak megváltoztatása, hogy az ellenséges dzsip mekkora időközönként lövi ki a gránátokat stb.
A változókat általában az alábbi célokra használjuk:
A változó számszerűen megadja egy paraméter értékét. Például, a paraméter legyen az, hogy Larához épp milyen fegyver van kiválasztva. (Vagyis mit húzna elő, ha a játékos SPACE-t nyomna.) Ez például 2, ha a fegyver revolver, 3, ha Uzi, 4, ha puska. Tehát, ha 4-es értéket definiálunk a változóban, és aztán azt a paraméterre erőltetjük, akkor a kiválasztott fegyver a puska lesz, még akkor is, ha a játékos mást választott ki.
A paraméter aktuális értékét beolvassuk a változóba. Ha ez például 4, akkor tudni fogjuk, hogy a puska a kiválasztott fegyver. - Ezt az információt kiválóan alkalmazhatjuk kioldók vagy GlobalTrigger parancsok feltételeiként.
Ennek alapján lássunk egy egyszerű példát változó használatára:
Az alábbi TriggerGroup lefuttatása révén a pisztoly helyett az Uzi lesz Lara kezdőfegyvere, amikor elkezdi a játékot:
TriggerGroup= 1, $2000, 96, $1, $2000, 48, $5E, $2000, 50, $785F, $2000, 232, $352, $2000, 245, $752, $2000, 100, $E10
A TriggerGroupban az alábbi kioldókkal találkozhatunk:
$2000, 96, $1 – a pisztoly (és lőszerei) eltűnnek a menüből
$2000, 48, $5E – Uzit helyez el a menüben
$2000, 50, $785F – némi Uzi lőszert helyez el a menüben
$2000, 232, $352 – az Uzi értékét (3-t) írja be egy numerikus változóba
$2000, 245, $752 – a változó 3-as értékét a „kiválasztott fegyver” paraméterbe erőlteti
$2000, 100, $E10 – a fegyverövben látható pisztolyokat lecseréli Uzi géppisztolyokra
18. A csalások
A csalások lehetőséget adnak arra, hogy egyszerűen teszteld a pályát. A TRLE csak a repülési csalásra ad lehetőséget (melynek során Larával körberepülheted a pályát), de a TRNG még ennél is több lehetőséget biztosít.
A repülő csalás:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image106.jpg
43. ábra
19. A szerkesztőprogram testreszabása
Lehetőséged van például különféle magyarításokra, vagy az alábbihoz többé-kevésbé hasonló gomb-blokk megalkotására, melynek sajátossága, hogy ilyen blokk alapvetőleg nem létezik, a blokkot te hozod létre, formátumát és tartalmát (a létező funkciók felhasználásával) te határozhatod meg:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image108.jpg
44. ábra
20. A teljesség igénye nélkül néhány egyéb program, melyekre szükséged lehet a TRNG használatához
A TRNG ezek nélkül a programok nélkül is működőképes, de ha bizonyos célokat el akarsz érni a pályádon (például nem „előregyártott”, hanem általad összeállított objektumkészlet használatát), akkor mindenképpen használnod kell majd e programok egyikét-másikát.
TBuilder:
A 6. fejezetben említettem a textúrakészlet összeállítását. Remek eszköz erre ez a program.
Bal oldalon a forrás látható, melyből csempéket vehetsz át, a jobb oldalon pedig a pályád textúrakészlete, amit összeállítasz:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image110.jpg
45. ábra
WADMerger:
Számos dolgot, ami az objektumokkal kapcsolatos, csak itt tudsz végrehajtani. Például ez a program szükséges ahhoz, hogy a 9. fejezetben említett objektumkészleteket (az úgynevezett WAD fájlokat) össze tudd állítani.
A bal oldalon az összeállítás alatt álló WAD látható, a jobb oldalon pedig a forrás, melyből objektumokat helyezhetsz át balra. A kis képen látható objektum az a kijelölt objektum, mellyel épp foglalkozol:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image112.jpg
46. ábra
A WADMerger egyik legfontosabb része az Animation Editor, ahol is a Mozgó objektumokhoz köthető animációkkal foglalkozhatsz:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image114.jpg
47. ábra
Az animáció úgynevezett képkockákból áll. E képkockák sorozatát a játékban lejátszva, megkapod magát az animációt. Minden képkockához több adat tartozik. Elsősorban természetesen az a pillanatkép, ahogy az objektum annál a képkockánál kinéz, de például úgynevezett animációs parancsokat is hozzárendelhetsz egy-egy képkockához.
Az animációs parancsok olyasfélék, mint a kioldók, beindításukhoz az szükséges, hogy épp az a képkocka kerüljön sorra a lejátszásban. Ezáltal olyan eseményeket rendelhetsz egy-egy képkockához, mint például valamiféle zaj lejátszása, vagy (ha a képkocka épp azt ábrázolja, hogy egy hatalmas szörny a földre helyezi a lábát) a nehéz léptek nyomán rengő föld effektusa stb.
A WADMergernek nemcsak saját animációs parancsai vannak. Azaz, kihasználva azt a lehetőséget, hogy az animációs parancsok lényegében véve kioldók, kioldókat nemcsak a szkriptbe exportálhatsz az STT-ből, hanem animációs parancsként a WADMerger-be is.
A fentebb példaként felhozott $2000, 91, $214 kódszámú kioldónak így néznek ki a WADMerger-be szánt exportadatai, feltételezve, hogy azt a kiválasztott animáció 5. képkockájához kívánjuk rendelni:
Add a SetPosition anim command with following values:
Set Position [-24571] [91] [532]
Infos about exported trigger
-------------------------------------------------------------------------------
Set Trigger Type - FLIPEFFECT 91
Exporting: TRIGGER(532:0) for FLIPEFFECT(91)
<#> : Lara. (Health) Lara invulnerable for <&>time with (E)effect
<&> : 20 seconds
(E) : Blinking transparency - fast
AnimCommand: Frame=5
-------------------------------------------------------------------------------
A kioldó exportértéke az a [-24571] [91] [532] kódszám, amit az Animation Editorba be kell gépelned.
StrPix:
Szintén az objektumokkal történő egyes műveletekhez szolgál.
Vegyük például a textúrázást. Nemcsak a szoba kék, zöld stb. síkidomaira kell textúrát lehelyeznünk, hanem az objektumokra is, hisz az objektumoknak is ki kell nézniük valahogy. A StrPix egy kiváló eszköz például arra, hogy az objektumok textúrázását megold.
Balra a WAD fájl textúrakészletét (azaz annak egy részletét) látod, ami az objektumokhoz szükséges (tehát nem azonos a szobához használt textúrakészlettel). Jobbra egy objektum, mellyel épp foglalkozol:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image116.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image118.jpg
48./a ábra 48./b ábra
Metasequoia:
Rengeteg objektumra lelhetsz az Interneten, de ha úgy döntesz, hogy megszerkeszted a saját objektumaidat, akkor figyelmedbe ajánlom ezt a programot.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image120.jpg
49. ábra
Meta2TR:
Ez a program lehetőséget ad például arra, hogy valóságosabban tűnjön fel a szobában mindaz, ami túl szögletes:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image122.jpg
50. ábra (forrás: www.aspidetr.com)
FLEP:
Talán hallottál már a TREP-ről, ami arra szolgál, hogy olyan hatásokat érj el a játékban, melyeket egyébként nem tudnál.
A FLEP gyakorlatilag nem más, mint a TREP-nek a TRNG-kompatibilis verziója, segítségével olyan hatásokat érhetsz el, melyre a TRNG fejlesztései (még) nem adnak lehetőséget.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image124.jpg
51. ábra
Készítette: Ákos(AkyV)
Avagy a pályaszerkesztés fő feladatainak a bemutatása nagyvonalakban, kezdők számára, kedvcsinálás végett
Előfeltétel: TRLE, majd TRNG telepítése.
Jelen oktatóanyag a TRNG 1.2.2.7+ verziójának a használatával készült.
Ha Tomb Raider játékot szeretnél létrehozni, akkor választhatsz néhány lehetőség közül. Először is azt, hogy a szerkesztéshez valamilyen nem hivatalos szerkesztőt használnál (lásd: Dxtre3d), vagy a Core Design által hivatalosan publikált Tomb Raider szerkesztőcsomagot, a TRLE-t.
Nekünk a TRLE-re lesz szükségünk, úgyhogy az elsődleges teendőd feltelepíteni ezt a számítógépedre. Ez egy régi csomag, az 1999-es The Last Revelation játékprogram motorjára épít.
Hála a rajongók kitartó hozzáállásának, a csomagot több irányban is továbbfejlesztették (nem hivatalosan), melyek közül manapság talán a legismertebb irányvonal Paolone fejlesztése, a TRNG. Jelen oktatóanyag megértéséhez a TRLE-re ezt is „rá kell telepíteni”, mielőtt nekiállnál a pályáiddal foglalkozni.
1. A feladat nagysága
Amikor nekiállsz egy pálya elkészítésének, akkor ennyi, ami a rendelkezésedre áll:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image002.jpg
1. ábra
Miközben a végeredménynek megközelítően ilyennek kell lennie:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image004.jpg
2. ábra
Mint láthatod, kétségkívül hatalmas munka áll a mögött, hogy egy pályát elkészíthess. Kétségtelen, egy működőképes pályát akár egy-két hét alatt is összedobhatsz – csak aztán legyen valaki, aki játszik egy ilyen igénytelen munkával.
Szóval, készülj fel rá, hogy ha működőképes és igényes pályát akarsz a kezedből kiadni, mellyel minél több ember játszik szívesen, akkor több hónapnyi munkát kell rászánnod legalább – és akkor azt még nem is említettük, hogy sok játék több, mint egyetlen pályából áll.
Tehát, mielőtt nekigyürkőznél annak, hogy Tomb Raider pályákat készíts, jobb, ha megkérded magadtól:
Lesz erre elég szabadidőm?
Lesz ehhez elég kitartásom? Biztos, hogy érdekelni fog engem ez az egész hónapok vagy akár évek múlva is?
Van-e egy igazán remek ötletem ahhoz, amely köré fel tudom építeni ezt a kalandot?
Vagyok-e eléggé kreatív ahhoz, hogy akár a legapróbb részleteket is kitalálhassam, megtervezhessem?
Tisztában vagyok-e azzal, hogy milyen programokra lesz szükségem? Meg tudom szerezni őket?
Ismerni fogom-e a programokat annyira, hogy érdemi munkát végezzek velük? Lesz kézikönyv, amit átnézzek? Lesz olyan ember, akitől kérdezzek?
Nem ajánlom, hogy addig nekiállj komolyan a pályakészítésnek, amíg bármelyik kérdésre is nemmel felelsz.
Azonban akkor sem érdemes feladni, ha belevágsz, de időközben balul sülnek el a dolgok. Hisz például, ha menet közben ráunsz a pályaszerkesztésre, még akkor sem biztos, hogy ki kell vágni a kukába az egész projektet. Hisz lehet, hogy csak pihenni kell egy-két hetet, valami egészen mással foglalkozni, és aztán újult erővel és kedvvel belevágni megint.
2. Végül is mi az, hogy „pálya”?
Nézz körül a szobában, ahol épp tartózkodsz. Van négy fala, egy padlója, egy mennyezete. Olyan, mintha egy szabályos, téglatest alakú dobozban lennél, igaz? És mi van akkor, ha kilépsz a szobaajtón a folyosóra? Nyilvánvalóan ott is látsz falakat, padlót, mennyezetet.
A Tomb Raider pályák is ezen az elven működnek. Azaz minden helyszín egy-egy dobozszerű szoba, ezek belsejében játszódik az egész játék, és a szobák ajtóknak nevezett lukakkal való összenyitása, azaz a helyszínek összekapcsolása alkotja magát a pályát.
Azaz a te feladataid lényegében véve „csak” az alábbiak:
Hozd létre a szobákat, kapcsold össze őket.
Alakítsd a szobákat olyanra, hogy úgy nézzenek ki, ahogyan te szeretnéd.
Oldd meg a pálya vezérlését. Például, ahhoz, hogy az egyik szobából a másikba juss, a köztük lévő zárt kapunak ki kell nyílnia.
Minden egyes nyers szoba úgy néz ki, ahogyan az 1. ábrán is láthatod: hatalmasak, semmi alakítás nincs még rajtuk, teljesen üresek.
Nézzünk egy igen-igen egyszerű példát, ahol is a teljes pálya csak három kis szobából áll:
Lara egy fapadlójú kis szobában tartózkodik, amint a pálya elkezdődik. Elindul egy kis folyosón. Ekkor kinyílik az orra előtt egy kis kapu, és ő kijut a szabadba.
Ekkor az alábbi három szobával akad dolgunk:
Fapadlójú szoba:
Padló: falécek
Falak: díszes festés
Mennyezet: freskó
Folyosó:
Padló: kőkockák
Falak: kőre vésett hieroglifák
Mennyezet: sima kőlapok
Szabadtéri helyszín:
Padló: fű, kis dombok
Falak: földhányások szélei és a horizont, illetve, a folyosó kapcsolódási pontja körül a folyosó száját jelentő hieroglifás kőfalak
Mennyezet: égbolt
A szobák felülnézeti képe (balról jobbra: szoba, folyosó, szabadtér):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image006.jpg
3. ábra
És oldalnézeti képe:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image008.jpg
4. ábra
Balra a szoba képét úgy látjuk, ahogy a szerkesztőprogramban kinéz, jobbra úgy, ahogyan a játékban:
1. A fapadlójú szoba (az a fura figura jelenti azt, ahol Lara majd elkezdi a pályát, a fehér luk meg az a hely, ahol a másik szoba kapcsolódik hozzá):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image010.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image012.jpg
5./a ábra 5./b ábra
2. A folyosó (balra és jobbra a szoba két fehér vége a fal hiányát jelzi, mert ott kapcsolódik a másik két szobához), a játékbeli képen már nyitott kapuval:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image014.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image016.jpg
6./a ábra 6./b ábra
3. A szabadtér – a folyosó szája felé fordulva (igen, jól látod, a hegyvidéket mutató horizont és az égbolt képe a szerkesztőprogramban soha nem látható):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image018.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image020.jpg
7./a ábra 7./b ábra
A miheztartás végett lássuk, hogy miképp nézhet ki egy teljes egészében elkészített, működőképes és igényes pálya felülnézeti képe (a színjelölésekkel most ne foglalkozz):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image022.jpg
8. ábra
3. A szoba teljes egészére vonatkozó formázási műveletek
Szobát létrehozni lényegében véve csak egy kattintás az egérrel. Általában ekkor egy olyan jellegtelen és ormótlan szoba a „jutalmunk”, mint amit az 1. ábrán is láthatunk.
Amint a szobád létrejött, akár máris elvégezhetsz rajta olyan formázási műveleteket, melyek kihatnak az egész szobára:
Szobák átméretezése:
Az 1. ábrán látható óriási szoba a lehető legnagyobb alapterületű. Tehát az alapterület átméretezése csakis az alapterület csökkentését jelentheti.
Ellenben a szintén hatalmas belmagasság csökkenthető, és – elvileg akár extrém méretekig is – növelhető is.
Az alábbi ábrákon balra az látható, hogy egy hatalmas szoba egy részét pirossal kijelöltük. A jobb oldali ábrán az alakítás utáni végeredmény látható: a kijelölt terület vált a szoba új alapterületévé, és egyben a hatalmas belmagasság is csökkent:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image024.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image026.jpg
9./a ábra 9./b ábra
Szobák koordinátái:
A szobákat az x/y/z koordináták mentén horizontálisan és vertikálisan is elmozdíthatjuk.
Az alábbi ábrákon ugyanazt a (piros) szobát láthatjuk két különböző pozícióban a pályán:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image028.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image030.jpg
10./a ábra 10./b ábra
A szoba alapfénye:
A fények beállítása az alapszínek beállítását jelenti. Minden alapszínnek van egy-egy 256 fokozatú skálája, a piros, zöld és kék alapszínek így kapott aránya határozza meg a fény színét.
Az 5./a ábrán látható szoba, ezúttal két különböző alapfénnyel:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image032.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image034.jpg
11./a ábra 11./b ábra
(Azért „alapfényről” beszélünk, mert a fényviszonyok koncentrált fényekkel módosíthatóak – lásd később.)
Szobastátuszok:
Többnyire csak egy-egy egérkattintásba kerül, hogy bizonyos státuszokat be- vagy kikapcsolj a szobákban: hogy víz legyen a szobában, és ott Lara úszkálhasson, hogy láthasd onnan a napkorongot, vagy, hogy essen ott a hó. Stb.
A 7./b ábrán is látható szobának ezúttal esőstátusza van, azaz szakad ott az eső (ezért is vannak a fényviszonyok sötétebbre állítva):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image036.jpg
12. ábra
Átjárók a szobák között:
Miképp a 3. ábrán is láthatod, a szorosan egymás mellé illesztett szobák egymással összekapcsolhatóak. Ekkor a szobák egymással érintkező részei eltűnnek, mindkét szoba „kilukad” ott, egy olyan átjáró (ajtó) keletkezik, mint amit például az 5./a ábrán is láthatunk egy fehér foltként.
Egyéb szobaműveletek:
Most csak egyetlen példát mutatnék be e speciális műveletekre – lássuk az alábbi szobát két különböző irányba beforgatva, amihez nyilvánvalóan a forgatási műveletet használtuk:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image038.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image040.jpg
13./a ábra 13./b ábra
4. A felszín formálása
Lássunk pár példát arra, hogy a felszín formálásával miféle jelenségeket tudunk megvalósítani:
a, egy megemelt blokk a szoba közepén (amire Lara felmászhat, hogy felvegye onnan az egészségcsomagot), illetve szegély a szoba körül, illetve kupolás szobamennyezet:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image042.jpg
14. ábra
b, a 7./a ábrán is látható szoba dimbes-dombos padlója (a füvet elmozdítottam, hogy a domborzat jobban látható legyen):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image044.jpg
15. ábra
Figyeld meg a fenti ábrán, hogy a padlón látható négyzetrács egyes négyzeteit helyenként két-két háromszögre „törheted”, amivel további érdekes domborzati hatásokat tudsz elérni.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image046.jpg
16. ábra
Mint a 16. ábrán láthatod, néhány ilyen háromszög belekerülhet a „fehér lukba”, azaz a szobák közti átjáróba is. A piros szín azt jelzi, hogy a háromszög átjárható – tehát, mint láthatod, az U alakú átjáró sarkában a 90 fokos letörés helyett ezúttal egy szebben kidolgozott megoldás készült.
c, lépcső:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image048.jpg
17. ábra
d, lejtő:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image050.jpg
18. ábra
e, szoba fölé benyúló perem:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image052.jpg
19. ábra
f, ívelt szoba:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image054.jpg
20. ábra
g, tölcsér alakú szoba:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image056.jpg
21. ábra
5. Speciális tulajdonságú területek
A fenti ábrákon a padlót és a mennyezetet általában kék, a falakat zöld színnel láthatod. Ha valamely más szín van ott, akkor az azt jelenti, hogy ott valami speciális tulajdonsága van a területnek.
Nézzünk pár példát:
Az alábbi ábrán a zöld padló (az ülő, az útból elhúzható szobor alatt) azt jelenti, hogy ott „létra van”, azaz mászható a fal. A barackszínű terület felett Lara elkaphatja a mennyezet kapaszkodóit, hogy majomként lengjen tova. A szürke területre ellenség nem léphet be, csak Lara.
A zöld falak a szoba közepén szintén speciálisak, abban az értelemben, hogy létrehozásukról külön gondoskodni kell, hisz alapesetben falakat csak a szobák körül találhatunk.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image058.jpg
22. ábra
Csak egy-egy egérkattintásba kerül az efféle tulajdonságok lehelyezése a kijelölt területekre.
6. Textúracsempék
Természetesen nem olyan kék-zöld-stb. színű síkidomokat fogsz látni a játékban, mint amilyeneket például a 22. ábrán is látsz, hanem a síkidomokra lehelyezett textúracsempék tűnnek majd ott fel.
A 22. ábra szobájának a képét itt a síkidomokra lehelyezett textúracsempékkel együtt láthatod:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image060.jpg
23. ábra
A textúracsempéket minden pályához egy-egy olyan csempekészletből választhatod ki, mint például ez (nem feltétlenül a teljes csempét, hanem esetleg csak egy részletét kiválasztva a lehelyezéshez):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image062.jpg
24. ábra
Elvileg használhatsz akár „előregyártott” csempekészleteket is, de elsősorban a te feladatod ezek összeállítása – hisz minden pályához eltérő készletre lehet szükség, az „egyiptomi romok” és az „űrbázis” pályák nyilvánvalóan más képet kell, hogy mutassanak.
Falszekciók:
A fenti ábrák némelyikén azt láthatod, hogy egyes szobaelemek részekre vannak osztva. Így például a 22. ábrán a fal paneljei egymás alatti szekciókra vannak felosztva. (Ezért vannak eltérő zöld árnyalataik.) Ennek textúrázási oka van, amit még jobban szemléltet a 7./a és a 15. ábra: az itt látható szoba falainak az alsó részét „földhányás” textúrával, felső részét a horizonthoz szükséges „átlátszó textúrával” (ezért látszik mögötte a háttér fehérsége) textúráztuk.
A szekciók kialakítása a te feladatod.
Átjárók textúrázása:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image064.jpg
25. ábra
A fenti képen ezúttal nem látsz fehér foltot az átjáróknál, hanem jól láthatod az összekapcsolt szobákat. Több helyen is láthatod, hogy rács zárja le az átjárót a két szoba között. Nem, ezúttal ez nem olyan rácsos kapu, mint amit a 6./a ábrán is láthatsz, hanem egy textúracsempe.
De hát hogyan lehet átjárót textúrázni, hisz az csak egy luk, nincsenek ott kék, zöld stb. síkidomok?
Nos, a probléma megoldásához egy „hamis” faldarabbal kell eltömni az átjárót, és a „rács” csempe erre lesz majd lehelyezve.
Animált textúrák:
Egy-egy kék, zöld stb. síkidomon a textúra esetenként nem állandó, hanem „mozog”, animált, mert arra van szükségünk a kívánt hatás eléréshez.
Lássunk egy példát:
A 3. fejezetben említettem, hogy miként kell vizet létrehozni egy szobában. A nyitott medence és a felette lévő „levegős” tér közti átmenetnek azonban szépen kell kinéznie, ezért a vízfelszínt „hullám” textúrával látjuk el (lásd a 26. ábrát), és mivel a hullám mozog, ezért ennek a textúrának animálódnia kell.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image066.jpg
26. ábra
A textúra animálódáshoz az kell, hogy az animációs panelen (lásd a 27. ábrát) összekapcsolj néhány textúracsempét (ezt zöld keret jelzi).
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image068.jpg
27. ábra
Látható, hogy az összekapcsolt csempék mind „hullám” csempék, egymástól némiképp kicsit eltérnek. Nem igazán számít, hogy közülük melyik van lehelyezve a vízfelszín tetejének egy-egy pontjára, mivel a játékprogram gyorsan váltogatni fogja ott e csempéket egymással, miáltal úgy tűnik, hogy a hullámalak tényleg mozog – azaz „hullámzik”.
Lépések zajai:
Lara általános lépészaja bizonyos körülmények között változhat. Így például, ha a padlón „hó” textúracsempe van lehelyezve, akkor ott értelemszerűen nem kopogó lépteket kívánunk hallani.
A „textúrazaj” panel igencsak hasonló a fent mutatott animációs panelhez. A textúrazaj panelen tudjuk beállítani azt, hogy egy-egy textúracsempe efféle extra lépészajjal bírjon.
Bucka leképzés:
A bucka leképzés (bump mapping) során egyenetlenebb felület illúzióját fogja kelteni a textúra.
Azokat a textúrákat, melyekhez bucka leképzést rendelsz, a textúrazaj panelen tudod megadni.
Égbolt és horizont:
A 7./a és b ábrák jól mutatják: ha égboltot és horizontot kívánsz láttatni, akkor – mint fent említettem - csak „átlátszó textúrára” van ott szükséged a szerkesztőprogramban, egyébként semmiféle égbolt vagy horizont rajzolata nem látszódik ott a szobában. Tehát egyéb műveletekre van szükséged az égbolt és a horizont képének kialakításához. Az égbolt rajzolatát például egy RAW kiterjesztésű fájlban kell megadni, amit a pályádhoz csatolsz.
7. Effektikonok
Csak egy-egy egérkattintásba kerül egy-egy effektikon létrehozása, melyeket ezek után a szobákban kell lehelyezned.
Nézd például a 26. ábrát, ahol is számos effektikont találhatsz. A „villanykörte” alakú ikonok a szoba alapfényét változtathatják meg az adott pontokon, míg a piros vonalakkal bíró ikonok kamerákat jelentenek, amelyek hosszabb-rövidebb időre mutatják az általános kamera helyett a történéseket.
Az effektikonok különböző koncentrált (azaz egy adott pontból, az ikonból magából származó) hatások elérésére szolgálnak:
Fény: különböző fajtái vannak, különböző fényeffektusok létrehozásához – lásd például azt, ami reflektor módjára fénykévét vet, vagy azt, amelyik árnyékot képez stb.
Kamera: statikus vagy változó - de az általánostól mindenképp eltérő - szemszögű képet mutatnak egy adott időn át.
Köd: ködpamacsot képez.
Áramlat: áramlatot képez a vízben – vagy azért, hogy odarántsa Larát, vagy épp ellenkezőleg, hogy onnan eltaszítsa őt.
Zaj: olyan, általad kiválasztott zajt sugároz szét maga körül, ami attól függően halkul, vagy erősödik, hogy Lara milyen közel van hozzá. (Jó ötlet tehát ilyet alkalmazni például függőleges felületre helyezett „vízesés” animált textúracsempe mellé, a robajló víz zajának demonstráláshoz.)
Példák:
Piros fényű terület a sötét szobában, fényikon segítségével:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image070.jpg
28. ábra
Szokatlan szemszögből láthatjuk Larát, egy kamera ikonnak köszönhetően:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image072.jpg
29. ábra
8. Látótávolság és térköd
A látótávolság azt határozza meg, hogy a pálya mely távolságait láthassa be maximálisan Lara. Az alábbi ábrákon magas, illetve alacsony látótávolság mellett láthatjuk ugyanazt a pályarészletet. Mint látható, alacsony látótávolság mellett a pálya távoli részei nem kerülnek megrajzolásra. Mégsem ajánlott a túl magas látótávolság, mert ez magasabb gépkapacitást igényelhet.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image074.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image076.jpg
30./a ábra 30./b ábra
A térköd alapvető szerepe az, hogy jótékony homály képzésével a meg nem rajzolt távoli részek ne nézzenek ki olyan csúnyán (a ábra). Azonban (lásd: b ábra) az is látható, hogy a térködnek dekoratív szerepe is lehet: például, ha kiszínezzük, és úgy elnyújtjuk, hogy akár már a Larához közelebbi részeket is elborítsa.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image078.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image080.jpg
31./a ábra 31./b ábra
9. Objektumok
Az objektumok kisebb-nagyobb tárgyak, melyeket el kell helyezni a szobákban. Az alábbi fajtáikat különböztetném meg:
Lények (Lara, emberek, állatok, fantázialények, ellenségek, barátok): ahol lehelyezed őket a pályán, ott fognak életre kelni. Lara kivételével – akit a játékos irányít – mesterséges intelligencia dönti el, hogy melyik animációjuk (lövés, futás, ugrás stb.) mikor kerül véghezvitelre.
Egyéb mozgó tárgyak, melyeknek jól körülhatárolható szerepük van: ajtók, csapdák, tolható-húzható kockák, kapcsolókarok, járművek, potyogó padló stb.
Díszletek, melyek néha mozognak (emlékezz például a The Last Revelation Coastal Ruins pályájának a vízben hullámzó növényére), többnyire azonban mozdulatlanok (vázák, szobrok, oszlopok stb.).
Menüelemek, amiket Lara felvesz: lőszer, fegyver, egészségcsomag, feszítővas, kulcsok stb.
Jelképes objektumok: ezeket „piros kis gúla” képében találod a szerkesztőprogramban, a játékban azonban úgy jelennek meg, mint lobogó tűz, a mennyezetről lelógó kötél, földrengéskeltő stb.
Speciális objektumok: lásd például a PISTOLS_ANIM objektumot, melynek ugyan ott kell lennie a pályád objektumai között, mégsem helyezed le soha egy szobában sem. Hiszen a célja egyrészt az, hogy a Lara pisztolyhasználatához tartozó animációkat tárolja, másrészt az, hogy a „Lara keze pisztollyal” objektumdarabot tárolja, amit Lara objektumon a játék automatikusan kicserél a „Lara üres keze” objektumdarabbal akkor, amikor Lara kezében pisztolyt kell látnunk.
A „fáklyatartó kar” díszlet objektumon látható piros gúla a játékban tűzként fog lobogni:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image082.jpg
32. ábra
Mint ahogy a csempéknél is mondtam, elvileg használhatsz akár „előregyártott” objektumkészleteket is, de elsősorban a te feladatod ezek összeállítása – hisz minden pályához eltérő készletre lehet szükség, az „egyiptomi romok” és az „űrbázis” pályák nyilvánvalóan más objektumokat kell, hogy tartalmazzanak.
Mozgó és Statikus objektumok:
Az úgynevezett Mozgó objektumok nem feltétlenül mozdulnak meg, lehetnek akár díszletek is, de célunk általában az, hogy animációik révén mozgassuk őket.
Ezzel szemben az úgynevezett Statikus objektumok mindig mozdulatlan díszletek.
Több előnye és hátránya is lehet annak, hogy egy objektum Mozgó vagy Statikus. Most kiemelném azt, hogy a szoba fényviszonyai csak a Mozgó objektumokra hatnak, a Statikusok számára saját fényt tudsz beállítani.
Az alábbi képen jól látható, hogy a szoba erőteljes zöld fénye csak a Mozgó szoborra van hatással, miközben a Statikus váza saját erőteljes, vörös fényével világít:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image084.jpg
33. ábra
Eldobott objektumok:
Érdemes egyes lényekhez (értelemszerűen emberi ellenfelekhez) menübe való tárgyakat elhelyezned, mert akkor a haláluk pillanatában elejtik azt (épp, ahol akkor tartózkodtak), így Lara ezt követően felveheti azt.
Például: a fegyveres fickó Uzival lő, így megéri esetleg Uzi lőszert lehelyezni ott a játékban, ahol a lényt is lehelyezted, így halála helyszínén Uzi lőszert fog elejteni, hogy Lara onnan felvehesse azt.
OCB beállítások:
Minden objektumhoz tartozik egy úgynevezett Object Code Bit panel (OCB), ahol is speciális tulajdonságokat rendelhetünk az objektumhoz – például megváltoztathatjuk a lobogó tűz nagyságát.
TRNG objektumok:
Bár a TRLE a The Last Revelation motorjára épít, a különféle felhasználói ügyeskedések lehetővé tették, hogy olyan objektumok legyenek itt működőképesek, melyeket ez a motor eredetileg nem támogatott (például tigris).
Hála a TRNG-nek, több olyan objektum szerves részévé válhatott a rendszernek, mint például a TR2-ben látható motorcsónak, a TR3-ban látható búvár vagy a TR5-ben felbukkanó elektronikus kapcsolótábla.
Plusz, szemben a TRLE-vel, a TRNG olyan extra objektum-tulajdonságokat is lehetővé tesz, melyeket eddig a Core Design egyik klasszikus Tomb Raider játékában sem láthattunk. Például, a Statikus objektum felrobban, ha Lara megérinti azt, vagy kioltani a tüzet Larán, anélkül, hogy vízbe ugrana stb.
Ütközések:
Az ütközés azt jelenti, hogy ha Lara nekimegy valaminek/rálép valamire (például szobafal/padló), akkor nem fog azon áthatolni, mintha az levegőből lenne.
Az objektumok ütközése néha azonban kényelmetlen, az alábbi okok miatt:
Az objektum egy láthatatlan téglatestbe (az úgynevezett ütközési dobozba) van foglalva, melybe Lara nem kerülhet be. Ez zavaró lehet, például ha azt szeretnénk, hogy Lara az objektum azon részeivel érintkezhessen, melyek jócskán a dobozon belül találhatóak. (A 48./b ábrán egy oszlop ütközési dobozát láthatod például.)
Az ütközési dobozok Lara számára nem használhatóak. Így például, a 14. ábrán mutatott blokk tetejére Lara fel tud mászni, de ha van egy asztal objektumunk, akkor az asztal ütközési dobozának a tetejére Lara nem tud felmászni, azt érzékeltetve, hogy felmászott az asztal tetejére.
Ennek megoldása a te feladatod, melyeket például az alábbi módokon érhetsz el:
A zavaró ütközési doboz elmozdítása után láthatatlan, vékony, de ütközéssel bíró objektumokat helyezel oda, ahol Larának az eredeti objektummal ténylegesen ütközni kellene, ezáltal az elérendő rész ténylegesen is elérhetővé válik.
Az alábbi ábrán az látható, hogy Lara kinn áll az erkélyen, azaz „benne áll az ütközési doboz nélküli erkély objektumban”. Mint látod, a korlátok ütközése úgy lett megoldva, hogy fekete (a játékban átlátszó) ütközési objektumok állják ott el az ő útját, hogy le ne essen.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image086.jpg
34. ábra (forrás: http://trlevelmanager.net/ng.htm)
A zavaró ütközési doboz elmozdítása után azt szimulálod, mintha ott formáltad volna a felszínt.
Az alábbi ábrán az látható, hogy két szobor és egy szarkofág helyén miféle ütközéseket szimuláltunk. Látszik például, hogy a szarkofág helyén szimulált blokk tetejére Lara úgy mászhat fel, hogy úgy tűnjön, mintha a szarkofág tetején állna. - Természetesen az A ábra mutatja a valós képet, a B ábra csak az érthetőség kedvéért készült, valójában semmiféle felszínformálás nem történt ott ezúttal.
(De az is látható például, hogy az oroszlánszobor helyén létrejövő „lejtő” szimuláció kicsit pontatlan, nem túl sikeresen szimulálja az oroszlán alakját.)
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image088.jpg
35. ábra (forrás: http://trlevelmanager.net/ng.htm)
10. Cseretérképek
Cseretérképet alkalmazunk, ha egy szobának két különböző képet akarunk. Ha például földrengés effektusát használjuk, és a szoba a földrengésben összedől. Ekkor a szoba egyik képe a földrengés előtti ép, másik képe a földrengés utáni romos állapotot mutatja.
A cseretérkép a szoba „alternatív”, változás utáni kinézetét tárolja.
Szoba két különböző képe a szerkesztőprogramban – látható, hogy a homokbuckák eltűntek (a játékmenet szerint azért, mert aláhullottak a padlón lévő rácsozaton át):
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image090.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image092.jpg
36./a ábra 36./b ábra
A szobakép körüli fehérség azért változott feketére, mert ez jelzi azt, hogy ezúttal a cseretérkép szobaképe látható.
11. Zene és zaj
Bármi, amit hallasz a játék alatt, azt kisebb-nagyobb hangfájlok (jellemzően WAV fájlok, de a TRNG lehetőséget ad egyéb kiterjesztésekhez is) formájában a játék mappáiban tárolni kell.
E fájlok lehetnek:
Végtelenített háttérzaj, ami a pálya alaphangulatát hivatott megteremteni. Például, ha a pálya egy tengerparti füves síkságot ábrázol, akkor a „szélzúgás+sirályok hangja” háttérzaj kiváló ötlet lehet. – Jellemzően a szkriptben (lásd alant) történik a definiálása.
Pár másodpercestől az egy-két percesig terjedő tartalmú zenei betétek, melyek a pillanatnyi állapotot kívánják hangsúlyozni. Például, azon a terepen, ahol Lara súlyos harcba keveredik, megéri elindítani egy harsány, pattogó ritmusú, hosszabb zenei betétet. – Kioldók (lásd alant) indítják be őket.
Végtelenített zajok: a fent említett zaj effektikonok használják őket.
Egyedi zajok: egy kardot lengető ellenfélnél a kardsuhintás zaja, egy vadállat morranása, Lara lépésének koppanása, egy halálsikoly stb. – Jellemzően animációs parancsok (lásd alant) indítják be őket.
12. Szövegek
Lehetőséged van bármiféle szöveget bármikor kiírni a képernyőre, melyhez rengeteg paramétert (betűtípus, betűméret stb.) te határozhatsz meg – sőt, lehetőséged van a TRLE klasszikus szövegeinek (lásd főleg: menük) kinézetén is változtatni.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image094.jpg
37. ábra
Minden szövegnek, ami a játékban valaha is kiírásra kerül, annak benne kell lennie a szövegtárban:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image096.jpg
38. ábra
13. Képek
BMP fájlokat vagy sprite-okhoz tartozó állóképeket helyezhetsz el a képernyőn.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image098.jpg
39. ábra
Néhány képnek speciális funkciója van – így valósítható meg például a napló is:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image100.jpg
40. ábra
14. Filmek és jelenetek
Lehetőség van AVI, WMV vagy MPG kiterjesztésű videofájlok bejátszására is, játék közben, de akár a főmenüben is.
A jelenet (cutscene) a pályán játszódik, de a szereplők nem a játékos vagy a mesterséges intelligenciájuk által vezérelve mozognak, mint általában a játékban, hanem tulajdonképpen „filmkockáról filmkockára” fel kell venni a mozdulataikat, szavaikat stb. Ezeket a beállításokat és a felvételt magát neked kell véghezvinni, hogy aztán a rögzített jelenetet később bejátszhasd a játékban.
Pillanatkép a The Last Revelation játék legelső jelenetéből:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image102.jpg
41. ábra (forrás: www. skribblerz. com)
15. Kioldók
Kioldók nélkül a pályán lényegében semmi nem történne: Larát mozgatná a játékos, a víz hullámozna, a háttérben pedig szólna valami, a pálya alaphangulatát megteremtő háttérzaj – és ezáltal Lara haja is mozogna a szélben. De nagyjából ennyi.
Nevüknek megfelelően a kioldók mindig kioldanak, engedélyeznek, aktiválnak egy eseményt. A kioldókat te helyezed le a pályán, ezzel meghatározva azt a pontot, ahol az esemény aktiválódhat – például egy fegyveres fickó életre keltése, egy üres medence feltöltése vízzel, vagy egy harsány zenei betét megszólaltatása.
A fenti ábrák némelyikén lila foltokat látsz a padlón. Ezek a kioldók. Általában úgy működnek, hogy ha Lara egy ilyen lila folt fölé fut, gyalogol, kúszik, ugrik, úszik stb., akkor az esemény aktiválódni fog. - Van persze más lehetőséged is a kioldók beindítására: például az, hogy Larának muszáj a lila foltot érintenie a padlón, hogy az esemény aktiválódjon (azaz nem elég, ha például átugrik felette), vagy az, hogy egy kapcsológombot kell használnia, vagy az, hogy nem Lara, hanem más lény képes a beindításra.
Sőt, egyes esetekben olyan speciális körülményeket is kialakíthatunk, hogy például kettő vagy több kioldót is aktiválni kell a pálya különböző pontjain ahhoz, hogy az esemény aktiválódjon.
Az eseményeket mindig a lehelyezésük előtt kell beállítani a kioldókban – ezután már csak egy kattintás a padló kívánt részére, hogy a kioldó oda lekerüljön, hogy a padló ott lila legyen.
Az alábbi ábrán a kioldók beállítására szolgáló Set Trigger Type panelt (STT) láthatod. Épp egy olyan kioldó van beállítva, ami egy objektum aktiválására szolgál (OBJECT), ami egy tűz (FLAME_EMITTER), 10 másodpercre (azaz a tűz ezután magától kialszik), de csak akkor, ha Lara érinti a kioldó foltját (PAD).
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image104.jpg
42. ábra
A bevezetőben említettem, hogy mi a TRNG-vel dolgozunk, ami a TRLE továbbfejlesztése. A TRNG egyik fő attrakciója az, hogy rengeteg új kioldót tudsz beállítani, azaz jóval több fajta eseményt tudsz kreálni, mint amire a The Last Revelation képes volt. Ez azt jelenti, hogy az alapvető történések egyszerű, a TRLE által nyújtott kioldókkal is véghezvihetőek, nem kell a TRNG kioldói között keresgélned, ha épp a pálya alapvető működtetéséhez keresel kioldókat, azaz épp nem valami rendkívüli, TRNG-kreálta eseményt kívánsz aktiválni.
A TRNG használata folyamán az alábbi, már a TRLE által is használt kioldókkal találkozhatsz:
Objektumok aktiválása (egy fegyveres fickó életre keltése, egy csapda beindítása, egy ajtó kinyitása, egy tűz fellobbantása, láthatatlan objektum láthatóvá tétele stb.).
Objektumok deaktiválása (egy csapda leállítása, egy ajtó bezárása, egy tűz kioltása stb.).
Kamera ikonok vezérlése, esetlegesen annak meghatározása, ha Lara helyett a kamera mást vesz célba.
Zenei betétek elindítása, háttérzaj cseréje.
Új pálya betöltése.
Néhány speciális effektus (melyeket „OldFlip” nevű, FLIPEFFECT típusú kioldóként találhatunk meg a TRNG-ben): „áramló víz” zaját játssza be röviden, megváltoztatja a ködpamacsok színét stb.
Cseretérképek be- és kikapcsolása.
Titkos helyszínek definiálása.
Áramlatok működtetése.
A TRNG által kreált kioldók elsősorban ACTION vagy FLIPEFFECT névvel találhatóak meg. Az ACTION-ök főképp Mozgó objektumokra hatnak, míg a FLIPEFFECT-ek egyéb eseményeket definiálnak.
Lássunk pár példát arra, hogy miféle lehetőséget teremtenek számunkra a TRNG által kreált kioldók:
Vele mozgó speciális effektus (tűz, fénygömb stb.) hozzárendelése a mozgó objektumhoz.
Lift mozgatása.
OCB beállítások megváltoztatása.
Egy adott animáció erőltetése az ellenségre.
Transzportálás a pálya egy másik pontjára.
Aktiválás (azaz animáció használata) nélkül objektum egyszeri mozdítása egy adott irányban, ide-oda mozgatása, vagy forgatása.
Továbbfejlesztett kioldók zenei betétek elindításához, háttérzaj cseréjéhez.
Speciális kameraeffektusok.
Filmbetétek bejátszása.
Menü tartalmának (lőszer stb.) változtatása anélkül, hogy Lara felvenne egy ilyen objektumot, vagy használná őket.
Lara sérthetetlenné tétele egy adott időre.
Feliratok vagy képek kirakása a képernyőre vagy elvételük onnan.
Eső vagy havazás intenzitásának a megváltoztatása.
A TRNG emellett egészen új aktiválási feltételeket is képes alkalmazni a kioldókhoz. Azaz olyanokat, hogy például, a kioldó beindításához Lara ottlétén kívül az is kell, hogy:
Lara megérintsen egy adott objektumot,
a lény végrehajtsa az adott animációt,
egy adott tárgy ott legyen a menüben,
a játékos lenyomjon egy adott billentyűt,
Lara egy adott fegyvert tartson a kezében.
16. A szkript
A szkriptben olyan adatokat rendelünk szövegesen a pályához, vagy akár a teljes játékhoz, melyeket a szerkesztőprogramban nem tudunk megadni.
[Level]
Name= Temple Of Karnak
Horizon= ENABLED
Layer1= 128,96,64,7
Puzzle= 2,Canopic Jar 1, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle= 3,Canopic Jar 2, $0001,$0320,$0000,$0000,$0000,$0002
Puzzle= 1,Sun Talisman, $0000,$0500,$0000,$0000,$0000,$0002
PuzzleCombo= 1,1,Sun Disk, $0000,$0180,$0000,$0000,$0000,$0002
PuzzleCombo= 1,2,Sun Goddess, $0000,$04b0,$0000,$0000,$0000,$0002
Puzzle= 5,Golden Vraeus, $0003,$0300,$0000,$0000,$0000,$0002
Puzzle= 7,Guardian Key, $0009,$0300,$0000,$0000,$0000,$0002
Key= 2,Hypostyle Key, $0000,$0400,$0000,$c000,$0000,$0002
LoadCamera= 89366,-258,48077,88372,-1300,45701,0
Level= DATA\KARNAK,110
A fenti részlet a TRLE-ben megtalálható karnaki pálya teljes szkriptjét tartalmazza. Ez a szkript az úgynevezett parancsok révén az alábbi adatokat adja meg:
Mi legyen a pálya neve?
Látható legyen-e a horizont?
Miféle színű szűrőn át lássuk az égboltot? (Vagyis használjuk ezt a RAW fájlban látható égbolt-kép színváltoztatásához.)
Milyen kulcsokat vehet fel Lara? Milyen névvel? Milyen pozícióban lesz látható a kulcs a menüben?
A betöltőkép (az állókép, amit akkor látsz, ha elhagyod ezt a pályát, vagy innen egy játékállást töltesz be) koordinátái.
Melyik fájlt töltse be a játékprogram, amikor ezt a pályát kell betöltenie?
Melyik hangfájl induljon háttérzajként, ha a pálya elkezdődik?
A TRLE-ben nagyjából ilyen és hasonló parancsokkal találkozhattunk – de a TRNG további, speciális parancsok garmadájával látott el minket, melyek például az alábbiakra használhatóak:
A „kulcsdarab1+kulcsdarab2=kulcs” tárgykombinációkhoz hasonlóan saját tárgykombinációk definiálása.
Fegyver vagy lőszer tulajdonságainak a testreszabása.
Jeleneteket (cutscene) vezérlő parancsok.
Napló használatához a napló tartalmának és formátumának megadása.
A TriggerGroup parancs:
A TRNG által létrehozott kioldókat a szkriptbe lehet exportálni. Ez azt jelenti, hogy amint a kioldót beállítottad az STT panelen, rákattintasz egy gombra, ami megnyitja a kioldó exportadatait – például ezt:
; Set Trigger Type - FLIPEFFECT 91
; Exporting: TRIGGER(532:0) for FLIPEFFECT(91)
; <#> : Lara. (Health) Lara invulnerable for <&>time with (E)effect
; <&> : 20 seconds
; (E) : Blinking transparency - fast
; Values to add in script command: $2000, 91, $214
A kioldó exportértéke az a $2000, 91, $214 kódszám, amit neked a szkriptbe be kell másolnod.
Az exportált kioldó azért jó, mert a TriggerGroup szkript parancs lehetőséget ad olyan bonyolult kioldó-kombinációk definiálására, mint például ez:
„Ha Feltétel1 és Feltétel2 közül bármelyik igaz, akkor Kioldó1 és Kioldó2 végre lesz hajtva. Ha egyikük sem igaz, akkor Feltétel3 lesz megvizsgálva. Ha igaz, akkor Kioldó3 lesz végrehajtva. De ha nem, akkor Feltétel4 és Feltétel5 lesz megvizsgálva. Ha Feltétel4 igaz, de Feltétel5 nem, akkor Kioldó4, Kioldó5 és Kioldó6 lesz végrehajtva.”
Ezeket a kombinációkat egy olyan kioldó „lila foltjával” indíthatod be például, mely kioldó e TriggerGroup parancs azonosítószámára vonatkozik.
A TriggerGroup parancsok másik nagy haszna ott van, hogy egyes egyéb szkript parancsok (lásd például alant az Organizer és a GlobalTrigger parancsokat) csak TriggerGroupokon keresztül hivatkozhatnak kioldókra.
Az Organizer parancs:
Az Organizer parancsok az események közti időzítést képesek kezelni. A TRLE csak egyedi eseményeket képes időzíteni, és ott se mindegyiket – a TRNG Organizer parancsa azonban megoldja ezt a problémát. (Bár ügyes trükkök révén néha a TRLE is képes ilyesmire.)
Két példa:
- Az Organizert egy kioldó beindítja. Ez azt jelenti, hogy pár másodperc múlva kigyullad egy tűz, majd újabb pár másodperc múlva egy másik tűz is.
- Az Organizert egy kioldó beindítja. Ez azt jelenti, hogy pár másodperc múlva a szoba képe a cseretérképes képre változik, majd újabb pár másodperc múlva visszaváltozik.
Mindkét Organizerben mindkét eseményt egy-egy TriggerGroup-ban kell definiálni. Ez például azt jelenti, hogy az első Organizerben az első tüzet meggyújtó kioldó egy TriggerGroupban szerepel, és a második tüzet meggyújtó kioldó egy másik TriggerGroupban szerepel.
De hát azt mondtuk, hogy az olyan kioldók, melyek objektumokat aktiválnak (így például, melyek tüzet gyújtanak) nem a TRNG termékei – és hát azt is mondtuk, hogy csak a TRNG kioldóit lehet exportálni.
Nos, ez nem ellentmondás, ugyanis a TRLE kioldóinak, azért, hogy exportálni lehessen őket, elkészült a TRNG-féle verziójuk is.
A GlobalTrigger parancs:
A GlobalTrigger parancsok olyan eseményeket vezérelnek, melyek nem köthetőek a pálya egy-egy adott pontjához.
Magyarán szólva, ha egy feltétel bekövetkezik, bárhol a pályán (bár megadhatunk akár egy szűkebb területet is), akkor a GlobalTrigger aktiválni fogja az eseményt.
A GlobalTrigger parancsnak tehát szüksége van egy globális feltételre, és (egy TriggerGroup-ban) egy exportált kioldóra, ami beindul, ha a feltétel igaz.
17. Változók
A változók számokat vagy szövegeket tárolnak. A változók jelentik jelenleg a TRNG magasiskoláját, mert körülményes a munka velük, de ezért cserében olyan rendkívüli hatásokat tudunk megvalósítani, mint például az ellenség életerejét mutató kijelzőcsík ábrázolása, az Angel of Darkness játékban látott „Lara elfárad, ha sokáig kapaszkodik” szituáció beállítása, annak megváltoztatása, hogy az ellenséges dzsip mekkora időközönként lövi ki a gránátokat stb.
A változókat általában az alábbi célokra használjuk:
A változó számszerűen megadja egy paraméter értékét. Például, a paraméter legyen az, hogy Larához épp milyen fegyver van kiválasztva. (Vagyis mit húzna elő, ha a játékos SPACE-t nyomna.) Ez például 2, ha a fegyver revolver, 3, ha Uzi, 4, ha puska. Tehát, ha 4-es értéket definiálunk a változóban, és aztán azt a paraméterre erőltetjük, akkor a kiválasztott fegyver a puska lesz, még akkor is, ha a játékos mást választott ki.
A paraméter aktuális értékét beolvassuk a változóba. Ha ez például 4, akkor tudni fogjuk, hogy a puska a kiválasztott fegyver. - Ezt az információt kiválóan alkalmazhatjuk kioldók vagy GlobalTrigger parancsok feltételeiként.
Ennek alapján lássunk egy egyszerű példát változó használatára:
Az alábbi TriggerGroup lefuttatása révén a pisztoly helyett az Uzi lesz Lara kezdőfegyvere, amikor elkezdi a játékot:
TriggerGroup= 1, $2000, 96, $1, $2000, 48, $5E, $2000, 50, $785F, $2000, 232, $352, $2000, 245, $752, $2000, 100, $E10
A TriggerGroupban az alábbi kioldókkal találkozhatunk:
$2000, 96, $1 – a pisztoly (és lőszerei) eltűnnek a menüből
$2000, 48, $5E – Uzit helyez el a menüben
$2000, 50, $785F – némi Uzi lőszert helyez el a menüben
$2000, 232, $352 – az Uzi értékét (3-t) írja be egy numerikus változóba
$2000, 245, $752 – a változó 3-as értékét a „kiválasztott fegyver” paraméterbe erőlteti
$2000, 100, $E10 – a fegyverövben látható pisztolyokat lecseréli Uzi géppisztolyokra
18. A csalások
A csalások lehetőséget adnak arra, hogy egyszerűen teszteld a pályát. A TRLE csak a repülési csalásra ad lehetőséget (melynek során Larával körberepülheted a pályát), de a TRNG még ennél is több lehetőséget biztosít.
A repülő csalás:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image106.jpg
43. ábra
19. A szerkesztőprogram testreszabása
Lehetőséged van például különféle magyarításokra, vagy az alábbihoz többé-kevésbé hasonló gomb-blokk megalkotására, melynek sajátossága, hogy ilyen blokk alapvetőleg nem létezik, a blokkot te hozod létre, formátumát és tartalmát (a létező funkciók felhasználásával) te határozhatod meg:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image108.jpg
44. ábra
20. A teljesség igénye nélkül néhány egyéb program, melyekre szükséged lehet a TRNG használatához
A TRNG ezek nélkül a programok nélkül is működőképes, de ha bizonyos célokat el akarsz érni a pályádon (például nem „előregyártott”, hanem általad összeállított objektumkészlet használatát), akkor mindenképpen használnod kell majd e programok egyikét-másikát.
TBuilder:
A 6. fejezetben említettem a textúrakészlet összeállítását. Remek eszköz erre ez a program.
Bal oldalon a forrás látható, melyből csempéket vehetsz át, a jobb oldalon pedig a pályád textúrakészlete, amit összeállítasz:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image110.jpg
45. ábra
WADMerger:
Számos dolgot, ami az objektumokkal kapcsolatos, csak itt tudsz végrehajtani. Például ez a program szükséges ahhoz, hogy a 9. fejezetben említett objektumkészleteket (az úgynevezett WAD fájlokat) össze tudd állítani.
A bal oldalon az összeállítás alatt álló WAD látható, a jobb oldalon pedig a forrás, melyből objektumokat helyezhetsz át balra. A kis képen látható objektum az a kijelölt objektum, mellyel épp foglalkozol:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image112.jpg
46. ábra
A WADMerger egyik legfontosabb része az Animation Editor, ahol is a Mozgó objektumokhoz köthető animációkkal foglalkozhatsz:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image114.jpg
47. ábra
Az animáció úgynevezett képkockákból áll. E képkockák sorozatát a játékban lejátszva, megkapod magát az animációt. Minden képkockához több adat tartozik. Elsősorban természetesen az a pillanatkép, ahogy az objektum annál a képkockánál kinéz, de például úgynevezett animációs parancsokat is hozzárendelhetsz egy-egy képkockához.
Az animációs parancsok olyasfélék, mint a kioldók, beindításukhoz az szükséges, hogy épp az a képkocka kerüljön sorra a lejátszásban. Ezáltal olyan eseményeket rendelhetsz egy-egy képkockához, mint például valamiféle zaj lejátszása, vagy (ha a képkocka épp azt ábrázolja, hogy egy hatalmas szörny a földre helyezi a lábát) a nehéz léptek nyomán rengő föld effektusa stb.
A WADMergernek nemcsak saját animációs parancsai vannak. Azaz, kihasználva azt a lehetőséget, hogy az animációs parancsok lényegében véve kioldók, kioldókat nemcsak a szkriptbe exportálhatsz az STT-ből, hanem animációs parancsként a WADMerger-be is.
A fentebb példaként felhozott $2000, 91, $214 kódszámú kioldónak így néznek ki a WADMerger-be szánt exportadatai, feltételezve, hogy azt a kiválasztott animáció 5. képkockájához kívánjuk rendelni:
Add a SetPosition anim command with following values:
Set Position [-24571] [91] [532]
Infos about exported trigger
-------------------------------------------------------------------------------
Set Trigger Type - FLIPEFFECT 91
Exporting: TRIGGER(532:0) for FLIPEFFECT(91)
<#> : Lara. (Health) Lara invulnerable for <&>time with (E)effect
<&> : 20 seconds
(E) : Blinking transparency - fast
AnimCommand: Frame=5
-------------------------------------------------------------------------------
A kioldó exportértéke az a [-24571] [91] [532] kódszám, amit az Animation Editorba be kell gépelned.
StrPix:
Szintén az objektumokkal történő egyes műveletekhez szolgál.
Vegyük például a textúrázást. Nemcsak a szoba kék, zöld stb. síkidomaira kell textúrát lehelyeznünk, hanem az objektumokra is, hisz az objektumoknak is ki kell nézniük valahogy. A StrPix egy kiváló eszköz például arra, hogy az objektumok textúrázását megold.
Balra a WAD fájl textúrakészletét (azaz annak egy részletét) látod, ami az objektumokhoz szükséges (tehát nem azonos a szobához használt textúrakészlettel). Jobbra egy objektum, mellyel épp foglalkozol:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image116.jpg http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image118.jpg
48./a ábra 48./b ábra
Metasequoia:
Rengeteg objektumra lelhetsz az Interneten, de ha úgy döntesz, hogy megszerkeszted a saját objektumaidat, akkor figyelmedbe ajánlom ezt a programot.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image120.jpg
49. ábra
Meta2TR:
Ez a program lehetőséget ad például arra, hogy valóságosabban tűnjön fel a szobában mindaz, ami túl szögletes:
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image122.jpg
50. ábra (forrás: www.aspidetr.com)
FLEP:
Talán hallottál már a TREP-ről, ami arra szolgál, hogy olyan hatásokat érj el a játékban, melyeket egyébként nem tudnál.
A FLEP gyakorlatilag nem más, mint a TREP-nek a TRNG-kompatibilis verziója, segítségével olyan hatásokat érhetsz el, melyre a TRNG fejlesztései (még) nem adnak lehetőséget.
http://treditor.hu/7/akyv/mi_a_palyaszerkesztes_elemei/image124.jpg
51. ábra
Készítette: Ákos(AkyV)