2012. január 19., csütörtök

"9 nappal később"

Elnézést, hogy már 9 (omg) napja nem frissítettem, de majdnem minden este 11 körül hagytam abba a programozást, és utána már nem volt erőm összefoglalni mi történt. :)

Ha valaki letöltötte a jan 10.-ei verziót, ahhoz képest már rengeteg újdonság van a motorban és hát *szipp* gyarapodtunk is. :D

Kezdjük a motorral:

- Kijavítottam a kamerarezgés következtében fellépő esetleges bugokat. Itt csak annyit csináltam, hogy vizsgálja a program, hogy ha épp nincs rázkódás, és esetleg el van tolódva a SpriteEngine, akkor helyezze vissza középre. Ez elég egyszerű volt.

- Lehet Editorból a gombokhoz szöveget rendelni. Én mindig annak a híve vagyok, hogy amit meg lehet oldani kódból, azt ne bízzuk másik személyre, még ha van is jó grafikusunk. Ha a menü opciók esetleg változnak, vagy a rá kerülő szöveg más lesz (tegyük fel New Game helyett Start Mission lesz), akkor minek őt nyaggassam ilyen piszlicsáré dologgal, hogy ugyan, írja már át a gombon a feliratot... Más részről, ha szeretném, hogy több nyelvű legyen a játék, akkor az sem megoldás, hogy annyi féle feliratozott gombot rakok a játékba, ahány nyelvű lesz a gamma. :D Igy annyi a grafikus feladata, hogy csinál nekem egy gombot, felirat nélkül, én azt Editorban bedobom ötször a scene-re, hozzárendelek szöveget, és kész is van. A Font-ot, betüméretet, mindent tudok dinamikusan váltani, tehát egy szó mint srác: sokkal jobb megoldás ez.

- Elkezdtem dolgozni a játékon belüli beállítási lehetőségeken (zene, hangerő, kamera rázkódás ki-be, Vsync) és az "Új játék" gombnál nem egyből bedob a "harctérre", hanem van pályaválasztási lehetőség, igaz, csak egyetlen map választható, de majd csinálok még hozzá két teszt pályát, különböző eseményekkel, háttérrel.

- Van enemy AI, vuhúúú. :) Már untam a buta, suta enemiket, szóval elkezdtem ilyen alap kis AI-t írni egy-egy típusnak. A kis fighter-ek kis ívben követik a playert, a bomber bejön balról, halad jobbra és közben random szórja az aknákat. Az assault bejön, lelassít, lő párat, aztán felgyorsítva kiviharzik a pályáról.
Igy már van egy kis élet az egészben. Visszatettem a régi, alap AI-t is, ami csak annyit csinál, hogy kikerülgetik egymást, és nem gusztustalan mód átfolynak egymáson. :)

- A HUD is bővültt, most már van HP kijelzés is, nem csak az XP-t jelzi ki, meg a szintlépést.

Nnnna!
És következzen a "családgyarapítási" rész. :D
Nem, nem várandós a feleségem - még - hanem a kis, 1+1 fős csapatom kibővült két fővel és több embert nem is szeretnék. Ki volt eddig a +1 fő? Hooch barátom, akinek most a tanulás természetesen előbbre való, mint a hobbi játékfejlesztés, de én számon tartom és számítok rá a későbbiekben, még ha most csak ötletekkel bombáz. Igaz, az orbok íves követését ő írta, tehát a keze nyoma mindenféleképpen meglátszik a játékon. :)

Tehát a két plussz fő!
Üdvözlöm Hevőt és Bitsculptort a csapatban. Mindketten a jf.hu -ról jelentkeztek. Hevő máris csinált egy nagyon jó menüt és a héten a GUI-t is megcsinálja. Bitsculptor pedig dizájner/scene artist/zeneszerző mindenes lett. Ha úgy nézzük, őrá bízom a tartalmat.

És most beszéljünk a közeljövőről:
A Starship Prototype nem a készülő játék címe, hanem magának a "tanulóproject"-nek (utálom a project szót) a munkacíme. A jf.hu -n látható, hogy 70%-on van a készültség, tehát nem sok van hátra ahhoz, hogy a játékmotort olyan szinten tudjam, ahogy azt az elején elterveztem. Ennek a folyamatnak a végén egy 3-4 pályás kis szösszenetet felrakok majd ide is és a jf.hu -ra is, lezárásaként a munkának.

Eközben Hevővel és Bitsculptorral elkezdünk erre a motorra tervezni egy nagyobb lélegzetű, arcade/casual space shootert. A motort természetesen fejlesztem tovább, a dizájner elvárásainak megfelelően.

Összegezve:
Megérte a fejlesztésbe ölt eddigi 3 hónap. Végre vannak olyan megbízhatónak tűnő és megfelelő tudással rendelkező emberek mellettem, akikkel lehet minőségit alkotni. Most kezdődik reményeim szerint csak a komoly munka, mert egy jó játékot szeretnék összerakni és nem egy egyszerű techdemót, mint amilyen a Starship Prototype lesz a végére.

A hozzám hasonló újonc játékfejlesztőknek pedig egy jó tanács a végére:
Ha hozzám hasonlóan Te is programozgatsz (direkt nem azt írtam, hogy programozó vagyok, mert attól messze vagyok sajnos), és szeretnél játékot csinálni, viszont szükséged van csapatra, de legalább is egy-két grafikusra, akkor ne a csapatkereséssel kezdjed az egészet. Kezdd el írni a játékodat, írd meg a játékmotort, legyen bemutatható verziód, valamilyen prototípusod az egészről. Minek akarna bárki is csatlakozni, ha nem tudsz felmutatni semmit?
Ha beszélhetek a srácok nevében, akkor elmondom, hogy nekik is az volt szimpatikus, hogy nem egy elrugaszkodott mmorpgrtsfps-t akarok csinálni, hanem egy egyszerű(?) és reális befejezési határidővel rendelkező programot. Láttak képeket a játékból, ki tudták próbálni, megértették, milyen hangulatot szeretnék hozni, stb.

Ennek a blognak is az a lényege első sorban, hogy leírjam az élményeim, mint kezdő játékfejlesztő. Sehol nem találtam anno olyan magyar oldalt, ahol elejétől a végéig olvashattam volna egy kezdőről és annak kis játékáról. Nem tudtam milyen buktatók lehetnek, mire kell ügyelni, és a jf.hu -n kívül egy-két srác blogbejegyzésén kívül SEMMIT nem tudtam az egészről... Nem mintha most olyan sokat tudnék, de bőven előrébb vagyok, mint 3 hónapja.

Mostani fejjel már látom, hogy még ez a "kis" shooter is brutál nagy dolog első játéknak.
De megérte ez az egész, és már látom az alagút végét...

Ám ez az alagút egy még nagyobba vezet. ;)

(boccs a hosszú bejegyzésért, de néha a grafomán énem kikívánkozik belőlem)

2012. január 10., kedd

Próbaverzió Jan 10.

Prototype január 10

+ akadásmentes (Vsync-et kapcs. be)
+ kamerarázkódás
+ particlesystem
+ hang
+ triggerelt map

- még nincs saját grafika
- menüben nincs gombfelirat
- nem lehet újraéledni, ha meghalsz

Igy állunk most... ;)
Kis plussz:
Második szinttől "F" betűvel lehet lövésirányzékot váltani.

Jöhet pár vélemény!

2012. január 9., hétfő

GUI > optimalizálás > ParticleThread

Köszönöm szépen mindenki válaszát, mind itt, mind a jf.hu -n. Örülök, hogy vannak azért jó néhányan, akik figyelemmel kísérik a játék fejlődését. :)

Kezd kialakulni a GUI és a hozzá tartozó HUD.
Végül abban maradtam, hogy sokatok tanácsára a bal szélen lesz a fegyverzet, és bal alul a pontok és az életek.
A játékos HP-ja és shield-je még kérdéses hogyan lesz.

Ezzel párhuzamosan most megint elkezdtem átnézni szép lassan a kódot és mindenütt optimalizálok, ahol csak lehet. Mivel irdatlan mennyiségű lövedék van egy idő után a képernyőn, valamint nagyobb csatáknál rengeteg űrhajó, valamint sok ParticleSystem, meg gördítés, stb., ezért külön-külön tesztelgetem őket. Néha-néha egybe eresztem és akkor látható az FPS-en meg a felhasznált memórián, hogy mit sikerült javítani.

A ParticleThread egy új gondolat lenne. A lényeg az, hogy külön szálon gyártatnám a ParticleSystem-eket, ezzel is csökkentve a laggolást, ami akkor következik be, amikor egyszerre több és nagyobb effektet gyártok le. Ennek az egésznek kell egy saját motor, amit minden OnIdle ciklusforduláskor futtatok. Mivel most a ParticleSystemeket az Andorra SpriteEngine-je kezeli, ezért ezzel össze kell hoznom... Ha ez sikerülne, akkor a programban megoldott dolgokban erre lennék a legbüszkébb. :)
Remélem tudok majd ezzel foglalkozni, mert akkor az újra azt jelentené, hogy dobálhatom be az effekteket rendesen a játékba. :P

2012. január 5., csütörtök

Szavazás

Ez egy rövidke post, amiben csak egy kis véleményt kérnék.
Van itt 3 GUI és egy kis játékmenet terv.

Kinek melyik tetszik a legjobban?











Vélemény jöhet kommenten, e-mailben, vagy jf.hu portálon. :)

Köszi előre is!

Egyébként a jó hír az, hogy úgy néz ki van grafikusom és zenészem is. :P
Erről majd később írok. Azért is kell gyorsan a GUI-t véglegesítenem, mert akkor a grafikát is be tudjuk lőni.