játékfejlesztés.hu
FórumGarázsprojectekCikkekSegédletekJf.hu versenyekKapcsolatokEgyebek
Legaktívabb fórumozók:
Asylum:    5448
FZoli:    4892
Kuz:    4455
gaborlabor:    4449
kicsy:    4304
TPG:    3402
monostoria:    3284
DMG:    3172
HomeGnome:    2919
Matzi:    2520

Pretender:    2498
szeki:    2440
Seeting:    2306
Geri:    2188
Orphy:    1893
Joga:    1791
Bacce:    1783
MaNiAc:    1735
ddbwo:    1625
syam:    1491
Tumuslak Vorvahes Team - PlanetX 2009.12.06 09:21


Bevezetés

A PlanetX egy űrben játszódó stratégiai játék, amelyet a Tumuslak Vorvahes Team fejlesztett 2007-ben. A csapat tagjai már az ősidők óta kedvelik a sci-fi-t és a stratégiai játékokat, így kézenfekvő volt az ötlet, hogy mi is készítsünk egy ilyen stílusú programot. Az elképzelés eredetileg Samuraj fejéből pattant ki. A gondolatot aztán tett követte, és afféle „na akkor essünk neki” hozzáállással meg is kezdtük a fejlesztést. A programot végül Turbo Delphiben írtuk meg, ami adott volt, hiszen a csapat tagjai ezt a programozási nyelvet ismerik legjobban.

A játék egy több égitestből álló rendszerben zajlik. A játékos – beállításoktól függően – két vagy három ellenséges gépi flotta ellen harcol. A cél az ellenség bolygóinak elfoglalása. Kezdetben minden játékos egy bolygót birtokol. A kék szín a játékos bolygóit jelképezi, a zöld az ellenség bolygóit jelzi, míg a barna a semleges planéták színe. Egy támadó és egy védő flotta összecsapásából mindig a nagyobb létszámú egység kerül ki győztesen, a létszám a csata után azonos mértékben csökken (a vesztes flotta nullázódik). Ha a támadó győz, akkor az adott bolygó a birtokába kerül, és a továbbiakban innen is indíthat támadásokat.

Ha valaki szeretné kipróbálni a játékot, akkor az alábbi címeken érheti el:

http://tumuslak.uw.hu/tdownload/planetx.zip
http://ilab.hu/jf/gp.php?id=bfa3adbced01314

Megjegyzés: az eredeti cikket a Jatekfejlesztes.hu portál által kiírt „Postmortem cikkíró versenyre” készítettem, a mondanivaló tagolása is a pályázati kiírás feltételei alapján történt.

A három legjobban sikerült rész

Én azt tartom a legnagyobb sikernek, hogy egy teljes, működőképes program került ki a kezünk közül. Ez a garázsprojektek általános sorsát ismerve úgy gondolom, hogy elég nagy szó, ugyanis az amatőr fejlesztések többsége az idő hiánya, a lelkesedés alábbhagyása vagy a teljesíthetetlen elképzelések miatt sajnos félbemarad. Az eltúlzott célok kitűzésének a hibájába az idők során a mi csapatunk is többször belefutott, ez esetben viszont teljesíthető elvárásokat támasztottunk önmagunkkal szemben. Az eredmény végül egy működőképes - igaz, nem AAA kategóriájú - játék lett. A tanulság: merjünk kicsit álmodni, így nagyobb eséllyel fejezzük be azt, amit elkezdtünk!

A második pozitívum, hogy sikerült egy jó, együttműködésre képes csapatot összehoznunk. A tagok már hosszú évek óra ismerik egymást, és a PlanetX közös fejlesztése mindenkinek nagy élményt jelentett. A munka zömét jelentő programozást ketten végeztük Samurajjal, de a tervezésben és tesztelésben, illetve a grafikai feladatokban jelentős segítséget kaptunk másoktól is (többek között a Jatekfejlesztes.hu közönségétől). A fejlesztés során több alkalommal tartottunk találkozókat, amelyeken részletesen megbeszéltük a felmerülő problémákat. Hasznosak voltak a „brainstorming” jellegű gyűlések is, melyeken sok hasznos új ötlet merült fel. Ezeknek egy részét megvalósítottuk, más részét pedig elvetettük, de közben érvényesült a „több szem többet lát” elve. A profi fejlesztők sem egyedül dolgoznak, a csapat ereje nagyon sokat jelent. A tanulság: hozzunk össze egy jó csapatot, és ne akarjunk mindent egyedül megcsinálni!

A legnagyobb személyes sikerélményt a program AI-jának elkészítése jelentette számomra. A gépi ellenfél elkészítése elsősorban azért jelentett kihívást, mivel a PlanetX előtt a legkomolyabb „AI”, amit írtam, egy Tic-Tac-Toe játék gépi ellenfele volt, így semmilyen tapasztalatom nem volt a témában. Úgy gondolom, hogy végül sikerült olyan AI-t alkotni, ami meg tudja izzasztani a játékost. A tanulság: kihívások esetén se álljunk meg, hanem - akár hosszas kísérletezések árán - oldjuk meg a feladatot!

A három legrosszabbul sikerült rész

Programozói szempontból nézve az volt az egyik komoly hiba, amit elkövettünk, hogy a program paramétereit a forráskódba bedrótozva kezeltük. Jobb esetben ez azt jelentette, hogy megfelelő névvel ellátott konstansokat hoztunk létre, de néha még ez sem történt meg. A helyes út a paraméterek külső fileban történő elhelyezése lett volna. Ha a paramétereket egy külső (pl. ini vagy xml fileban) helyeztük volna el, akkor a játékot nem csak a programozók, hanem a designerek vagy a teszterek is tudták volna módosítani. (Megjegyzem, hogy a későbbi fejlesztéseinkben átálltunk a paraméterek ily módon történő kezelésére.) Tanulság: ne „drótozzunk” a programban, hanem a fontos paramétereket vezessük ki valamilyen könnyen, egyszerűen szerkeszthető fileba.

A másik probléma, ami felmerült a fejlesztés során, az a grafikusok hiánya volt. A logók elkészítésében kaptunk segítséget, de az ellenfelek képét interneten találtuk (úgy gondolom, hogy ez egy garázsfejlesztés során bocsánatos bűn). Ezzel arra szeretnék rámutatni, hogy míg egy profi fejlesztés során fel lehet venni - pénzért - jól képzett szakembereket az egyes pozíciókba, addig egy hobbifejlesztés esetén nem biztos, hogy minden feladatra találunk megfelelő embert, ami végül a játék minőségének rovására megy. Tanulság: próbáljunk meg minden pozícióra megfelelő embert keresni, még ha ez nem is mindig könnyű feladat.

A harmadik probléma, amit megemlítenék, hogy manapság az olyan jellegű és méretű játékok, mint a PlanetX, inkább böngészős játékként jelennek meg, nem pedig egy letölthető exe formájában. A PlanetX sokkal több emberhez eljuthatott volna, ha pl. Flashben készítjük el. Mint említettem, a Delphi, mint fejlesztőeszköz adott volt, így esélyünk sem volt böngészős játék készítésére. Persze ehhez időt és energiát kell fordítani a szükséges eszközök megismerésére. Tanulság: kis játékok készítéséhez célszerűbb Flasht vagy Silverlightot használni.

Konklúzió

Fel lehet tenni a kérdést, hogy mit csináltam volna másképp? Erre hamarosan megkapjuk a választ, ugyanis nemrég kezdtem bele a PlanetX II fejlesztésébe. Ez a program már nem Delphiben készül: az első projekt tanulságai alapján a második verzió már böngészős játék lesz, mégpedig Microsoft Silverlight alapokon. A program a cikk írásának pillanatában sajnos még nincs olyan állapotban, hogy egy játszható verziót be tudnék mutatni, de reményeim szerint hamarosan a közönség elé lehet majd tárni az új játékot.

A PlanetX-szel kapcsolatos visszajelzések többsége nagy örömünkre pozitív volt. Így munkánk végül elérte a célját: sok embernek adtunk néhány kellemes, játékkal töltött órát, és közben persze mi is sokat tanultunk az amatőr játékfejlesztésről.

Értékelés: 9.00

Új hozzászólás
Kapitany          2009.12.25 01:27
Nem is gondoltam volna, hogy van valami jelentése a csapat nevének, ui. mindkét szót programmal generáltam
Kapitany          2009.12.07 22:10
Hoppá, bennemaradt a megjegyzés... Máshol még nem jelent meg az írás, de ha befejeződött a pályázat, szeretném majd kitenni a blogomra is.
Szidi_Rezegh          2009.12.07 13:40
Én is sokat játszottam a PlanetX-szel annak idején. Amikor megláttam a cikk címét egyből az ugrott be, hogy ebből a játékból milyen jól kis böngészős változatot lehetne készíteni, de ahogy láttam ez a cikkben is szóba kerül.
A megjegyzést nem egészen értem, hogy az eredeti cikk a postmortem versenyre készült (mivel, hogy most is postmortemként került ide), vagy ez a cikk megjelent máshol is?
Kapitany          2009.12.07 08:32
Örülök, hogy tetszett a játék, és köszönöm a jókívánságokat
Archenemy          2009.12.07 03:25
Jaj tényeg én is letöltöttem... Ez egy egész jó játék ám! Jó, klónnak klón, meg a grafika lehetne jobb, de egy fél órát azért elvoltam vele, lehet még elő is veszem majd :p
HomeGnome          2009.12.07 01:27
Nekem tetszett a PlanetX, jókat játszottam vele, és várom a második részt!
Carlos          2009.12.06 14:54
Hozzáfogtatok, befejeztétek, és végül leszűrtétek a tanulságokat. Szerintem nagyon jó úton jártok!
Sok sikert a továbbiakban!
Archenemy          2009.12.06 13:28
Hohó, új cikk! :p Köszönjük a hasznos tudnivalókat, ilyenkor mindig reménykedem, hogy ezeket minél többen elolvassák, tudnivalókat leszűrik, és kishazánk garázs-játékfejlesztő közönsége végülis profitál belőle... vagy valami, na ezt jó bénán fogalmaztam meg.