i AAA-spelutveckling kommer ingenjörerna huvudsakligen att använda C++
men speldesignerna kommer huvudsakligen att använda pennor, whiteboards och en hel del ”svära” ( ett specialbyggt språk för att underlätta lagförståelse)
några av speldesignteamet kan använda ett datorspråk för att ange vad som händer när. I spel som GTA5-kallas denna typ av kodning ibland skript. Det är inte hardcore programmering. Det skriver skript för händelser. Den här rutan utlöser denna händelse. Den här saken händer om han dör, eller om hon faller genom taket.
Scripting görs ibland på ett redan existerande språk. Ibland är det ett internt system.
- Lua används ofta för skript.
om du inte gör AAA – spel-och överväger mobilutveckling ser du till.
- C++ (för Android och iOS)
- Java (för Android)
- C #(för Unity-appar på många plattformar)
- Objective-C eller Swift (för iOS)
och titta på att lära sig de olika API: erna som kan påskynda spelutvecklingen
- OpenGL ES (graphics API för alla plattformar)
- Unity (en spelmotorlösning för 3D-och 2D-spel)
- Cocoa (för alla iOS-appar)
- Cocos2D (ett 2D API)
så vad du lär dig beror på vart du vill åka.
de flesta mycket senior spelingenjörer jag har träffat vet datorsystem i en soppa-till-nötter sätt. De är arkitekter som vet hur varje spik och tegel det sätta ihop. (Och där naglarna är gjorda)
de är lika bekväma i lågnivåmonterare. Gamla skolan C och objektorienterade språk, och kan skriva shader kod alla med lika lätthet.
de mer seniora ingenjörerna har till uppgift att pressa mirakulösa prestanda ur till synes långsam eller begränsad hårdvara. De kan göra detta eftersom de intuitivt vet vad som kommer att fungera, vad som kommer att vara långsam, och vad som kommer att raka tio bilder per sekund från en render loop.
den optimeringsförmågan kommer från att verkligen förstå hur processorer ad GPU-processorer implementeras i hårdvara. Där flaskhalsarna och bandbreddsproblemen är. Den sortens förståelse har lite att göra med språk.
om du vill lära dig detta hantverk ….
Skriv något trivialt i assembler för att se hur det blir opkoder. Och shunts saker från huvudminnet till CPU-register.
Skriv något i C-och se hur det språket översätts till assembler. Se hur vissa data hålls på stacken, några på högen, några i register.
Skriv något i C++ och se hur det blir förvandlat till kod.
Skriv något i Direct X eller Open GL som kräver vertex och fragment shaders.
med andra ord, återuppleva de senaste 30 åren av datorutveckling. Och du kanske har en aning om hur allt fungerar.
om du kan förstå hur allt detta passar ihop, kan du utveckla spider senses som behövs för att vara en bra spelingenjör.
men om du hatar allt det här. Och bara vill sprites att flytta runt på skärmen, och få folk att le, så ska du nog ignorera mitt råd. Och använd vilket API du kan för att göra livet enkelt – och pixlar dansar efter din melodi.