Játékfejlesztési példák
Bán Titusz
2025-05-16
986
>14
nehéz
letöltés
megosztás

Saját projektjein keresztül mutatja be a játékfejlesztési tapasztalatait Bán Titusz, aki a <19 Szabadfogású Számítógép versenyen 2014-ben Rect nevű játékával került a díjazottak közé. Vannak tippek ahhoz, hogy hogyan vágjatok bele első játékfejlesztési projektetekbe, milyen honlapokra érdemes ellátogatnotok, milyen eszközöket kell elsajátítanotok. Négy játékhoz kapcsolódóan látható lesz a fejlesztési folyamat, gyakorolhattok a forráskódokkal (plusz játékélménynek is szuperek!).

>Kattints ide az angol verzióért!<

1. lépés Ez a leírás tartalmaz…
  • Egy rövid bevezetőt
  • Hasznos forrásokat az elinduláshoz játékfejlesztés terén
  •  Nyílt forráskódú projekteket
  •  Néhány tippet pár olyan játékról, amelyeken dolgoztam

A játékfejlesztés neked való, ha érdekelnek a játékok, az informatika és programozás, valami új létrehozása, és a folyamatos tanulás!

Tanácsaim azoknak lesznek igazán hasznosak, akiknek van némi ismerete a gaming-ről, a népszerű műfajokról stb. Ezen kívül azoknak, akik alapvető ismeretekkel rendelkeznek a programozásról (ideális esetben C#).

2. lépés Rólam
Játékfejlesztési tapasztalatom

Már közel 10 éve programozom, és minden a játékokkal kezdődött. Vagyis hát ez nem teljesen pontos. Az egész Lego-val és robotokkal kezdődött. De ami felnyitotta a szemem, és ami a folyamatos kísérletezésre ösztönzött, az a játékfejlesztés volt.

14 éves voltam, amikor furcsa véletlenek révén rájöttem, hogy valóban képes vagyok elkészíteni egy játékot. Persze, mindig is tudtam, hogy valahogyan lehetséges, csak soha nem gondoltam, hogy tudok ilyesmit.

Ezen a ponton a programozási ismereteim elég alapvetőek voltak. Tudtam néhány dolgot, és majdnem kiolvastam egy könyvet (volt pár rész, amit értettem is), de a játékok készítése során tanultam meg a nagy részét annak, amit ma ismerek a programozásról.

A játékok világa nagyon izgalmas közeg. Ez a kreativitás, a tervezés és a mérnöki munka tökéletes keveréke. Ez egy olyan világ, ahol nagyon kevés tudással valaki nagy dolgokat építhet. Persze folyamatosan lesznek megtanulandó dolgok. Ha nem is célod, hogy egész életedben játékokat fejlessz (mint ahogy nekem sem), akkor is tanulsz a játékfejlesztéssel, alapvető problémamegoldási készségekre teszel szert és különböző mnehézségű kihívásokkal nézel szembe. Ezeket a készségeket a karriered során jól lehet majd hasznosítani.

Röviden: jó néhány évet töltöttem RedCubeGames márkanéven fejlesztett játékokkal. A játékfejlesztő cég nem volt más, mint egy alternatív név arra, hogy én otthon játékokat csinálok. De jól hangzott, ezért használtam.

Megvalósítottam nagy és kicsi játékfejlesztő projekteket, néhány elkészítése néhány órát vett igénybe, mások több hónapig tartottak. Itt most szeretnék megosztani veletek néhány példát, hogy tanulhassatok belőle amíg én nosztalgiázom!

Miért most?

Amikor ezt olvasod, lehet, hogy a COVID-19 egy régi emlék, vagy egy múltbéli világformáló esemény.

A jelenlegi valóság az, hogy ez a vírus ptthonmaradásra kényszerített mindenkit, és sok diák hirtelen otthon is megvalósítható projektekre vágyik.

Ezért kerestek fel a C3 Alapítványtól, a <19 Szabadfogású Számítógép verseny szervezői. Megkértek, hogy írjak valamit arról játékról, amelyet évekkel ezelőtt neveztem be a versenyre, hátha általános tudásanyaggá alakítható játékfejlesztés iránt érdeklődők számára.

Mivel foglalkozom most?

Amióta ezeket a játékokat elkészítettem, megszereztem egy Robotika-mérnöki diplomat, jelenleg szoftverkészítőként dolgozom. Néha még mindig készítek játékokat, általában egy-egy game jam esemény keretében, vagy kollaborációban, besegítve valaki más játékába.

Már nem foglalkozom játékokal napi szinten, mégis ez nem valami olyasmi, amit valaha el lehetne hagyni. Szóval ki tudja, egy nap talán visszatérhetek hozzá.

Ha szeretnéd velem felvenni a kapcsolatot, kérdéseid lennének vagy csak beszélgetnél a projektekről, használd a LinkedIn-t.

3. lépés Kezdjük el – az első projekt

Szóval szeretnél játékokat fejleszteni. Nagyszerű! Figyelem: Az első néhány játékod valószínűleg nem lesz olyan lenyűgöző, mint ahogy azt szeretnéd. De büszke lehetsz rájuk, és ez az, ami itt fontos. A sok tanulást el kell valahol kezdeni!

Egy játék készítéséhez játékmotorra van szükséged. Bár lehetséges a egy ilyet a semmiből elkezdeni és elkészíteni, ez nem okos ötlet, sok fejvakarást okozna. Ezért ajánlom a Unity-t, ami ingyenes, jól támogatott, fantasztikus programozó-közösséggel rendelkezik, és az összes elképzelhető platformon támogatja a 2D-t és a 3D-t is.

Ezután el kell sajátítanod a különböző eszközkö (‘tools’) használatát. Nézd meg az oktatóanyagokat a “Hasznos anyagok’ résznél lejjebb, és kezd el felfedezni a lehetőségeket. Az oktatóprogramok nézése azonban nem játékfejlesztés. Amint van egy képed arról, hogy hogyan működnek a dolgok, kezdd el saját játékok készítését. Állíts be egy célt, például egy karakter megmozgatása, és ne állj meg, amíg nem sikerült. A Google a barátod, hiszen a legtöbb kezdő játékfejlesztő kérdésre már biztosan adtak választ egy fórumon.

Ha az első játékodon dolgozol, van néhány döntés, amit meg kell hoznods, hogy irányt adj a játékodnak.

Tudom, hogy el akarod készíteni a következő 3D puzzle-kalandot vagy egy ütős lövöldözős játékot. Tudom, mert én is ilyen voltam! De ha ésszerűen gondolkodsz, rájössz hogy kicsiben kell kezdeni. Ne próbálj belemenni egy 3D-s játékba, hacsak nincs jó alaptudásod a 3D-s modellezésről. Válts 2D-re, ahol bármilyen képszerkesztőben készíthetsz hasznos képeket. Próbálj meg belátható határokat húzni. Reálisan nem fogsz sikeres online platfrom lövöldözős játékot készíteni, kivéve, ha jó néhány év áll mögötted. Próbálj meg elkészíteni valamit, ami reálisan befejezhető a globális felmelegedés csúcspontja előtt!

Egy projekt befejezése nehezebb, mint gondolnád. A legtöbb játék soha sem lesz befejezve, miután a kezdeti izgalom lelohad. Éppen ezért elengedhetetlen, hogy egy egyszerű játékra összpontosíts. Akármennyi projektet elindíthatsz, de többet tanulsz ha egyet ténylegesen befejezel. 

Szintén fontos, hogy ne ess át a ló túlsó oldalára, egy célt tűzz ki magad elé, és ha elérted, ott állj meg. Ne hagyd, hogy a funkciók beépítése elvegye az összes idődet. A játékod szempontjából ezek nem annyira lényegesek. Fejezdd be a játékodat, mutasd meg barátaidnak, majd lépj tovább a következő ötletre, a következő projektre.

Minden alkalommal, amikor új projektet indítasz, próbálj meg valami újat megtanulni. Próbálj ki valamit, amit még nem csináltál. Műfaj, mechanika, téma, beállítás, technológia, bármi is legyen, maradj változatos. Nem akarsz leragadni folyamatosan egy játék készítésénél.

4. lépés Hasznos anyagok

Itt bemutatok néhány olyan forrást, amelyet hasznosnak vagy inspirálónak találtam a múltban Unity, Game Design, vagy programozás tanuláshoz.

Unity Tutorialok

Hivatalos Unity oktatóanyagok

Bár ez nem mindig volt így, a jelenlegi hivatalos Unity oktatóanyagok szuperek. A kezdőtől a szakértő szintig vannak videóik és írott cikkeik bármiről, amire a motor képes. 

Quill18Creates

Az oldal kapcsán kerültem a játékfejlesztésbe. Lehet, hogy néhány videója kissé elavult, de végigviszi a teljes játékfejlesztési folyamatot lépésről lépésre, elejétől végéig. Nem ajánlom a videók vakon követését, de értékes tudásanyaghoz lehet hozzájutnia nézésükkel egy saját projekthez.

Sebastian Lague

Coding Adventures sorozata valóban az egyik leglenyűgözőbb videósorozat, amit ebben a témában láttam. Néhányuk eléggé profi szintű, de egyszerű, könnyen érthető módon mutatja be őket, és minden, amit csinál, ingyenesen letölthető.

Fejlesztői anyagok 

textures.com

Ha úgy döntesz, hogy mégis a 3D-s útra lépsz, akkor textúrákra lesz szükséged, hacsak nem rajongsz az egyszínű felületekért. A textures.com-on elég sok textúrát találsz. Konkrétan többezret. Minden nap ingyenes krediteket kapsz a textúra minőségű fényképek letöltéséhez.

Incompetech

Kevin MacLeod Incompetech oldala lehet az internet leggyakrabban használt ingyenes zeneforrása. Ha eltöltöttél több mint 5 másodpercet valaha online, akkor valószínűleg hallottad már az egyik dalát a háttérben szólni. A fájlok tényleg teljesen ingyenesek, csak próbálj meg olyat választani, amit még nem hasnált tizenkilencezer különböző YouTuber.

Paint.NET

Ha fejlesztési eszközökről van szó a Paint.NET a legjobb Photoshop alternatívám. Rendelkezik minden szükséges funkcióval, de elég egyszerűen átlátható.

3DS MAX

Ismét, ha a 3D mellett döntesz, szükséged lesz valamilyen 3D-s modellező programra. Használhatod a Blendert, de a 3DS MAX a jobb eszköz, diákoknak ingyenes. Csak semi esetben se használd CAD szoftverként mérnöki projektekhez, mint ahogy én tettem. Szörnyű ötlet.

Inspirációs források

Game Developers Conference

A GDC-n egy csomó csodálatos beszélgetést hallgathatsz meg az összes kedvenc játékstúdiódtól. Beszélnek a játékaikról, a kihívásokról és a fantasztikus retrospektívokat mutatnak be.

Noha ezek közvetlenül nem alkalmazhatók a játékfejlesztés világában való elinduláshoz (néhány beszélgetés túlságosan száraz ahhoz, hogy a kezdő megértse), ámulatba ejtő betekintést nyújt abba, hogy a nagy fiúk hogyan csinálják.

Yahtzee’s Dev Diary

Yahtzee Croshaw játékfejlesztő, író, kritikus rendkívüli játékfejlesztői sorozata minden hónapban. Sokat beszél arról, hogy milyen a jó játék, Game Design kódötletekről, az elsődleges és másodlagos játékhurkokról és a játékfejlesztés különféle kihívásairól.

Ludum Dare

A kreativitás igazán korlátozások alatt virágzik. A GameJams ennek a tökéletes példája. Van 72 órád (vagy 48, ha igazán kemény vagy) és egy témád, hogy kivitelezz egy a játékot. Bármilyen játékot. Ennyi. Nincs idő a kiegészítő ötletekre, vagy a koncepció őrlésére. Csak te vagy és a csapatod, meg egy egyszerű ötlet, amiből prototípust tudtok csinálni. A játékfejlesztéshez kapcsolódó legjobb emlékeim közül néhány baráti Jam-ekről származik.

5. lépés A játékok - Rect
RECT

A Rect egy multiplayer játék, 2014-ben dolgoztam rajta. Minden játékos egy téglalappal játszik (ebből a név: rectangle> rect). A cél az, hogy amennyit csak tudsz beszínezz a táblából a megadott határidőn belül.

Azta. 2014. Nem ez volt az első játék amibe sok energiát fektettem (az az Altair volt), de ez volt az első, ahol komolyan akartam venni a dolgot. Ami azt is jelentette, hogy a játék fejlesztésével kapcsolatos minden extrát megcsináltam, mint például a fejlesztési naplót vezettem, trailer csináltam hozzá, stb. Akkor az IndieDb-t használtam, ami egy játékmegosztó oldal független játékok számára. Még mindig ott vannak a naplóbejegyzéseim, ha többet szeretnél tudni a fejlesztési folyamatról! Nagyon sokat segített, hogy komolyan vettem a folyamatot. Emlékszem, amikor egyszer bejelentkeztem és megláttam, hogy a letöltési statisztikáim hatalmasat ugrottak. Nem tudtam elhinni! Mint kiderült, a jól megcsinált profil, képek, rendszeres posztok és frissítések miatt szerepeltem az IndieDb főoldalán. Azt hiszem, hogy ez volt a legjobb játékfejlesztéshez kapcsolódó pillanatom addig.

Ez volt a játék, amit beküldtem a <19 Szabadfogású Számítógép versenyre.

Ma kipróbáltuk a lakótársammal és a barátnőmmel és tudjátok mit, ez még mindig egy jó játék. Őszintén meglepett. Emlékeztem, hogy jól szórakoztunk vele gimiben a barátaimmal mialatt fejlesztettem, de tényleg még ma is megáll a lábán. Észrevettem pár hibát, és messze van a tökéletestől, de amúgy tényleg jó. A végleges verziót letöltheted a lenti linken. Van benne egy LAN multiplayer funkció, de nem tudom, hogy működik-e, nem tudtam kipróbálni, de sosem volt igazán prioritás.

Töltsd le a Rect (Win) - Indie DB fájlt

Ha be szeretnéd tölteni Unity-ben, van egy rossz hírem. A 6 évvel ezelőtti Unity UI Engine és a networking engine, amit a játék használ, már nem használható. Ha bátornak érzed magad, letöltheted a Unity régebbi verzióját a Unity Archive-ból. Én a 4.6.6-ot használtam, tehát legalább ezt kell használni. A forráskódot itt letöltheted. Ne várd el, hogy tökéletes megoldásokat tanulsz majd belőle. Visszatekintve 6 év extra tapasztalat után, sokkoltak a kitekert megoldások.

Nem a technikai aspektus az, amit ebből a játékból érdemes megtanulni.

Összefoglaltam a főbb tanulságokat:

  • Soha nem szabad alábecsülni a játékfejlesztést körülvevő dolgok hasznosságát. Írj egy naplót. Csinálj egy vlogot, beszélj a projektjeidről online, osszd meg másokkal. Tudom, hogy gyakran egyszerűbb csak a játékra koncentrálni, és valóban a játékra kell a legtöbb hangsúlyt fektetni, de van előnye annak, ha megosztod másokkal a folyamatot.
  • Néha elég egy, központi játékmenet. Nem mindig, de néha működik. Ennek a játéknak nincs valódi mélysége. Perzse, vannak játékmódok és szintek, de ezt a játékot le lehet tudni egy 2 perces játékhurokban, néhány baráttal.
  • Ennek a játékműfajnak a lényege, hogy szórakoztató legyen. Ha meg szeretnél változtatni bármit, kérdezzd meg magadtól, ez hozzáad a móka-faktorhoz? Ha igen, csináld. Ez nem kifogás arra, hogy rosszul felépített játékot csinálj. Egy kaotikus és bug-os játék nem szórakoztató, de nincs értelme polírozni és elmélyíteni egy olyan játékot, aminek a káosz az egész lényege. Na meg az, hogy elvedd a haverod elől a power-upot!

Mit lehet kipróbálni a forráskóddal:

  • Találj ki új power-up-pokat! Új fegyverek, új képességek, de gondolkodhatsz olyan gonosz powerup-okban is, amelyek akadályozzák a játékost, ha véletlenül felveszi őket.
  • Adj hozzá szinteket! Nézd meg egyáltalán mi lehetséges, figyelembe véve a játék sebességét és a káoszt. Vigyázz, ne adj hozzá olyan térképeket, amik lelassítják a játékot.
  • Próbáld ki, hogy meg lehet-e változtatni az AI-t. Miután megértetted hogyan működik, kipróbálhatod hogyan tudod agresszívabbá, taktikusabbá tenni, stb.

Ha készítettél valamit belőle, nagyon örülnék ha megosztanád velem! Írj egy e-mailt a tituszban@gmail.com címre, vagy üzenj LinkedIn-en.

 

6. lépés A játékok - Elevator
Elevator

Az Elevator egy olyan mobil játék, amelyben a felvonókat kell vezérelned, hogy a játékosok a különböző emeletekre jussanak, 2014. Májusában publikáltam.

Egy napon egy bevásárlóközpontban vártam valakit, és figyeltem, ahogy a liftek fel-le mennek. Körülbelül abban az időben kezdtem el meglátni az algoritmusokat a mindennapi dolgok mögött. Elkezdtem azon gondolkodni, hogy mi a következő emelet kiválasztásának logikája, és hogyan változna meg, ha az algoritmus előre tudná, pontosan hány ember fog beszállni és melyik emeletre mennek. Ez ez nagyon érdekesnek tűnt, és úgy gondoltam, lehetne belőle játékot csinálni, szóval csináltam egyet.

Ez tipikusan az a mellékprojekt volt, ami miatt elszalad veled a ló. A plazas jelenet után megszakítottam az akkori nagyprojektemet (Altair) és elkezdtem pihenőként ezen dolgozni. Igen, felfüggesztettem egy játék fejlesztését, és egy másik játék fejlesztésével ‘pihentem’. A koncepció elsőre jónak tűnt: az emberek szintekre akartak jutni, beszálltak a liftbe, és kijszálltak a helyes emeleten, és megmondhattad a liftnek, hogy menjen egy-egy szintre. Úgy tűnt, jó nyomon vagyok. 

A prototípus fejlesztése során feljött pár nehézség. Olyan nehézségek, amelyekkel a kezdő fejlesztők szoktak szembesülni, de emlékszem, milyen büszke voltam, hogy kezelni tudtam a problémákat. Ilyen volt pl. a véletlenszerű emberek generálása, a felvonó helyes padlóhoz illesztése, de a legjobban egy egyszerű, ám idegesítő dologra emlékszem: amikor a lift megérkezik a szintre, mindenki elindul egy véletlenszerű helyzet felé a liftben. Ha a felvonó elindul azelőtt, hogy a személy elért volna ebbe a helyzetbe, akkor visszaerül oda, ahonnan elindult (így nem tudsz pl. az embereket az ajtó közelében mozgatni, csak otthagyni őket). Ha azonban már felvonóban voltak, de még nem a kívánt helyzetben, és a lift elindul, kiugranak a mozgó liftből. Ez egyértelműen nem stimmelt, de a megoldás – ami lehet, hogy nyilvánvaló az olvasó számára, és mostmár számomra is - meglehetősen nehéz volt. Megtaláltam a megfelelő megoldást, amivel ellenőriztem, hogy ha a személy már a liftben van, és csak akkor ment tovább ha a válasz igen.  A liftet pedig beállítottam parent-ként, hogy ne maradjon le az utas.

Miután elkészítettem a prototípust és volt egy működő elsődleges játékhurok, elkezdtem a játék másodlagos részeire összpontosítani. Célokat találtam ki, kalibráltam az emberek sebességét és azt, hogy milyen gyorsan legyenek mérgesek, majd távozzanak. A powerupok ötlete is ekkor jött. . Spoiler, ha játszani szeretnél a játékkal: A korai játékaimban megfigyelhető a tematika: imádom(tam) a powerup-okat! Pont elég extra izgalmat adtak hozzá, de visszagondolva némelyiküknek állandónak kellett volna lennie. Bizonyos szintek egyszerűen teljesíthetetlenek anélkül, hogy valamelyiket ne aktiváljuk az elején (Ha érdekel, megpróbálhatod kijavítani ezeket a hibákat. Töltsd le a játékot, és próbáld ki mi történik, ha módosítod az embereket és a powerupokat.)

Ezután jött a harmadlagos hurok, a szintek felállítása, a különböző hátterek létrehozása, több lift, a fennmaradó pénz stb.

És ennyi, néhány hónap alatt lett egy nagyon szilárd játékom. Mi a következő lépés?

Az Elevator volt első játék, amit közzétettem! Mint kiderült, egy játék Android-on történő publikálása olcsó és egyszerű. Tényleg nagyon olcsó. Az írás idején ez 25 dollár. Ami mondjuk nem nulla, de elhanyagolható más platformokkal összehasonlítva. Ez ráadásul egyszeri 25 dollár, nem is játékonként. Ha komolyan veszi a játékfejlesztést, és szeretnél játékokat közzétenni Androidon, akkor ez 100%-ban megéri.

Szóval én is azt gondoltam, hogy simán megéri. A Unity-val az Androidra történő átvitel is a lehető legegyszerűbbé van téve. Elérkeztem oda, hogy ott volt, elérhető az egész világon, az első közzétett játékom. Alig vártam, hogy elmondjam mindenkinek, akit ismerek. Néhányan letöltötték, ami, mint kiderült nagyon hasznos. Ezt a kezdeti érdeklődést a Play Áruház úgy értelmezi, hogy a játék releváns, és ajánlani fogja.

A játék egész sikeres lett, az én megítélésem szerint. A csúcspont az volt, amikor pár ezer ember töltötte le a világ minden tájáról. És értékelték! Az első néhányat még a barátaim írták, persze. De az idő múlásával random emberek kezdtek kommentelni. Volt néhány ember akiknek nem tetszett, vagy nem értette mi történik, de összességében pozitív értékelést változások voltak a Play Store-ban és frissítenem kelle volna a játékot. Levették, mert nem foglalkoztam vele, de most kijavítottam és újra le tudjátok tölteni!  Lesz majd egy figyelmeztetés, hogy a játék egy régi Android-verzióra van írva, de többnyire még mindig működik.

Töltsd le az Elevator-t Google Play-ről!

De mi van más platformokkal, pontosabban az IOS-sel? Nos, az IOS-en való közzétételhez évente 99 dollár boltdíjt kell fizetned. Professzionális fejlesztőknek ez biztosan oké, de egy olyan hobbista számára, mint én, egy kicsit húzós. Ha még beleszámolod az Apple gépet, még egy Mac Mini is 799 dollár, amit inkább másra költönék. Lehet neked megéri, nekem nem jött szóba.

Mivel ez is egy régebbi játék, egy régi Unity version tudod jobban megvizsgálni: Unity Archive. Ehhez is a 4.6.6-ot használtam és jól működött. Innen le tudod tölteni a teljes forráskódot. 

Fontosabb tanulságok:

  • Tedd közzé játékaidat. Nagyon könnyű bezárni a projektet, mosolyogni a jól elvégzett munka miatt és továbblépni a következő projektre. A játékok közzététele azonban könnyebb, mint valaha, pl. az Android vagy az Itch.io platformokon. Próbáld meg megmutatni, amit csinálsz. De csak akkor, ha csináltál valamit ami tényleg jó! Elég sok amatőr is van ezeken a platformokon, jónak kell lenned, hogy kiemelkedj a tömegből.
  • Vedd elő a hobbiprojektedet, és csináld meg! Az Elevators sokkal több sikert hozott, mint a fő projektem, amin ténylegesen dolgoztam ebben az időben. Miért? Ez jobb játék volt. Szilárd az elsődleges hurok, jól megtervezett másodlagos és harmadlagos hurokkal.
  • Az inspiráció bárhonnan jöhet. Hagyd, barangolni az elmédet, a mindennapokban is. Hagyd, hogy mindenben megláthassa a játékot. Szinte mindent játékká lehet alakítani!

Próbáld ki a forráskóddal:

  • Szórakozz a powerupokkal. Nézd meg, hogyan változtathatja meg a játék egyensúlyát ha módosítod ezek erősségét.
  • Próbáld meg megváltoztatni az emberek egyensúlyát. Mi történik, ha gyorsabbak / lassabbak? Mi történik, ha korábban mérgesednek?
  • Nézd meg, lehet-e új mechanikát hozzáadni a szintekhez, több emelet vagy felvonó mellett. Felvonók két oldalon?
  • A játék egyik gyengesége a megjelenése. Most bájosnak tűnik, de ez már 2014-ben is régimódinak tűnt. Újra tudod textúrázni, hogy tényleg jól nézzen ki?

Ha készítettél valamit belőle, nagyon örülnék ha megosztanád velem! Írj egy e-mailt a tituszban@gmail.com címre, vagy üzenj LinkedIn-en.

Megjegyzés a bevételszerzésről: amint láthod, ebben a játékban nincsenek hirdetések vagy mikrotranzakciók. Gondolkodtam, sőt még kísérleteztem is bevételszerzési lehetőségekkel, de a végén úgy döntöttem, hogy nem megfelelő ennek a játéknak az esetében. Ez egy szerelemprojekt volt, de mint ilyen, tovább akartam lépni, miután befejeztem. Sokkal boldogabb voltam egy tiszta játékélménnyel, mintha tele lett volna zsúfolva hirdetésekkel. Dönthetsz úgy, hogy pénz szeretnél keresni a játékodon. De ne feledd, hogy mi a játékkészítéssel az elsődleges célod.

7. lépés A játékok - Altair
Altair

Az Altair egy 3D-s first-person felfedezős-rejtvényfejtős játék, amelyen 2013-2014-ben dolgoztam, egy egyéves középiskolai projekt keretében. 

Az Altair története egy igazi tanmese. 2013 közepén fedeztem fel a játékfejlesztés világát. Le voltam nyűgözve. Azt hittem, bármit meg tudok csinálni. Tévedtem. Miután elkészítettem néhány prototípust a first-person mozgáshoz, jó ötletnek tűnt elkezdeni dolgozni egy teljes hosszúságú first-person játékon. Ez teljesen ésszerűnek tűnik. Tévedtem. Arra gondoltam, hogy tanulmányokat fogok írni, karaktereket és történeteket fogok kitalálni, meg fogok tervezni egy térképet, és persze tele fogom rakni rejtvényekkel. Mert így néz ki egy játék. Nem. Nem. Nem. Szerencsére a barátaim, akiknek elmondtam mit tervezek, meggyőztek, hogy ne folytassam az eredeti ötletemet, egy portálszerű puzzle platformert, egy kis AI-jal. Ez még nagyobb katasztrófa lett volna. Egy tipp: néha azt gondolod, hogy vices vagy, de ez nem mindig igaz.

Itt csak egy kis ízelítő azokból a dolgokról, amiket megpróbáltam beépíteni a játékba, és elrontottam:

  • Erős és különleges játék-világ! Szimplán sötét volt. Túl sötét.
  • Animált grafika! Nem illeszkedtek rendesen a térbe vagy a megvilágításhoz.
  • Sok elhagyott terület! Túlságosan nagy volt, rosszul méretezett, és az üresség érzését keltette, mert a 3D-s környezeteket nagyon nehéz felépíteni.
  • Hang-alámondás! Köszönet pár embernek, akiket sikerült behúznom az iskolánk rádióstúdiójába ahol felvettünk egy forgatókönyvet. Aztán amikor megszerkesztettük a hangokat jól tönkrement. Túl gyors volt, nem volt elég szünet, nehéz volt megérteni.
  • Sztori! Nem én írtam. Egy barátom volt, aki egy meglepően jó történetet írt a játéknak (úgy tűnik az emberek jó munkát végeznek, ha egy olyan dologra összpontosítanak, amiben jók, és nem próbálnak meg mindenbe belemenni), de túl elvont lett, semi sem került bele a játékba, kivéve a menüben egy falszöveg és egyetlen audio log. (Ismét óriási köszönet azoknak, akikkel felvettük!)
  • Reális grafika! Hát, elég rosszul nézett ki. A méretezés rossz volt, túl nagyok voltak és nem voltak optimizálva, ami azt jelenti, hogy a játék lassú lett, valami elég érdektelen miatt.
  • Rejtvények! Megpróbáltam reális berendezéseket csinálni, hogy az interakció tükrözze a valós, tárgyakkal való interakciót. A végén lett egy rakat összefüggéstelen rejtvényem, ahol az egyik megoldása nem segített a másik megoldásában, és nagyon nehéz lett kitalálni, hogyan lehet előrehaladni segítségkérés nélkül.
  • Hang-effektek! A hangerők teljesen szét voltak csúszva, a lépéshangok véletlenszerűek voltak.
  • Nagyfelbontású modellek! A játék rettenetesen futott. A modellek túl sűrűk és érdektelenek volt, hiányzott az igazi berendezések ipari szépsége, sok olyan részlet, ahol tudod, hogy mindennek van értelme. Plusz sok idő volt megcsinálni. Több időt töltöttem a 3-D modellek készítésével, mint a játék programozásával, vagyis azzal a résszel, amit igazán élveztem.
  • És még sok más...

A fentiek mindegyikét elkerülhettem vagy megjavíthattam volna, de nem egyszerre mindegyiket, és nem egy év alatt. Sokat akart a szarka és makacsul kitartottam, nem láttam jól a hibákat pedig egy csomó szenteltem a projektnek. Annak alapján, hogy mennyire kritikus vagyok ezzel a projekttel kapcsolatban, azt gondolhatod, hogy kudarcnak tekintem, pedig nem. Azért azt nem hiszem, hogy jó játékot csináltam, de annyit tanultam ebből, hogy a tulajdonképpen örülök, hogy kipróbáltam. Te is örülhetsz, mert már tudod, hogy milyen hibákat nem szabad elkövetni.

Ha a fenti lista után még mindig megpróbálnál egy nagy, hosszú 3D játékot csinálni, én megértem. Én is azt gondoltam, hogy "menjen a fenébe aki nem hisz benne, én az álmaim játékát építem!" Remélem, hogy hallgatsz rám, és kicsiben kezdesz. Annyival büszkébb vagyok néhány olyan játékra, amit egy hétvége alatt csináltam, mint erre, ami hónapokat vett igénybe. De ha ragaszkodsz ahhoz, hogy valami nagyot csinálj, legalább próbálj meg tanulni belőle amennyit csak tudsz.

Íme néhány dolog, amit megtanultam a projektből:

  • Osszd be az időt: a határidők félelmetesek. De ahogy az élethez is, a játékfejlesztéshez is elengedhetetlenek. Szerencsém volt, hogy az iskola miatt az év alatt több határidőt lőttem be, amiket be kellett tartanom. Megtanultam, hogy a játék méretét pontosan meg kell határozni (vagy a a határidő közeledtével csökkenteni) és az előzetes tervezés fontosságát.
  • 3D modellezés: Ezt a képességet azóta nem használtam játékokban, de elengedhetetlen a számítógépes tervezéshez (CAD) az egyetemen.
  • Programozás: a folyamat lényegében egy éven át tartó bootcamp volt, ahol nehéz feladatokat kellett megoldanom. A programozás nagy része a speciális készségek, módszerek, tervezési minták stb. elsajátítása.  Bele kell tenni az időt hogy megszerezzd a tapasztalatokat.
  • Másokkal dolgozni: legyen szó akár tervezésről, vagy a barátaim irányításáról a stúdióban, sokat tanultam úgynevezett soft-skilleket a projektből. Bár akkor azt gondoltam, hogy egyszerűen csak túl nehéz.

A forráskódot megtalálod ezen a linken, ha el szeretnél merülni ebben a katasztrofális játékban. Unity 4.6.6 kell hozzá a Unity Archive-ból, mint a többiekhez. A fő tanulság itt, hogy kicsiben kell kezdeni, és olyan játékot tervezni amit be is lehet fejezni. Vagy csináld meg álmaid játékát, én nem foglak megállítani!

Nem ajánlok semmmit amit érdemes kipróbálni a forráskóddal. Megpróbálhatod kijavítani a hibákat, de nem igazán éri meg. Inkább írj nekem a te hasonló projektedről ha van ilyen, a projektről ami túl nagy lett és bedőlt. Mond el mit tanultál belőle!

Írj nekem: tituszban@gmail.com, vagy üzenj LinkedIn-en.

 

8. lépés A játékok - Artificial
Artificial

Az Artificial egy 2D-es narratív arcade játék, amelyet csapatban fejlesztettem az Indies VS Pewdiepie gamejam-en, 2014 novemberében.

Egy kis kontextus a játékjam-ekről általában és ebben az esetben:

A játékjam-ek különleges alkalmak. Noha elméletileg ezek versenyek, jó lehetőséget adnak a szabad, kreatív alkotásnak. Közmondás, hogy a kreativitás határok közé szorítva virágzik. A játék jam-ek ennek az ötletnek a megtestesülései. Van 48-72 órád, és néha adnak egy koncepciót / témát (de nem mindig). Ezzel a gyakorlatilag üres vászonnal kell kezdened valamit. Ez elég stresszes tud lenni, és nem mindig jön ki belőle valami egetrengető, de néha, létre tudsz hozni valami különlegeset. Emellett ötletekkel kísérletezhetsz és együttműködhetsz új emberekkel. Az Indies vs Pewdiepie gamejam-et 2014-ben egy online játékszolgáltató szervezte, a Pewdiepie nevő YouTuber.rel Ezen a ponton már ismert alkotó volt, de még nem vált YouTube szupersztárrá, és a különféle kontroverzális ügyei sem ütöttek még be.

Azt hiszem, ez volt az első igazi game jam szereplésem, és nagyon komolyan vettem. Két művészt és egy zenészt toboroztam néhány online fórumon, és bevontam a legjobb barátomat, hogy dolgozzon a dizájnon és írjon szövegeket. Vicces történet: a jam első napján kaptam meg a Rect-ért a <19 Szabadfogású Számítógép Versenyen, de rögtön a díjátadó ünnepség után átmentem a barátomhoz és ezen a játékon dolgoztam. Mindig inkább a dolgok építésével foglalkoztam, mint a dicsérettel.

Figyelembe kell venni, hogy mivel ez egy történet-vezérelt játék, és a következők tartalmaznak spoilereket, erősen ajánlom, hogy mielőtt elolvasod a lentieket, játssz vele.

Itt van a linkje: Artificial a GameJolton

Ettől a ponttól kezdve feltételezem, hogy már játszottál a játékkal. Tehát ott voltunk, a barátom, én és két művész online, és ötleteltünk. Nehéz pontosan megmondani, mi ösztönzött minket arra, hogy elkészítsük ezt a játékot, de van néhány dolog. Először is, én és a barátaim is megszállottjai voltunk Mike Bithel briliáns  indie-platformerének, a Thomas Was Alone-nak. Ebben csodálatos karakterek vannak, akik egyszerű téglalapok voltak. Ez inspirálta a karakterek antrofomirfizmusát és az elbeszélés stílusát. Másodszor, volt két igazán tehetséges művészünk, de minkettejüknek  teljesen más volt a stílusa. Ez egy játék jam. Nem lehet interjút készíteni az emberekkel, a művészeket úgy veszed fel, ahogy jönnek, ha találnak valamit, ami passzol hozzájuk. Ez ihlette a megosztott világ ötletét, így mindkettejük a saját stílusában alkothatott. Végül, a barátom ragyogó író-képességei miatt úgy döntöttünk, hogy a történet fogja vezérelni a játékot.

Az első nagy akadály, amelyet legyőztünk, az volt, hogy hangalámondó embert szerezzünk. Ezen a ponton óriási rajongója voltam a HocGamingnek, egy YouTube csatornának, amely főként Kerbal Space Program játékmenettel foglalkozik. Harv vezette, akinek csodálatos hangja van. A projekt korai szakaszában írtunk neki egy e-mailt, megkérdeztük tőle, hogy nem lenne a hangalámondónk és meglepetésünkre azt mondta, hogy igen. Ez aztán egyértelművé tette, hogy narrációra összpontosító játékot csinálunk.

Beszéljünk picit magáról a játékról Több kisebb kellett játékot csinálnunk, és úgy döntöttünk, hogy ezek egyszerű arcade játékok lesznek. Így nem kell szabályokat magyarázni az embereknek, rögtön megértik a négy játékot ahogy oda kerülnek. Lődd le a léggömböket, mentsd meg az embereket, menekülj a lávától, találd meg a tárgyakat a labirintusban. Ezek mind egyszerűen átalakíthatóak ezekre: védd meg a várost, pusztítsd el a településeket, menekülj a tűzfal elől és segíts hekkelni. Ez az utolsó mondat nem értelmes ha nem játszottál még a játékkal!

Tehát az első lépés: készítsd el a négy játékot, és találd ki, hogyan mozogsz köztük. A második lépésben mi egy csúszkára gondoltunk, amivel a "valóság átjutásának" valószínűségét lehet állítani, ehhez kellett a sprite-ok véletlenszerű cseréje, egy adott valószínűség szerint. Aztán a harmadik lépésben bevezettük a narratívát. Ezt akkor kellett életemben először csinálnom és nem volt könnyű. Még mindig emlékszem, hogy a határidő hétfőn reggel 7 volt, az az előtti este 10 órától pedig csak a történetet írtam át. Minden más készen állt, a dizájnerek és a zenészek csúcsminőségű munkát végeztek, és mindent időben átadtak. Az összes animáció a helyén, az összes hanghatás kiváltó. Harv elképesztően jó narrációs fájlokat küldött át. Minden a helyén volt, csak össze kellett hozni. 10-től 7-ig szkripteltem otthon a történetet, a barátom a Skype-on keresztül beszélgetve tartotta bennem az életet. De sikerült. Működött is, és figyeltük a feltöltősávot, ahogy a jam végének visszaszámlálójával versenyzett. Hálás vagyok az anyukámnak, hogy nem kellett iskolába mennem aznap.

A mai napig erre a játékra vagyok a legbüszkébb. Gyönyörűen összejött. Nem mondom, hogy tökéletes. Ma játszottam vele, és miközben elgondolkodtam, mennyire jól működik, rájöttem, hogy elég nehéz lett. Egy csomószor elbuktam néhány szinten. Az egyik fő hiba, hogy ha egy szintet újrajátsszol, akkor újra és újra meg kell hallgatni ugyanazt a narrációt. Harv hangja megmentte, de azért látom, hogy ez mennyire idegesítő lehet. Egy másik hiba, hogy nem magyarázza el, hogy egyes screen-ek miért zárolódnak le. Rájöttem, hogy a különböző ember, a fekete léggömb, az arany rögök és a negyedik dolog, amit meg kell találni a labirintusban okozta ezt, de csak akkor jöttem rá miután elolvastam, a szövegfájlt. A piros határ jelzi, hogy valami történik, de jobban meg kellett volna magyarázni, hogy mi. Végül az egyik legnagyobb hiba, amely kissé összefügg azzal, hogy túl nehéz, az volt, hogy két játékra egyáltalán nem lett volna szükség. Semmi sem történik, ha nem mented meg az embereket a mentőautóval, és simán elrejtőzhetsz a saroknál az autók elől, így Natalie figyelmen kívül hagyható. És szegény Glen, támogatást akar nyújtani, de ha a játékosnak nincs ideje, nem tudják arra használni, hogy segítsen a többieknek. Talán nagyobb teret kellett volna hagyni, hogy a játékosnak ideje legyen Glennel összehozni a többi játékot.

Mint mindig, itt a teljes forráskód és a Unity régebbi verziója (4.6.6) a Unity Archive-ból, így magad is megnézheted ezt a projektet.

Szóval mik a főbb tanulságok?

  • Vegyetek részt a Game Jam-eken. Kiváló módszer új dolgok kipróbálására, új emberekkel való találkozásra és új készségek megtanulására.
  • Ha ismersz egy jó írót, akkor a játék másodlagossá válhat a történettel szemben, mindaddig, amíg kiegészítik egymást, és nem csak egymással párhuzamosan léteznek.
  • A projekt gyengeségeit fordítsd át erősséggé. Kipróbálhattuk volna azt, hogy a két művész egymás stílusát utánozza, de ehelyett inkább hagytuk, hogy mindenki a saját munkájára összpontosítson, és valami egyedit hozzon létre.
  • Legyenek jó emberek az életedben, akik lehetővé teszik, hogy egész éjjel dolgozz valamin, amit szeretsz.

Mit lehet kipróbálni a forráskóddal:

  • A nehézség finomítása egészen könnyű kéne hogy legyen. Nézd meg, hogy meg tudod-e könnyíteni az egyes szakaszokat úgy, hogy közben nem lesz túl könnyű, vagy unalmas.
  • Próbálj bevezetni szüneteket, főleg a ballon játékban, így a játékosnak marad ideje lélegezni, és talán az egér segítségével segíthet a többieknek is.
  • Nézd meg, hogy meg lehet-e javítani az auto-elkerülési logikát a mentős játékban, hogy ne lehessen elrejtőzni egy sarokban.
  • Találj ki egy jobb kommunikációs módot arra, hogy miért zárolódnak le a screen-ek. Talán meg lehet próbálni ugyanazt a vörös színt használni a reteszelés körül.

Ha készítettél valamit belőle, nagyon örülnék ha megosztanád velem! Írj egy e-mailt a tituszban@gmail.com címre, vagy üzenj LinkedIn-en.

9. lépés A játékok - Lasers
Lasers

A Lasers 2015-ben készült el. 

Ez is egy szerelemprojekt volt. Sokáig volt egy olyan látomásom, hogy egy lézercsóva tökéletes szögben verődik vissza egy visszaverődő felületről. Már volt pár játék a hátam mögött, és szerettem volna egy olyat csinálni, ahol mindenhonnan visszaverődő lézerekkel lehet játszadozni. Plusz, szerettem volna egy megoldós ‘puzzle’ játékot csinálni, mobilra. Így született a Lasers koncepciója.

Sok hasonlóságot mutat a többi játékommal, aminek én dolgoztam a kinézetén. Homogén felületek, elsődleges színek, egyszerű formák és a név, ami pontosan megmondja, mire számíthatsz a játéktól. A design soha nem volt az erős oldalam, de itt legalább eljutottam oda, hogy a játék kinézete rendben volt, még ha nem is gyönyörű.

Az ilyen típusú játékok (‘puzzle’), különösen ha szintek vannak benne és mobilos, egyértelmű fejlesztési lépéseken keresztül jönnek létre.

1. Dolgozd ki az alapmechanikát. Ebben az esetben ezt a felületektől visszatükröző lézerek adták, a fényforrástól a célig.

2. Hozz létre szinteteket ez alapján. Kezdve a nagyon egyszerűtől a bonyolultabbig.

3. Hozz be új koncepciókat és mechanikákat (akadályok, többszínű lézerek, fekete lyukak, portálok, osztók stb.)

4. Hozz létre pár szintet ezekre a mechanikákra építve, hogy a játékos intuitívan rákapjon a dolgokra.

5. Hoz létre olyan szinteket, amik a mechanikákat kombinálják.

6. Ismételj a 3. lépéstől.

‘Puzzle’ játékokkal mindig trükkös dolgozni. Azt hinnéd, hogy a munka fő része az új mechanikák kitalálása, ami elég élvezetes. Ami valójában elviszi az időd nagy részét az a szintek tervezése. Ami sokkal nehezebb. Minden új mechanikának, amit behozol, legalább 5-10 új szinttet kell áldozni. És ebben az esetben a szintek tervezése elég bonyolult. Egyensúlyozni kell  a nehézséggel, (kezdve a szuperkönnyűtől a lehetetlenig) és az elégedettséggel (olyan feladatokat adni, melyeket jó megoldani. Javaslatom, hogy mielőtt úgy döntesz, hogy saját ‘puzzle’ játékot készítesz, gyakorolod a szintépítést egyéb ilyen játékoknál. Elég sok elérhető, ahol van lehetőség szerkesztésre és közösségi megosztása. Gyakorold ott a szintépítést, és osszd meg a barátaiddal. Ha a szintépítés mestere lettél, akkor elkezdhetsz gondolkodni a saját mechanikák létrehozásán.

A feladatok kidolgozása mellett volt néhány másik rész is, amiken dolgoztam. Próbáltam valamilyen történetet belevinni a játékba. Miért? Nem igazán tudom. Végül egy furcsa, egzisztenciális sztori lett az eredmény, ahol az oktatóanyag elkezdi tudatot nyerni és megpróbálja kitalálni létezésének jelentését. Mindez a szintszerkesztő bevezetése volt.. Igen, lett egy szintszerkesztő és egy közösségileg szerkeszthető, megosztható térkép. Hogyan? Én magam sem jöttem rá, annyit csináltam, hogy a szinteket egy saját, furcsa kódolással kódoltam. Még nem fedeztem fel a JSON-t vagy az XML-t. Visszatekintve, ami nagyon furcsa volt, hogy bár a szintszerkesztő be volt építve, a játék aktuális térképei nem használták. Erre utólag jöttem rá, amikor már ráillesztettem a térképet egy pár szintre. Szóval lett volna egy render mobil integráció eredményekkel, ranglistákkal stb. És próbáltam a pénzé tevésen is gondolkodni. Igen, előfordulhat, hogy látsz pár referenciát a játékban, ahová a reklámok kerültek volna. A reklámok kikapcsolásának furcsa logikája azt eredményezte, hogy ha kikapcsoltad őket, a játék elkezdett beszólogatni. Ez egy elég béna ötlet volt.

Ahogy egyre több extrát adtam hozzá a játékhoz, elfelejtettem hogy mi is a cél, azaz egy olyan ‘puzzle’ játék készítése, ami behúz. És ez az, ami a nap végén megölte ezt a projektet. A későbbi szintek egy része pixelvadászattá vált. Megpróbálni kitalálni mi a jó felosztás a szint megoldásához. Elkövettem a tipikus rossz ‘puzzle’ játék hibát, a szint nehézsége nem a megoldás megtalálásától függ, hanem a sikeres végrehajtást. Az sem segített, hogy folyamatosan olyan új mechanikákat vezettem be, amelyek felerősítették a kisebb pontatlanságokat (például a fekete lyuk és a prizmák), miközben a pontosság már a korábbi szinteken is probléma volt. Visszatekinve a megoldás valószínűleg az lehetett volna, hogy a kockákat diszkrét szögekben lehetett volna elforgatni, de ehhez minden szintet teljesen át kellett volna dolgozni.

A végén nem tettem nyilvánossá a Lasers-t. Örülök, hogy dolgoztam az ötleten, de nagyon sokminden máshogy csinálnék most.

Pár tanulság:

  • Készülj fel egy csomó szinttervezésre, ha ‘puzzle’ játékot szeretnél csinálni.
  • Az alapvető játékmenet tökéletesítése legyen a legfontosabb, az extrák hozzáadása előtt készítsd el a szintsorozatot. Kerüld az extrák felhalmozását.
  • Ha be szeretnél építeni egy szintszerkesztőt, akkor használd egy tényleges szinthez. Rákényszerít, hogy tökéletesítsd a szerkesztőt ahogy egyre több és komplexebb szinteket hozol létre, ami més felhasználókat is motivál több és komlexebb szintek létrehozására.
  • Ha közösségi megosztást tervezel, legyen legalább egy alapvető ötleted arról, hogyan kéne csinálni. Tanuld meg, hogy Hogan működnek a szerverek, és hogyan lehet cloud szolgáltatót használni.
  • Ismerd fel, ha a játékod nem működik. Javítsd meg ha tudod, ha nem, hagyd ott. Ne folytassd vakon a fejlesztést, remélve, hogy egyszer majd csak rendbe jön. Nem fog.
  • Ha valami nagyon izgat, valamit nem tudsz kiverni a fejedből, csinálj játékot belőle!

Itt van a teljes forráskód, és ehhez is a 4.6.6-os régebbi Unity verziót kell majd használnod a Unity Archive-ból.

Egy tipp, amire nekem is sok idő volt rájönni: ha a menüből akarsz indulni és végigjátszani a játékot, a Startup scene-nel kell kezdened, nem a Menu scene-nel. Létrehoz olyan fontos GameObjects-t, amiket nem vittem bele a menübe. Ezt megpróbálhatod kijavítani! Van még pár ilyen dolog:

  • Próbáld ki, hogy különböző szögekben forgatható kockákkal működhetne-e, hány szint dőlne be.
  • Próbáld itt gyakorolni a szintek létrehozását. Mivel nincsen rendesen megosztva, nehéz másokkal kipróbáltatni, de ad egy kezdőmechanikát amivel lehet kísérletezni.
  • Próbálj meg beépíteni extra mechanikákat, amik érdekesebbé teszik a játékot.

Ha készítettél valamit belőle, nagyon örülnék ha megosztanád velem! Írj egy e-mailt a tituszban@gmail.com címre, vagy üzenj LinkedIn-en.

10. lépés Licenszek – Mit lehet az itt található projektekkel csinálni?

Publikálhatom őket?

Nem.

Használhatom a forráskódok részleteit saját játékaimban?

Igen.

Használhatom a tartalmakat (pl. hang, képek, történet, stb.) a saját játékaimban?

Nem. Sok tartalmat nem én hoztam létre, úgyhogy nem tudok engedélyt sem adni a használatukhoz.

Szóval használhatom a teljes kódot a saját tartalmaimmal és publikálhatom?

…. Nem.

Kipróbálhatom a projekteket, hogy tanuljak belőlük?

Igen, ez lenne a lényeg.