játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5468
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2524

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2193
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1654
syam:    1491
Pályatervezés DB projektekhez Mapper-rel 2005.11.27 12:05



Pályatervezés DB projektekhez Mapper-el


Sokan a járnak úgy a Dark Basic Pro kóderek közül, hogy belevágnak a játékukba, megírnak hozzá egy motort, de aztán mikor már a pályamodellezésre kerül a sor, elakadnak szoftver hiányában. Ezt észrevételekbõl és tapasztalatokból merem állítani . Persze léteznek nagyon jó pályaszerkesztõ programok ezekre a célokra (Valve Hammer, Q3 Radiant), de ezek nem magyar nyelvûek és ráadásul a használatuk is bonyolúlt. A most következõ cikkben egy vadonat új, univerzális és easy-to-use pályaépítõ eszközzel fogtok megismerkedi, a Mapper-el...

A Mapper-rõl általában

   A Mapper egy olyan Dark Basic Professionalban írt pályaszerkesztõ program, amivel minden DBPro programozó könnyedén tud szép és összetett pályákat készíteni garázsprojektjéhez. Habár az eszköz kifejezetten FPS játékok belsõ tereinek elkészítésére hangolódott, nincs kizárva, hogy akár egy RTS vagy egy autó szimulátor fejlesztése során ne jönne jól. A program 7 alap primitívet (geometriai alakzatot) tartalmaz, de be lehet tölteni a Studio Max-al készített külsõ .X kiterjesztésõ modellfájlokat is. Természetesen minden lerakott objektum külön szerkeszthetõ (áthelyezhetõ, forgatható, méretezhetõ) és textúrázható. A Mapper tartalmaz továbbá fény, tükör, ablak, ajtó, és respawn point effektet/triggert is. Minden szerkesztési opcióra van egy hotkey (billentyûparancs), hogy még gyorsabban menjen a „munka”. A program rendelkezik egy konzol funkcióval is, melynek segítségével pontos, elõre kiszámolt értékeket adhatunk át objektumainknak. Ezekrõl a tulajdonságokról bõvebben majd lentebb olvashattok...

Inicializálás

   Az elsõ lépés, hogy letöltjük magát a programot innen: http://users.atw.hu/killertech/mapperfull.rar, majd feltelepítjük. Ha bele lépünk a Mapper gyökérmappájába, akkor láthatjuk, hogy két darab exe fájlunk is van. Nos a „mapper.exe” az általános indító fájl, ezt használja mindenki, ha a monitora rendelkezik 1024x768-as felbontással és a videokártyája legalább GF 3-as. A „mapperLOW.exe” mindazoknak készült, akik számítógépe ezekkel a tulajdonságokkal nem rendelkezik. Az elsõ indításnál érdemes beállítani a program mûködését. Ezt a Fájl fül, Opciók menüpontjában tehetjük meg. Itt megadhatjuk, hogy az érték kiíratások színe milyen legyen (válaszd ki a kedvenc színedet! ) , és azt is, hogy ablakban vagy teljes képernyõben fusson-e a program. Okézzuk le a beállításainkat, majd indítsuk újra a programot. Láthatjuk, hogy az újbóli indítás után már érvényesültek a beállításaink...

A kamera mozgatásai és a kezelhetõség

   A Béta verzió megjelenésekor, sokan panaszkodtak a kezelhetõségre, így a végleges verzióban javult a kamera irányítása. Elmozdul a kamera az egér, a képernyõ valamelyik széléhez való tologatásának hatására. Forgatni, a jobb egérgomb nyomva tartásával és a kurzor (nyilak) vagy a WASD gombok valamelyikével történik. Zoomolni pedig ugyancsak a jobb egérgomb lenyomásával és a Shift/Controll vagy a Q/E kombókkal lehet.
   Ebben a verzióban ha leraksz vagy kijelölsz egy objektumot, nem csak a kurzorral, hanem az egérrel is tudod mozgatni X és Z tengelyeken. Ha viszont az áthelyezõ funkciókat választod, szabályozhatod az objektum mozgatás érzékenységét úgy, hogy áthelyezés közben nyomva tartod a Controll gombot!

Az elsõ pályánk

   Most akár már el is kezdhetjük pályánk szerkesztését. Ha profibb mapet kívánsz összeállítani, érdemes a szerkesztés elõtt azt papíron megtervezni, mert ha már egybõl hozzálátsz a Mapper-hez és úgy építed fel a pályádat ahogy csak éppen jönnek az ötletek, biztos hogy valami kevésbé szép dolog fog kisülni belõle... Ha viszont már van terv, dolgozni is könnyebb (tapasztalat ). Akkor hát essünk neki mondjuk egy szobának!

A padló: Elõször készítsük el a szobánk talaját! Kattintsunk a Hozzáadás fül, Kocka vagy Téglalap (inkább az utóbbi jön jól padlók megjelenítésére) menüpontjára! Mozgassuk az egerünket a lerakott objektum középpontja fölé (minden objektumot a középpontja körül egy 50 egységnyi sugarú körben lehet kijelölni), és kattintsunk rá. Láthatjuk, hogy megjelenik egy popup, ami abban lesz majd a segítségünkre, hogy az objektumunkat átszerkesszük. Kattintsunk a Méretezés(Y) menüpontra, majd a kurzorral méretezzük át az objektumot vékonyabbra! A szerkesztésbõl az Enter vagy Escape billentyûk valamelyikével fogunk tudni majd kilépni. Ezután növeljük szélességét és hosszát a Méretezés(XZ) funkcióval! Ha kész vagyunk, az eddigi munkánk valahogy így fog kinézni:


A falak: A padló után jöhetnek a falak. Rakjunk le egy kocka primitívet, és méretezzük át úgy, hogy a Z értéke legyen vékony, az Y értéke pedig magas! Vigyázzunk a Méretezés(Y)-al, mert az objektumunkat mindkét irányban méretezi (lefelé és fölfelé is); ezért használjuk elõtte a Magasság(Y) funkciót! Az X méret kb. annyi legyen, mint a padlónk X mérete! Mozgassuk át a falunkat a pályánk egyik széléhez az Áthelyezés(XZ) funkcióval vagy az egér használatával!


Most már van egy falunk, nincs szükség rá, hogy a vele szemben lévõt is ugyan így elkészítsük, mert rendelkezésünkre áll egy beépített másolás-beillesztés lehetõség is. Jelöljük ki a falat, majd kattintsunk rá a másolás menüpontra, és nyomjuk le a Ctrl+V billentyû kombinációt! Zárjuk le a kijelölést a mégsem-el, és az egérrel húzzuk át a másolatot a padló másik oldalára!
Ugyan ezzel a módszerrel csináljuk meg a másik két falat is! Itt is csak egy fal elkészítése szükséges...


Plafon: A plafon elkészítése egyszerû: készítsünk másolatot a padlóról és helyezzük el felül!

Textúrázás és objektumok importálása

   Ezekre a feladatokra a Mapper külsõ programokat hív meg. Ezeknek az a feladatuk, hogy az általad beírt értéket továbbítsák a Mappernek. Ha textúrázni akarsz egy objektumot, elõtte másold be a textúra fájlt (.bmp vagy .jpg) a Mapper/maps/pályád_neve (oda, ahol a .kem fájl is van) mappába. Majd az objektum szerkesztésénél kattints a Textúrázás menüpontra, és írd be a képfájl nevét kiterjesztéssel együtt! Ha már az objektumod textúrázva van, akkor a szerkesztõ popup mellett megjelenik egy textúra szerkesztõ menü is. Itt beállíthatod a textúra szét- vagy összehúzás értékét. A program gyökérkönyvtárában lévõ Textúra mix mappában találsz néhány hasznos képfájlt, ha már végképp nem tudod, hogy honnan szerezz magadnak textúrát...
   Ha külsõ, .X modelt akarsz betölteni, az eljárás ugyanez. Másold be a pályád mappájába a modellfájlt, majd a Hozzáad -> Import menüpontnál add meg a fájlé nevét kiterjesztéssel együtt!


Egyéb objektum szerkesztési lehetõségek

   Minden objektumot ki tudsz törölni, ha úgy gondolod, hogy elrontottad annak szerkesztését. A Fizika: Fal, Fizika: Doboz és a Fizika: Golyó funkciók valójában csak a Syntax Entertainment által fejlesztett Kille Engine 3 FPS alapra épülõ játékoknál mûködnek. Ezek a funkciók megmondják a Newton DLL-nek, hogy milyen RIGID-et rendeljen hozzá az egyes objektumokhoz.

Szerkesztési gyorsbillentyûk

   A Mapper rendelkezik billentyû parancsokkal is, hogy gyorsabban menjen egy adott objektum szerkesztése. Ezek a következõk (csak akkor mûködnek ha már az objektum ki van jelölve):

Y: Méretezés Y tengelyen
X: Méretezés X és Z tengelyeken
C: Forgatás X és Z tengelyeken
V: Forgatás Y tengelyen
B: Áthelyezés X és Z tengelyeken
N: Áthelyezés Y tengelyen

Triggerek

   A triggerek menüpont alatt elérhetünk különleges effekteket is.
   Fényforrás: Ez a trigger egy fényforrást helyez el a pályádon. Ez a forrás vizuálisan egy gömbként fog megjelenni, és egy „Fényforrás: [fény_száma]” felirattal lesz megkülönböztetve a többi gombtõl. Ezt a fényt ugyanúgy átpozícionálhatod és forgathatod, mintha csak egy pályaelem lenne, viszont rendelkezik két plusz tulajdonsággal: beállíthatod a fény színét és erõsségét. A Mapper automatikusan észreveszi, ha egy fényforrás van szerkesztés alatt, és megjelenít hozzá egy fény szerkesztõ menüt. A fényforrás objektuma (a gömb) a saját garázsprojektedben láthatatlan lesz, csak a fény fog megjelenni (a betöltõ függvényrõl részletesebben majd lentebb olvashatsz).
   Tükör: Ez egy nagyon érdekes effekt. Valójában egy sík lap (plain), amin tükör effekt van. Ezt is akárhogy szerkesztheted.
   Ablak: Ez is egy sík lap, csak átlátszó, és üveg színe van. A Mapper egy „Ablak” felirattal különbözteti meg a többi objektumtól.
   Ajtó: Ez a trigger is csak a KE3 játékoknak hasznos. Az elv úgy mûködik, hogy ha a játékos ennek az objektumnak a közelébe ér, akkor ez felfelé elmozdul. Sci-fi-s ajtó felnyílás...
   Respawn Point: Ugyan csak KE3 trigger. Újraéledõ hely, multiplayer pályák számára.

Helyezzünk el néhány triggert pályánkon!


A konzol

   A pályák elkészítése során sokszor rászorulhatunk a pontos értékek számolására is. Erre jó a program beépített parancskezelõ programja, melynek segítségével egy parancs után megadhatunk egy pontos értéket! De természetesen nem csak szerkesztõ parancsokat használhatunk. A konzolt a Tabulátorral hívhatjuk meg. Parancsok, amiket úgy kell megadni, hogy semmilyen objektum nincs kijelölve:

exit: Kilépés
quit: Kilépés
kilep: Kilépés

clear: Letörli az összes objektumot

Parancsok, amiket úgy kell megadni, hogy egy objektum ki van jelölve szerkesztésre (Syntax: parancs [érték]; a parancs és az érték között szóköz kell és a parancs kisbetûs):

pozy [érték]: Áthelyezés Y tengelyen
pozx [érték]: Áthelyezés X tengelyen
pozz [érték]: Áthelyezés Z tengelyen

roty [érték]: Forgatás Y tengelyen
rotx [érték]: Forgatás X tengelyen
rotz [érték]: Forgatás Z tengelyen

scaley [érték]: Méretezés Y tengelyen
scalex [érték]: Méretezés X tengelyen
scalez [érték]: Méretezés Z tengelyen

double: Objektum másolása + beillesztése egyszerre

Hiba üzenetek

   A pályaépítés szabályait is be kell tartani. Ha valamit rosszul csinálsz, a Mapper egy figyelmeztetõ ablakot jelenít meg. Ezek a következõk lehetnek:


Ez az üzenet azt jelenti, hogy úgy akartál objektumot importálni vagy textúrázni, hogy elõtte nem mentetted el a pályát. Az ilyen mûveletek elõtt muszáj mentést készíteni, hiszen a program által létrehozott mappába fogjuk másolni az kép vagy modellfájlokat.


Ezt üzenetet akkor kapod, ha valami olyan funkciót akartál használni, ami majd csak a Mapper egy késõbbi verziójában lesz elérhetõ.


Ez az ablak akkor jelenik meg, ha több objektumot helyeztél el a pályán, mint 1000. Ezt a limitet nem lépheted át.


Ez az üzenet pedig akkor bukkan fel, ha már dolgoztál a Mapperban, és így akartad betölteni az egyik pályádat. Betöltés elõtt mindig indítsd újra a programot, hogy üres legyen a felülete.

Mentés és betöltés

   A pályamunkákat a Fájl, Mentés mint vagy Mentés menüpontjával lehet. Ha még egyszer sem mentetted el a pályádat, akkor a Mentés mint funkciót használd. A másik mentési lehetõség akkor jó, ha csak szerkesztetted a pályádat, de már el volt legalább egyszer mentve. A mentésnél (mint a textúrázásnál) elindul egy külsõ program, ahova be kell írnod a választott pályanevet kiterjesztés nélkül. A Betöltés mis ezen az elven mûködik: add meg a pálya nevét kiterjesztés nélkül, majd kattints a Betölt gombra!

Najó, de hogyan töltsem be a pályámat a játékomba?

   Ennél mi sem egyszerûbb. Mapper/Forráskódok/Betöltõ függvény könyvtárban találod a betöltõ rutint, amit majd a garázsprojekted kódjába kell illesztened.

Egyéb megjegyzések, észrevételek
  • A Syntax -> Fény0 elrejtése menüponttal kikapcsolhatod az alap fényt a pályádon, ezáltal a lerokatt fényforrások jobban kihangsúlyozódnak. Hasznos lehetõség sötétebb pályák kialakítására.
  • H screenshot készítésére készülsz, a print screen billentyû benyomása alatt tartsd nyomva az S gombot. Ez a funkció kivesz minden kiírást és sprite-ot a képernyõbõl, és csak a pályád objektumai jelennek majd meg a képen.
  • A Mapper minden objektumot Y=100 magasságban helyez el. A te játékodnak a földszint valószínûleg az Y=0 érték lesz, de ne helyezd át az objektumokat az alap mátrix magassága alatti értékre, mert a Mapperhez mellékelt betöltõ függvény az objektumokat Y=0 értékhez fogja majd viszonyítani!
Végszó

   Szeretnék köszönetet nyilvánítani Wolfee-nak, aki a külsõ programokat írta. Remélem a program, és a vele járó sok fáradozás meghozza majd a gyümölcsét, és segít a garázsfejlesztõknek elérni céljaikat. Mellékeltem a program, forráskódját is, amelyet a Forráskód/Mapper forrás mappában találhattok meg. Ezek a fájlok tanulmányi célokból szabadon felhasználhatók. A cikkben elkészített pályát megtaláljátok a maps mappában! Akinek valamilyen kérdése van, vagy szeretne lelõni egy bugot, az nyugodtan írjon az e-mail címemre ( seeting@freemail.hu ), vagy látogassa meg a KE 3 weboldalát: http://killertech.atw.hu ! Mindenkinek kellemes játékfejlesztést és pályazserkesztést kíván :

Seeting

Technical Director of Syntax Entertainment

Értékelés: 10.00

Új hozzászólás
metaxa          2007.01.06 11:08
Húh ez áállat!
Le lehet tölteni? vagy free lesz?
remélem igen mert ez szerintem 1 remek program lesz (vagyis már az) a leendő fps gyárosok számára
vagy azoknak akik még nem ismerik behatóan a hammer editort...(mint én)
Seeting          2006.04.17 04:01
Lesz benne:
- Fegyver lerakó hely
- Élet hely
- Töltény hely
- és egy ujdonság: Collision Wall

Seeting          2006.04.17 04:00
Most írom az 1.02-es javítást...