
Mindig is játékfejlesztő akartál lenni? De sose kezdted el? Kezdj bele egy videojáték készítésébe most, nem olyan nehéz, mint gondolnád! Elkészítünk ezzel egy egyszerű 2 dimenziós, platformer játékot, amit letölthetsz bármilyen telefonon (vagy ha akarod, windows-on)!
Szóval elhatároztad, hogy készíteni akarsz egy játékot. Remek! Az első lépés egy programozó nyelv, és egy játékfejlesztő program (Game Engine) használatának elsajátítása. Erre lejjebb nagyon jó videókat találhatsz. Én a Godot Game Engine-t ajánlom, mivel egy egyszerű, remek játékfejlesztő program, mi is ezt használjuk. A Godot Game Engine saját programozó nyelvét használd, sokkal egyszerűbb megérteni, mint mondjuk egy C# nyelvet, és a legtöbb tutorial is ezt fogja használni: GDScript. FONTOS: ha 2023 körül olvasod ezt, még mindig a Godot 3.5-öt ajánlom, szinte nincsenek még tutorialok Godot 4.0-ról, így sokkal egyszerűbb valaminek utánanézni. Miután nagyjából tudod mit csinálsz, én ajánlom, hogy csinálj végig egy egyszerű játékról egy tutorial videót, (link lejjebb) ami arra jó, hogy megértsd hogyan működnek a játékfejlesztő programban a dolgok.

Mi mindig azt csináltuk, hogy előbb (elég részletesen) kitaláltunk egy játékot, és azután (néha évekkel később) kezdtük el csinálni. Neked is ezt ajánlom, hogy először tervezd meg, mit akarsz csinálni, aztán kezdd csak el. És egy nagyon fontos dolog: NE TERVEZZ TÚL NAGY JÁTÉKOT! Először ne akard megvalósítani az álomjátékodat, ami valószínűleg egy 3d-s lövöldözős multiplayer játék, kezdj valami egyszerűbbel. Egyáltalán ne is 3 dimenziós játékban gondolkozz, ha nem akarsz nagyon sokat dolgozni, sokkal nehezebb megvalósítani egy olyat, mint egy egyszerűbb 2d-s játékot. Én azt ajánlom, hogy kezdj egy 2d-s platformer játékkal (mint a Mario), mivel ezek a legegyszerűbben elkészíthetőek, és könnyen továbbfejleszthetőek.
Megtervezted, hogy milyen legyen egy egyszerű, de mégis élvezhető játék, már csak meg kell csinálni. Ajánlom, hogy a játékodhoz hasonló alap felépítésű tutorialt kövess, és erre építsd rá a játékod. Mi is ezt csináltuk, be is vált! Miután megcsináltad a tutorialt, elkezdheted ráépíteni a játékod, egyszerre csak kis lépésekben. (pl.: másfajta ellenfelek megcsinálása, további karakterek hozzáadása stb.) A játékbeli eredményeid elmentése az egyik legfontosabb dolog.
Én ajánlom, hogy ne csak egy tutorial sorozatot nézz, kövess, hanem több tutorialból építsd össze a játékod, ha nem tudsz valamit, hogy hogy működik. A mi játékunk egy 2d-s platformer játék, így a legtöbb alapfunkciót (mozgás, ellenségek, akadályok) egy Tutorial segítségével csináltuk meg. Ha elérted céljaid, minden működik, és akarsz még dolgokat hozzáadni a játékhoz, persze csináld, csak ne legyen túl komplikálva.
A textúrák elkészítése: Ha ingyen akarod csinálni a játékot, akkor a legjobb Photoshop-ot helyettesítő program a Krita, teljesen ingyenes, és nagyjából ugyanolyan, mint a Photoshop. Ha pixeles játékot csinálsz, csak beállítod az ecset méretét 1 pixelre, megrajzolod, utána máris beteheted Godot-ba. A .png fájlformátumot ajánlom, mivel rengeteg átlátszó pixel lesz a játékodban, és ezzel a legkönnyebb dolgozni.
Egy 3D-s játéknál már kicsit bonyolultabb a helyzet, sokkal nehezebb progaramokat kell megtanulnod, de a legjobb ingyenes a Blender. Ebben a programban bármilyen 3D-s modellt tudsz készíteni. Miután megvan a modell .glb vagy .gltf fájlformátumban exportálhatod ki, ezt tudod berakni Godot-ba.
Megint kiemelem, ha 2023 körül olvasod ezt, még mindig a Godot 3.5-öt ajánlom, szinte nincsenek még tutorialok Godot 4.0-ról, így sokkal egyszerűbb valaminek utánanézni!
A Godot egy olyan játékmotor, játékfejlesztő program, amiben beépített programozó felület és editor van pl az editorban tudod összerakni a pályákat a játékban stb. A Godot az egyik legjobb game engine 2D-s játékok fejlesztésére, de kisebb 3D-s játékok is jól néznek ki benne. Talán egy picit nehezebb hozzászokni ehhez, mint a Unity-hez, de miután megszoktad, szerintem egy sokkal jobb élmény lesz játékokat programozni benne.
A legfontosabb elemei a programnak: a Node-ok. Minden, amit a játékban látsz, az egy Node. A karakter textúrája, az akadályok a pályán, minden. Ezek a Node-ok úgy rendeződnek el, mint a fájljaid a gépeden
pl.: van egy Világ Node, azon belül egy Karakter Node, azon belül pedig egy textúra Node, persze ennél sokkal több. Rengeteg különböző Node van, legfontosabbak:
Node2D: Ez lehet mondjuk a Világ, ez alatt lehet minden.
KinematicBody2D: Ez lehet a játékos vagy egy szörny, tud mozogni.
Control: Ez alatt lehet minden olyan elem, amivel a játékos interaktál, pl.: Gombok, szöveg, a játék főmenüje stb.
TextureRect és Sprite2D: ezek hasonló Node-ok, mindkettőnek az a lényege, hogy amit megrajzoltál (játékos, akadályok) bekerüljön a játékba.
Minden Node-hoz hozzáadathatsz script-eket, minden node-nak lehet külön programja, így nem kell mindent egy óriási script-ben tárolni.


A GDScript nagyon hasonló a Python programozó nyelvhez. Legfontosabb elemei: Funkciók: ezeken belül van szinte minden ami a játékban van.
func _ready() -> void: ez a funkció mindig ha elindítod a játékot egyszer a legelején futni fog, utána leáll.
func _physics_process(delta) -> void: ez a funkció minden képkockáján a játékban (általában másodpercenként 60-szor) indul el.
Ezek csak példák voltak természetesen, rengeteg funkció van.
Változók (variable vagy var): ezek olyan változók, amik tartalmazhatnak számokat, string-eket, (a string egy bármilyen beírható karakter, pl. ha el akarod nevezni hogy a játékosnak milyen neve legyen, akkor ilyen formátumban kell beleírni a kódba.) Ilyen változókban akarod például a karakter nevét, eredményeit tárolni.
var játékos_neve = „játékos”
var pontszám = 100



Nem, nem kell jónak lenni matekból, hogy csinálj egy videojátékot. Persze ha 3d-s játékot csinálsz, kicsit jobban kell ismerni a koordináta rendszert, vektorokat, de alapvetően nem kell egy 2d-s játéknál semmilyen matek, mert a számítógép megcsinálja helyetted azt, hogy mennyi 3*123-45 páncél töredezettsége. Magas gépigény sem kell egy játékfejlesztő programhoz, mi is sulis laptopokon csináltuk a játékot, egy egér viszont magasan ajánlott! Sokkal kevesebb programozás kell, mint gondolnád. A fejlesztés nagy részét a meglévő elemek, karakterek rakosgatásával fogod tölteni. Én se tudok bármit beprogramozni fejből, a google mindig mindenkinek a barátja, így 1 év programozás után is sok tutorialt nézek, ha valamit meg akarok csinálni, nem kell tökéletesen tudni mindent a játékfejlesztő programról. A GDScripten belül is rengeteg hibaüzenet fog fogadni, legyen az csak egy kicsi elírása egy szónak, vagy egy nagyobb probléma, az első dolog, amit csinálhatsz, hogy rákeresel, és biztosan lesz legalább egy fórum, ahol ezt már valaki megtapasztalta egyszer. Ha nem is, akkor is rákérdezhetsz Discord szervereken, fórumokon, Reddit-en.
GDQuest: 2D Platformer játék tutorial:
https://www.youtube.com/playlist?list=PLhqJJNjsQ7KH_z21S_XeXD3Ht3WnSqW97
Godot tutorialok:
https://www.youtube.com/@GodotTutorials
Másik nagyon jó Godot tutorialos youtuber:
https://www.youtube.com/@uheartbeast
Krita tutorialok:
https://www.youtube.com/playlist?list=PLhqJJNjsQ7KEtFciikafqWU-OeU4SEejC