Sokan kérdezik tőlem, miért írok szakkönyveket? Mi az oka annak, hogy időről időre előrukkolok egy újabb irománnyal? Nos,a következő sorok talán választ adnak erre a kérdésre is, és egyben sikerül némileg bemutatkoznom is.
Pár év múlva - két hónap almaszedés eredményeként - meg tudtam venni az első PC-met: egy Olivetti gép volt, NEC V20-as processzorral, 640 kByte RAM-mal, VGA videovézerlővel(!), 20 Mbyteos merevlemezzel! Ezen a gépen – ami valószínűleg a mai napig működik, csak időnként meg kell nyomni egy ponton az alaplapot – kezdtem el demózgatni. A Pascal “grafikus” könyvtárának (egavga.bgi) korlátait hamar kinőttem, akkor kezdtem el ismerkedni a csodálatos Assembly nyelvvel, mivel azt láttam, hogy ez az igazi profik, illetve az “underground scene” ördögeinek a nyelve. És valóban, pár hónap alatt sikerült összehozni egy egyszerű side-scroller demót, animált sprite-okkal, amit tiszta Assembly-ben írtam, bármilyen külső könyvtár vagy kód felhasználása nélkül. Az Assembly azóta is a kedvencem, bár sajnos manapság nem sok időm marad rá.
Felsőfokú tanulmányaim elkezdésekor már egészen jól ment a programozás. Az Assembly tudásom kifejezetten jól jött, mondhatom kiváltságos helyzetben voltam (bár volt, aki idiótának tartott, amiért ilyen alacsony szintű, "elavult" nyelvet használok). Tanulmányaim egy időre lekötöttek, azonban a kilencvenes évek második felében újult erővel és érdeklődéssel vetettem bele magam az időközben lényeges fejlődésen átesett számítógépes grafika és játékfejlesztés témájába. Mivel itthon nem találtam megfelelő szakirodalmat, Németországból szereztem be néhány szakkönyvet – sajnos a legtöbbször csalódnom kellett, mert a viszonylag drága könyvekből átvett összes tudás mindössze arra volt elég, hogy sziszifuszi munkával létrehozzak egy plazma-effektet, vagy megjelenítsek egy drótvázas, forgó kockát a képernyőn... Végül rajöttem, hogy ez az út nem járható, de szerencsére megismerkedtem a grafikai és játékfejlesztést segítő fejlesztői csomagokkal. Az OpenGL és a DirectX közül nehezen tudtam választani: utóbbi folyamatosan változott, nem rendelkezett megfelelő irodalommal és nem tűnt elég kiforrottnak. Az OpenGL-ből viszont hiányoltam olyan alapvető dolgokat, mint pl. a beviteli eszközök kezelése, zenei- és hanghatások lejátszása stb. Az egyetlen, magyar nyelvű DirectX könyv reménnyel kecsegtetett, azonban miután átrágtam magam rajta, kizárólag egy egyszerű, 2D-s, sprite-os programocskát tudtam volna összedobni – miközben az ilyen jellegű játékokat már rég padlóra küldte a 3D-szemlélet!
Időközben alkalmaztak egy neves hazai szoftvercégnél, ahol igazi "öreg rókákkal" dolgozhattam együtt. Öt év alatt nagyon sok mindent tanultam tölük, és úgy éreztem, tapasztalataimat tovább kell adnom: így született első könyvem, a Gyakorlati C++. Ez a könyv sok “szívás” és munkahelyen eltöltött hétvégék eredménye, amiben töbek között a C++ nyelv érdekességeit, problémás területeit igyekeztem bemutatni.
A számítógépes játékprogramozás és grafika szeretete természetesen végigkísért. Felfigyeltem arra, hogy a hazai piacon továbbra sem jelenik meg egyetlen, játékfejlesztőknek szóló szakkönyv sem, amely bemutatná a DirectX lehetőségeit. OpenGL témájú még akad, azonban megértésük - tapasztalatom szerint - magas szintű matematikai tudást feltételez az Olvasótól. Úgy éreztem, hogy mindezt egyszerűbben is be lehetne mutatni, hiszen a vektorok, mátrixok, homogén koordináták és a transzformációk végülis nem olyan bonyolult fogalmak – bár kétségkívül azzá lehet tenni őket! A könyv írásának elkezdésekor az volt a célom, hogy a lehető legegyszerűbben (ugyanakkor érthetően) mutassam be a számítógépes grafikával és játékfejlesztéssel kapcsolatos matematikai és programozástechnikai fogalmakat. Nem titkolt reményem, hogy könyveimmel egyenesen megkedveltetem a mértant és az algebrát még azokkal is, akik esetleg idegenkednek tölük... ;-) Szerintem – és ezzel nem vagyok egyedül – egy tudomány megítélése, illetve az új fogalmak felfogásának nehézsége nagyban függ attól, hogy az ember át tudja-e ültetni a tanultakat a gyakorlatba, és nem csak úgy, l'art pour l'art kell bemagolni, hogy ne kapjunk egyest a suliban. Egy példa: másképp tekintünk a mátrixszorzásra, ha kiderül, hogy ez a művelet szinte elengedhetetlen a játékok objektumainak mozgatásához.
Nem vagyok időmilliomos, sőt, a könyvírás miatt hétvégéket és alvásidőt áldozok fel. Időnként nagyon nehéz, és mégis hajt valami előre, viszont vannak olyan pillanatok is, amikor mindent sutba vágok, és lazítok kicsit. (Emiatt vannak a csúszások, szerencsére a kiadóm elég jól ismer már, és valószínűleg eleve betervezi a 30%-os puffert ;-)).
A szakkönyvírásra elsősorban egy megfoghatatlan belső igény kényszerít, és persze a remélt presztízs és az olvasói visszajelzések. Persze az sem rossz érzés, amikor átveszed a nyomdából frissen kihozott tiszteletpéldányt, amin a neved díszeleg.
Zárszóként még annyit, hogy nagyon örülnék, ha többen írnánk magyar szakkönyveket. Míg angol nyelvű szakkönyvekből túlkínálat van, addig idehaza nagyon rosszul állunk.
Üdvözlettel,
Nyisztor Károly
http://www.nyisztorkaroly.org
(A cikk eredetileg a jatekfejlesztes.hu oldalon jelent meg: http://www.ilab.hu/jf/page.php?&id=102. A következő leírás az eredeti cikk frissített változata.)
| < Előző | Következő > |
|---|





