Szerző: stewet (2010)
Verzió: 2.49b
Játékterv készítésének alapjai
Aki játékot szeretne készíteni a Blenderrel, nehéz fába vágja a fejszéjét. Kezdők, akik még többnyire ismerkednek a programmal (Blender) rendszerint elkedvetlenednek, mert a játék készítéséről fogalmuk sincs. Mondhatni ez egy külön szakma (még ha nem is oktatják, bár OKJ-s papírt E-játékfejlesztő néven lehet szerezni - lásd: OKJ Tanfolyam) de ezt csak évek sok-sok gyakorlatával lehet elsajátítani profi szinten. A teljesség igénye nélkül néhány olyan ismeret-kategória, mely nélkülözhetetlen a munkához:- lowpoly (alacsony polygon-szám) modellezés ismerete
- normal-map (alpha-map) ismerete
- textúra festés
- játékmotor (továbbiakban GE - a GameEngine rövidítéséből) ismerete
- scriptelés (programozás ismeret)
Ha az eddig leírat alapján elment a kedved az egésztől, máris lapozz más leírások után! Azonban, ha tovább olvasod, szeretnék adni némi támpontot az írás címéhez kötődően, vagyis hogyan kell játéktervet készíteni.
Megjegyzés: az alábbiak nem szabvány szerint, és "szentírásként" elfogadott tematika alapján lettek megfogalmazva, hanem néhány év, ugyan más szoftverrel készített programok alapján vett - tapasztalatából!
Első lépés - Játék kategória (~) meghatározása
No nézzük... Vérbeli játékosok tudják, hogy rengeteg kategóriába sorolhatók a játékok. Csak néhány ezekből:- Action - Akció ~
- Adventure - Kaland ~
- Strategy - Stratégia ~
- Simulation - Szimuláció ~
- RPG (Role Playing Game) - Szerepjáték
- FPS (First Person Shooter) - Lövöldözős ~
- Sport ~
- Arcade - Ügyességi ~
Második lépés - Játékmenet, történet
Érdemes e lépésre elég időt szánni, hiszen ez meghatározója a kivitelezésnek is. A sok kategória miatt, itt nehéz lenne egyet kiválasztani, mert más-más stílus, más-más játékmenetet kíván, tehát csak általában fogalmazom meg a leglényegesebb szempontokat.A játékmenet, egyfajta szabály-rendszer, melyet a program végig követ. Ez adott típusú game-nél lehet valósan is rögzített szabály (sakk, dáma, kártya stb), de lehet saját tervezésű szabály, miben a készítő határozza meg, mikor mit lehet tenni, illetve mikor mi történjen. Ekkor kell meghatározni az interakciókat, hogy a felhasználó miylen módon tud beavatkozni az eseményekbe.
Cselekményt, történetet azért érdemes kitalálni, mert az események sorozata a játékos számára könnyebben követhető lesz. Ez olyan játékokban, ahol valamit meg kell keresni, a talált tárgyakkal cselekedni kell kötelező, de például egy ügyességi játék esetén sem árt, ha van történet. Hiszen ez a történet határozza meg a grafikus számára a képi világ megalkotását. (A bevezetőben említettem, ha többen dolgoznak egy projekten, mindenkinek tudnia kell, mihez és mivel járul hozzá a prodktumhoz)
Itt érdemes megjegyeznem, hogy ekkor az alkotás még nem testesül meg konkrétumokban, de az elképzelések vázlatai már kezdenek kialakulni. Szoktam javasolni, hogy már ebben a fázisban keletkezzenek sajt-cédulák, feljegyzések, firkálmányok. (Mivel ez a leírás a Blenderről szól, nem beszéltem a játékmotor kiválasztásáról, hiszen az eszköz ebben a leírásban adott. De a team-ek, ha nincs saját motoruk, akkor írnak egyet, vagy ebben a fázisban döntenek valamelyik GE mellett valamilyen megfontolás alapján)
Harmadik lépés - Koncepció
Ekkor már tevőlegesen is munka folyik. A fentiekben meghatározott lépések alapján munkához látnak a grafikusok. Vázlatokat készítenek a modellekről, a környezetről, tárgyakról. Több variáció után dönt a csapat, hogy melyikkel kezdenek dolgozni. E folyamat végeredményét kapja kézhez a modellező.A kép forrása: http://abduzeedo.com/45-awesome-game-concept-arts
Negyedik lépés - Modellezés, anyagozás
Ha játék, akkor lowpoly. A szó azt jelenti a 3D-ben, hogy minél alacsonyabb polygon-számú modellek kerüljenek be a játékba. Erről sok "vita" folyt és folyik a neten, hogy mekkora ez az érték?! Néhány évvel ezelőtt - az akkori általános gépparkok erőforrásait figyelembe véve - kb 3 000 polygon-t véltek elfogadottnak jelenetenként. Tehát érdemes odafigyelni, hogy ezt a "bűvös" számot ne lépjék túl. A módszer, ahogy a modell létrejön, teljesen egyedi megoldású. Van, aki blue-printes megoldással, van aki a concept-rajz alapján, van aki magas polygon-számból kiindulva kezdi a munkát. Nem árt, ha már ebben a fázisban úgy alakítja ki a készítő a modellt, hogy később - mondjuk az animátor - könnyebb legyen vele dolgozni. Ezért látni például a karaktereknél a két kéz oldaltartását, hiszen így egyszerűbb csontozni.(Megjegyzés: a modellezőnek a fenti dolgokkal tisztában kell lenni - érthetőbben - ő maga is tudja, hogy a későbbi munkafázisban mit kell csinálnia a csapattársnak, sőt, ha kell, maga is képes legyen elkészíteni!!)
Bármilyen is a modell, valamilyen anyagból van! (No nem úgy értem, hogy abból készül, hanem úgy látszik, mintha...) Tipikus anyagok a fém, fa, textil és a bőr. Itt kell megemlítenem, hogy nem kizárólag az anyagbeállítás, hanem a jelenet bevilágítása is fontos része ezen munkafázisnak.
Ötödik lépés - Csontozás, animálás, textúra
Ilyenkor a modellezett dolgok életre kelnek. Az animátor feladata, hogy a puszta tárgyaknak, figuráknak mozgást adjon. Ennek "jósága" nagyban meghatározója annak a hangulatnak, amit a játékos is átérez, amikor játszik. Úgy, ahogy azt az előző részben leírtam a modellező kapcsán, az animátor is tudjon modellezni, mert lehet, itt-ott bele kell nyúlni a mesh-be. Ha nem így lenne, akkor beszélhetnénk tökéletes profi team-munkáról.A textúra a környezet, illetve a tárgyak valósághű megjelenésének érzését kelti a játékban. Tipikus grafikus munka. Alapvetően arról van szó, hogy a modellt - ami virtuális 3D-ben van, minden pontját 3 koordináta jellemzi (x; y; z) Ezeket a pontokat, illetve a pontokból felépülő hálót (mesh) kell 2D-ben kiteríteni. Sok módszer létezik, itt nem tudom felsorolni mindet. A lényeg, hogy a játékokban általában kiterített textúrát alkalmaznak, ezekből is jónéhány a valósághű megjelenést szolgálja. (Normal-map, displace-map stb) Méretük is változó, de konkrétan érdemes megjegyezni, hogy az x;y méretük mindig kettőnek valamely egész-kitevős hatványa. Pl.: 1024x1024 (ezt hívják 1k-nak) - 2048x2048 (2k) ésatőbbi... Jogos a kérdés: minek kell ezzel foglalkozni? A válaszom: a gépünk működésének alapja a bináris (kettes) számrendszer. Tehát, ha a processzor számol, könnyebb neki, ha olyan értékeket kell feldolgoznia, ami eleve neki kerek szám, és nem kell kerekítenie, levágnia stb.
Hatodik lépés - Játékmotor (Game Engine)
Igen nagy szakirodalma van e kategóriának, mégis keveset tudunk róla, hiszen a feljesztések többnyire titokban folynak a nagyobb cégeknél. Kisebb csapatok általában licenszelik a mások által kifejlesztett motort, így sokkal költség-hatékonyabban tudják esetleg forgalmazni a játékukat. (Itt most nem folytatnám gazdasági elemzéssel, hiszen a licensz díja, vagy a saját programozó(k) fizetése - költség alapon - csak megfelelő kalkuláció után tehető mérlegre).De mi is a játékmotor definíciója? Nehéz röviden leírni - hiszen a kezdő olvasónak is értenie kellene a szakszavakat -, ezért keresgettem a neten valamiféle jó és tömör megfogalmazást e témában. (Szubjektív megitélés, hogy éppen ezt tartottam a legjobb összefoglalónak)
"A játékmotor, azaz szaknéven Engine a program lelke. Ez jeleníti meg a játékot, játssza le hozzá a hangokat, videókat, számítja a lövedékek röppályáját, testek fizikáját és Barbie haja színét az aktuális fényben. E nélkül minden játék csak képek, videók, hangok és szövegek egyvelege – amit semmi nem fűz eggyé. Szokássá vált, hogy amelyik cég nem szeretne sajátot írni, inkább licenszeli valaki mástól – így sokkal kevesebb a vesződség és olcsóbb is a fejlesztés."
Forrás: http://www.technet.hu/notebook/20090528/mi_lesz_veled_duke/
Van azonban ingyenes kategória is a piacon, a garázsprojektek tagjai általában ezekből válogatnak, éppen ezért a játék minőségét maga a GameEngine tudása korlátozza. (Megjegyzem: láttam már korrekt játékot free GE-ben) Egy tény mellett azonban nem mehetünk el szó nélkül! A csapatba kell programozó! Ha lehet, akkor kettő!
A Blender, mint 3D-s program tartalmaz játékmotort, ami önmagában egyszerű feladatok kivitelezését teszi lehetővé, ám összetett feladatok, kiegészítés nélkül nem valósíthatók meg. Ezt a kiegészítőt a python script nyelv biztosítja. Ezzel már viszonylag egész elfogadható játékot lehet készíteni. Szakmai részletek kifejtése nélkül azonban jó, ha megjegyezzük - a Blender nem képes felvenni a versenyt más GE-k által nyújtott lehetőségekkel, hiszen a program - mármint a Blender - nem Engine!!
--- Folytatjuk ---