Regisztráció Blogot indítok
Adatok
Qzonn

0 bejegyzést írt és 5 hozzászólása volt az általa látogatott blogokban.

Admin Szerkesztő Tag Vendég
IDDQD Heti retro: Duke Nukem 3D 2010.09.09 11:45:00
Oké, tudom, hogy a Boulder Dashnak kellene most jönnie, mert azt szavaztátok meg a Civilizationról szóló cikk alatt, de a múlt heti brékingnyúz után úgy döntöttem, beelőz a Duke Nukem 3D. Aki lemaradt volna róla: úgy tűnik, 13 év után végre elkészül a Duke Nukem Forever (bár…..
Qzonn 2010.09.10 11:27:59
@norbert79: :) Igen, voltak ilyen érdekességek. Erre pl. konkrétan nem is emlékszem, azt tudom, hogy trip bomb-al lehetett mókázni, trükkösen elhelyezni.

A Duke3D-ben azt szerettem a legjobban, hogy teljesen testre lehetett szabni. A USER.CON-ban ott volt az összes sebzés, fegyver, élet, lőszermennyiség. Át lehettett írni, hogy mennyi lőszer legyen 1 dobozban, mennyi lehet nálad, stb... A GAME.CON meg kompletten tartalmazta az AI-t valami eléggé elborult szintaxisú nyelv formájában. Próbáltam is átírni de nagyon nagy változást nem sikerült elérni. Először okosítani próbáltam az ellent, de nagyon belassította a játékot a nagyobb GAME.CON. Azt viszont elértem, h pisztolytalálat esetén darabkák szakadjanak az ellenfelekből, hasonlóan mint a Shadow Warriorban.:) Apropó SW, onnan egyszer átberheltem az Uzit a Duke3D-be a pisztoly helyére. Ehhez a grafikákat kellett áthozni a megfelelő .ART fájlokba meg áthozni a hangokat. Nem volt tökéletes, itt-ott elcsúszott a grafika, de azért ment :P

Abban az időszakban kellett találékonyság a játékkészítéshez! Ott mindent ki kellett sajtolni a prociból, hogy megfelelő sebességgel menjen. Az egyik kedvencem az előreszámolt szögfüggvénytábla volt. Nem ám menet közben számoltak SIN meg COS függvényeket, hanem előre kiszámították az értéküket egy periódusra valamekkora lépésközzel, s amikor a játéknak szüksége volt egy szög szinuszára, csak kiolvasták. A fejlesztők mindent maguk írtak, a 3D-s leképezéstől kezdve a textúrázásig. A textúrázás az egyik legjobb példa: Doomban pl. az, hogy nem nézhettél fel-le és hogy a falak mindig egyenesek voltak nagyot egyszerűsített a textúrázón, gyorsabban lehetett számolni. Manapság a fejlesztők nagyon ki vannak párnázva a különböző APIkkal, főleg az új DirectX-ekkel meg a bivalyerős kártyákkal. Nem mondom, hogy nem kell ügyesség és szakértelem egy játék összerakásához, de nagyon sokat segít, hogy egy grafikus kártyán a legfontosabb textúrázási, renderelési, vagy akár fényezési paramétereket szinte csak felparaméterezem, és nem nekem kell szenvedni a koordinátageometriai, fényszámítási, stb.. részletekkel.

Csúnyán nosztalgiázom, csak nem öregszem!? :D
Qzonn 2010.09.10 11:30:13
@Qzonn: Utolsó mondat a siettség áldozata lett: szóval:
"....egy grafikus kártyán a legfontosabb textúrázási, renderelési, vagy akár fényezési __funkciókat__ szinte csak felparaméterezem, és nem nekem kell szenvedni a koordinátageometriai, fényszámítási, stb.. részletekkel."
Qzonn 2010.09.12 10:39:36
@VRbagoly: Igen, ez pontosabb megfogalmazás.. :) Igazából tényleg másutt vannak a nehézségek, viszont sokkal több a rendelkezésre álló eszköz, egy fokkal magasabb szinten lehet a problémákat megoldani, sokat nyújt egy grafikus hardver általános számításokra is.

Igen, van egy-két forrás a gépemen. Amikor a HL2-nek régen kitették a forrását azt is sikerült beszerezni:) De megvan a Quake2-é is, a Doom-é (egy linuxdoom nevezetű változat), meg a BUILD motoré is. Érdekes belenézni ezekbe mi hogy volt megoldva, sokat böngésztem a kódjukat. Igazából játékmotorkészítés valóban sok előismeretet, stabil matematikai alapokat és egyben részletes ismereteket a gépről amire fejlesztenek, igényel de azért nem mondanám, hogy csak kivételes zsenik lennének képesek ilyet fejleszteni. Bár úgy érzem, hogy a halandó programozó megfogalmazásod mögött inkább a szerényen képzett, egységsugarú Java/PHP/... alkalmazásfejlesztőt kell érteni akire bátran rá lehet bízni kisebb-nagyobb üzleti alkalmazásokat, azokkal elboldogul, de ezeknél bonyolultabb szoftverekkel, ahol algoritmikus részleteket is célszerű tudni vagy ahol neadjisten többszálú/párhuzamos programozási fogalmakra is szükség van, azokkal már nem. :)