SPACEHAWKS
WORLDNEWS ISSUE 18
GLQUAKEWOS
A Quake forrásának szabaddá tétele után hosszú három hónap következett mire
elkészült az első olyan Quake engine ami kihasználja a Warp3D-t és a 3D-s
funkciókat támogató kártyákat.
A program követlményei:
- PPC proci.
- WarpOS (powerpc.library v15.0+).
- Warp3D v3 (warp3dppc.library v3.0+).
- 3D gfx-kártya.
- 32 Mb ram, legalább 28 Mb szabad memória, 16 Mb egybefüggő résszel.
- CGFX v4+, a program nem lett tesztelve a CGFXv3-mal és a Picasso96-tal.
A program futtatása:
- stack 500000
- glquakewos >nil:
A program opciói:
- width xxx ---> az xxx az a szám amekkora felbontást akarunk használni.
Pl.: -width 640. Az alap 320.
- height xxx ---> az xxx az a szám amekkora felbontást akarunk használni.
Az alap 240.
- buf xxx ---> az xxx lehet 2 tehár double buffering, a 3 a triple buffering.
Az alap 3.
- texturemode ---> GL_NEAREST vagy GL_LINEAR. Az alap a GL_LINEAR.
- fog ---> köd be.
- dither ---> ON vagy OFF. Figyelem, hogy ez az opció működjön az
ENV:Warp3D/Permedia2/Dither paramétert "OFF"-ra kell
átállítani!!!
- closewb ---> becsukja a Wb-t, így is több gfx-memória jut a programnak.
- bpp ---> nem jöttem rá, hogy mit csinál.
- lockmode ---> lásd fentebb.
- windowmode ---> a program a Wb-n fog futni egy ablakban. Egyáltalán nem
lassul le a progi pedig ez jellemző a programokra ha a
Wb-n nyitjuk meg azokat.
Ilyekor akar ki is kapcsolhatjuk a dithering-et, mert
nem lehet észrevenni a különbséget ha be vagy ki van
kapcsolva. Ez lehet, hogy annak tudható be, hogy a
játék 15bit-nél mélyebb színfelbontásban fut (persze ha
a Wb 15bit-nél nagyobb felbontásban van),
A "width xxx" és a "height xxx" opciókat itt is lehet
használni!
A játék konzol paraméterei:
- GL_FOG ---> 0 vagy 1. Szerintem nincs sok értelme használni, mert ha be van
kapcsolva akkor a nagy szürkeségben fog rohangászni.
- GL_DITHERING ---> 0 vagy 1. Ha be van kapcsolva akkor a program nem mossa
el annyira szépen a textúrákat és ettől nem lesz annyira
zavarónak "szemcsés" a kép.
- GL_TEXTUREMODE ---> GL_LINEAR vagy GL_NEAREST. Ha a GL_NEAREST használjuk
akkor egy kicsit gyorsabb lesz a játék.
- GL_VIDEOSYNC ---> 0 vagy 1. Csak akkor hasznos ha a játékot a -buf 2
paraméterrel indítottuk el.
- GL_FLASHBLEND ---> 0 vagy 1. Elméletileg a villogásokkal csinál valamit.
- R_SHADOWS ---> 0 vagy 1. Az árnyékokkal kellene, hogy valamit csináljon.
Némi segítség a programmal kapcsolatban.
Ha nem indul el a játék, vagy már az elején elszáll akkor a következőket
érdemes tenni:
- vegyük le a Wb színmélységét és (vagy) a felbontását kissebbre.
- kapcsoljuk ki a háttérképet.
- győződjünk meg róla, hogy a 15bit-es képernyőmódok engedélyezve vannak.
ENV:CyberGraphX/HIDE15BIT 0.
- ne feledjük el a programnak stack-et adni az indítás előtt, mert hajlamos
enélkül elszállni.
A sebességről és a program gyorsításáról:
A progi valamivel lassabb mint a CPU verzió a kissebb felbontásokban,
nagyobbakban gyorsabb mint bármelyik CPU verzió.
Mivel az egész forrás a hang kivételével C-ben készült így el lehet képzelni
a sebességet.
Némi sebességnövekedést lehet elérni azzal, hogy a GL_TEXTUREMODE-nak
GL_NEAREST-et adunk meg.
A 320-as képernyő 1 fps-sel gyorsabb, de rettenetesen néz ki.
A hang kikapcsolásával 0.8 fps-sel gyorsul a játék! Hűűűűű! A speeeeed!!!
A CGXMode-ban csináljuk egy új felbontást 480 x 360-as méretben 15/16 bit-es
színmélységben és használd a "-widht 480"-as opciót. Így a kép majdnem úgy
fog kinézni mint a 640 x 480, de gyorsabb.
Pár szó a végére a programmal kapcsolatban:
Végre ezt is megértük, hogy vagy olyan Quake engine ami kihasználja a
gfx-kártyák 3D-s képességeit is.
Igaz, hogy egyenlőre csak egy emberke fejlesztgeti a Warp3D-s verziót, de ez
szerintem nem a programozók lustaságának tudható be, hanem a BVision és
CVision gfx-kártyák ritkaságának.
A játék kifejezetten jól néz ki így a 3D-s gfx-kártyával megtámogatva, bár
egy kicsit lassabb mint a CPU verzió.
Bár mivel a program még mindig erősen a béta változatban van így
elképzelhető, hogy az idők folyamán még gyorsulni fog valamamennyit.
Egy kicsit csalódott is vagyok, mert a program saját képernyőn csak 15bit-es
színmélységben fut és így egy kicsit "szálkás" a kép.
Azonban ez a nem jelentkezik ha a Wb képernyőn játszunk a játékkal.
Lehet stuffolni a pécés haverokat vele!
Sajnos mint minden programnak ennek is még van pár gyermekbetegsége.
Pl.: ha a teleporton keresztül átmegyünk a másik pályára akkor valamikor a
program hajlamos hibaüzetettel leállni.
A megoldás az, hogy mielőtt kilépnénk a pályáról mentsük el az állást.
Kicsit zavaró továbbá, hogy a játék képernyőjét nem lehet jobban összehúzni a
kép alsó felében lévő HUD-nál.
A Guy Called Raven
|