A játékprogramozó az a személy, aki a tervező vízióját működőképessé teszi a használt játékmotorban. Az én munkám a mobil játékprogramozó csapatban van a Kwalee-nál, így számunkra elsősorban a Unity-t használjuk. Például, ha a tervező azt szeretné, hogy a kocka egy bizonyos módon guruljon, én írom meg a szkriptet, hogy kezelje a logikát. Továbbá együttműködünk a játék művészeivel, hogy biztosítsuk, a játékaink nemcsak lenyűgözően néznek ki, hanem kiváló teljesítményt is nyújtanak az eszközökön.
Ebben a blogban öt év Kwalee-nál szerzett tapasztalatom alapján osztom meg alapvető betekintéseimet és tanácsaimat a játékprogramozói létről. Bemutatom néhányat az általunk használt nyelvekből, eszközökből és elvekből, valamint karriervonattal kapcsolatos tanácsaimat, valamint kezdő és haladó tippeket.
Mit Csinál Egy Játékprogramozó?
Mi írjuk a kódot és segítünk a játékot valóra váltani. Amíg a játéktervezők létrehozzák a koncepciókat, és a játék művészei megalkotják az eszközöket, a programozó létrehozza a funkcionális, játszható élményt. Mi optimalizáljuk a játék teljesítményét, és elhárítjuk az azonosított problémákat.
Biztosítjuk, hogy a játék nagyszerű érzést nyújtson, és magas teljesítménnyel fusson. Ehhez biztosítanunk kell, hogy maga a kód tiszta és bővíthető legyen, ami nehezebb, mint gondolnád. Kódolási szabványokat használunk, hogy konzisztens minőséget tartsunk fenn minden csapatunkban - egy dokumentum, amely tartalmazhat névadási szabványokat és formázásokat stb. Azonban néha a dolgok nem mindig olyan egyszerűek, és időnként kívülálló gondolkodásra van szükséged, hogy időben megoldj dolgokat.
A mi felelősségünk, hogy biztosítsuk a játék jól fusson a végfelhasználói hardveren is. Például, mobil játékainkban kerülni kell, hogy a régebbi eszközök túlzottan felmelegedjenek, ezért a művészekkel együtt dolgozva optimalizáljuk a draw call-ok számát. Egy draw call egy parancs, amelyet a központi feldolgozó egység (CPU) küld a grafikus feldolgozó egységnek (GPU), hogy rendereljen egy objektumot a képernyőn - ez megmondja a GPU-nak, hogy rajzoljon ki grafikus elemeket, mint textúrák, hálók vagy shader-ek. Minimalizálnunk kell a draw call-ok számát a játékunkban, mert túl sok ilyen okozhat problémákat, mint például a képkocka sebesség csökkenése vagy akadozás. Sok megoldás létezik erre, például több objektum egyetlen draw call-ba való összevonása vagy az egyedi textúrák és anyagok számának csökkentése mind segíthet ezen. Ez különösen fontos a mobil eszközökön, mivel olyan sok különféle eszköz van a piacon, mindegyik eltérő technikai specifikációkkal.
Mik A Fő Játékprogramozási Nyelvek?
Napi játéktevékenységünk során elsősorban különféle programozási nyelveken szkripteket írunk - végül is szoftverfejlesztők vagyunk egy másfajta típusban. Rengeteg nyelv van, amiből válogathatunk. Néhány egyszerűbbnek tűnik, mint mások, de ha egyszer megtanultál és elsajátítottál egyet, biztosan megtanulhatod a többit is - a fő kihívás az áttörés.
Íme, egy bevezetés a legnépszerűbb játékprogramozási nyelvekhez:
- C# - egy sokoldalú és népszerű programozási nyelv, amelyet széles körben használnak a játékkészítésben. Kezdőként az egyik legkönnyebb megtanulni. Az egyik legjobb tulajdonsága az automatikus szemétgyűjtés - így az kioszt memóriát neked - rendkívül hasznos a zűrben lévő programozók számára.
- C++ - ezzel szemben ez egy kezelhetetlen nyelv, így manuálisan kell kiosztani és felszabadítani a memóriát, ami nagyobb komplexitást és nehézséget jelent. Azonban nagyobb sebességet, irányítást és teljesítményt biztosít.
- Java - mint a C#, a Java is rendelkezik saját memóriakezeléssel és szemétgyűjtéssel, ami megkönnyíti a fejlesztők számára a memória kezelését anélkül, hogy túl sok részletbe mélyednének. Széles körben használják webfejlesztésben és vállalati alkalmazásokban, bár (vitathatóan) nem a legjobb választás a játékfejlesztéshez, továbbra is szilárd opció marad a méretezhető és hatékony alkalmazások létrehozásához.
- Swift - ez az Apple natív nyelve iOS és macOS alkalmazások és játékok fejlesztésére. Azonban ez azt jelenti, hogy kevésbé hasznos keresztplatform fejlesztéshez - mivel mindig célunk, hogy mobil játékainkat mind Androidra, mind iOS-re megjelentessük.
Hogyan Válhatsz Játékprogramozóvá?
Számos különböző módon válhatsz játékprogramozóvá. Az én utam eléggé hagyományos - a Staffordshire Egyetemen tanultam Játékelméletet és Programozást. Eredetileg arra gondoltam, hogy játék művészetet fogok készíteni - gyermekkoromban mindig nagyon szenvedélyes voltam a művészet iránt, és az egyetemen is nagyon élveztem a művészeti modulokat, de miközben ott voltam, rájöttem, hogy igazán élvezem a játékmenet létrehozását. Több napig tartott elkészíteni egyetlen magas poli modellt, de egy kacsát repülésre és robbanásra tudtam bírni fele annyi idő alatt. A prototípuskészítés lehetővé teszi, hogy gyorsan lássam az eredményt közvetlenül előttem.
Azonban a játékprogramozás szépsége az, hogy a legtöbb ember számára is elérhető, még ha nem is hagyományos úton jutottál el ide. Az egyetemen voltak barátaim, akik 50 éves korban is jelen voltak - soha nem késő megtapasztalni valami újat. A Kwalee-nál még olyan személyt is felvettünk, aki elsősorban YouTube videókból tanult, és pusztán szórakozásból készített egy játékot. Ma már rengeteg lehetőség van a friss és lelkes tehetségek számára. Nézve az újabb hallgatók portfóliójait, már annyi mindent tudnak. Fantasztikus tehetségek jönnek elő, és izgalmas időszak az iparágban.
Valószínűleg szeretnél feltenni egy kérdést - az AI befolyásolja-e a programozást mint karriert? Rendkívül hasznos lehet, és egyre jobbá válik. Tökéletes, ha valamit magyarázatban kérsz vagy elakadtál egy probléma megoldásával. Használhatod hibakeresésre, vagy a kód újrafaktorálására (tisztítására) azáltal, hogy bemásolod a legújabb ChatGPT-re. Azonban amikor a portfóliókat nézzük, azt szeretnénk látni, hogy mit tettél, és mire vagy büszke. Az AI használata rendben van, de próbáld ne pótolni a saját képességeidet vele.
Milyen Egy Játékprogramozó áTlagos Napja?
Hadd adjak egy példát az életem alapján. Én főprogramozó vagyok (számomra ez az álommunkám), így remek keveréke a gyakorlati és más programozók irányításának!
Egy átlagos napom az, hogy bemegyek, kérek egy lattét, majd kétszer ellenőrzöm az összes hibát vagy akadályt a QA csapat számára. Kapcsolatba lépek a csapattal, hogy lássam, szüksége van-e valakinek valamire, hogy feloldjam a munkájukat. Majd bekapcsolom a zenét, és felveszem a feladatlistát. Megosztjuk a haladási videókat a slack-en, hogy gyors visszajelzést kapjunk, miközben 2-3 projekt között ugrálunk, hogy támogassuk a csapat tagjait. Sok időt töltünk közös rendszerek fejlesztésével is, hogy hatékonyabbá tegyük a programozásunkat - ezt minden esetben karban kell tartani, frissíteni és rendszeresen javítani, hogy zavartalanul menjen minden.
Kezdő Játékprogramozási Tippek
Ha most kezded és vágyakozol, hogy teljes értékű programozóvá válj, íme, az én kezdő tippek!
- Rengeteget lehet tanulni online, a YouTube-on, és annyi példa játék van, hogy nincs mentséged a tanulásra! A népszerű motorok ingyenesek és nagyon élvezetes használni őket!
- A spektrum teljes másik végén még 30 éves, de érdemes elolvasni a








