az AAA játékfejlesztésben a mérnökök elsősorban C++
– ot fognak használni, de a játéktervezők főleg ceruzákat, táblákat és egy kis “káromkodást” ( egy speciális, a csapat megértését megkönnyítő nyelv) használnak
a játéktervező csapat egy része számítógépes nyelvet használhat annak meghatározására, hogy mi történik, amikor. Az olyan játékokban, mint a GTA5 – ezt a típusú kódolást néha szkriptnek nevezik. Ez nem kemény programozás. Forgatókönyveket ír az eseményekhez. Ez a mező indítja el ezt az eseményt. Ez történik, ha meghal, vagy ha a nő átesik a tetőn.
a szkriptek néha már létező nyelven készülnek. Néha ez egy házon belüli rendszer.
- a Lua-t általában szkriptek készítéséhez használják.
ha nem csinálsz AAA játékokat – és fontolgatod a mobil fejlesztést.
- C++ (Android és iOS esetén)
- Java (Android esetén)
- C# (Unity alkalmazások esetén számos platformon)
- Objective-C vagy Swift (iOS esetén)
és nézd meg a különböző API-k tanulását, amelyek felgyorsíthatják a játékfejlesztést
- OpenGL ES (grafikus API minden platformhoz)
- Unity (játékmotoros megoldás 3D és 2D játékokhoz)
- Cocoa (minden iOS alkalmazáshoz)
- Cocos2D (2D API))
tehát az, hogy mit tanulsz, attól függ, hová akarsz menni.
a legtöbb nagyon magas rangú játékmérnök, akivel találkoztam, ismeri a számítógépes rendszereket leves-dió módon. Ők építészek, akik tudják, hogy minden szög és tégla összeáll. (És ahol a körmök készülnek)
ugyanolyan kényelmesek az alacsony szintű összeszerelőben. A régi iskola C és objektum-orientált nyelvek, és ugyanolyan könnyedén írhatják a shader kódot.
az idősebb mérnökök feladata, hogy a látszólag lassú vagy korlátozott hardverekből csodálatos teljesítményt préseljenek ki. Ezt azért tudják megtenni, mert intuitív módon tudják, mi fog működni, mi lesz lassú, és mi fog másodpercenként tíz képkockát borotválni egy render hurokból.
ez az optimalizálási készség abból származik, hogy valóban megértsük, hogyan valósítják meg a CPU-k az ad GPU-k processzorait a hardverben. Ahol a szűk keresztmetszetek és a sávszélesség problémái vannak. Ennek a fajta megértésnek kevés köze van a nyelvekhez.
ha meg akarod tanulni ezt a mesterséget ….
írjon valami triviálisat az assemblerbe, hogy lássa, hogyan válik ez opkódokká. És a fő memóriából a CPU regiszterekbe sönti a dolgokat.
írj valamit C – ben, és nézd meg, hogyan fordítják le ezt a nyelvet assemblerre. Nézze meg, hogyan tárolnak egyes adatokat a veremben, mások a kupacban, mások a regiszterekben.
írj valamit C++ – ban, és nézd meg, hogyan lesz belőle kód.
írj valamit Direct X-be vagy Open GL-be, amihez vertex és fragment shader szükséges.
más szavakkal, élje újra a számítógépfejlesztés utolsó 30 évét. És lehet, hogy van egy nyom, hogyan működik ez az egész.
ha meg tudja érteni, hogy ezek a dolgok hogyan illeszkednek egymáshoz, akkor kifejlesztheti a pókérzékeket, amelyek szükségesek ahhoz, hogy nagyszerű játékmérnök legyen.
de ha utálod ezeket a dolgokat. És csak azt akarom, hogy a spritek mozogjanak a képernyőn, és mosolyogjanak az emberek, akkor valószínűleg figyelmen kívül kellene hagynia a tanácsomat. És használj bármilyen API-t, hogy megkönnyítsd az életet – és a pixelek a dallamod szerint táncolnak.