bij de ontwikkeling van AAA-spellen zullen de engineers voornamelijk C++
gebruiken, maar de spelontwerpers zullen vooral potloden, whiteboards en nogal wat “vloeken” ( een speciaal gebouwde taal om teambegrip te vergemakkelijken)
een deel van het spelontwerpteam zou een computertaal kunnen gebruiken om aan te geven wat er wanneer gebeurt. In games als GTA5-dit type codering wordt soms scripting genoemd. Het is geen hardcore programmering. Het schrijft scripts voor evenementen. Dit kader activeert deze gebeurtenis. Dit gebeurt als hij sterft, of als ze door het dak valt.
Scripting gebeurt soms in een reeds bestaande taal. Soms is het een in-house systeem.
- Lua wordt vaak gebruikt voor scripting.
Als u niet doet AAA games-en overweegt mobiele ontwikkeling kijken naar.
- C++ (voor Android en iOS)
- Java (voor Android)
- C# (voor de Eenheid van apps op verschillende platforms)
- Objective-C of Swift (voor iOS)
En kijk aan het leren van de verschillende Api ‘ s die kunnen versnellen de ontwikkeling van games
- OpenGL ES (graphics API voor alle platformen)
- Eenheid (een game-engine oplossing voor 3D-en 2D-Games)
- Cacao (voor alle iOS-apps)
- Cocos2D (een 2D-API)
Dus wat je leert, hangt af van waar je heen wilt.
de meeste senior game engineers die ik heb ontmoet kennen computersystemen op een soup-to-nuts manier. Het zijn architecten die weten hoe elke spijker en baksteen het in elkaar heeft gezet. (En waar de spijkers zijn gemaakt)
ze zijn even comfortabel in low-level assembler. Old school C en Object-georiënteerde talen, en kan shader code schrijven allemaal met hetzelfde gemak.
de hogere ingenieurs zijn belast met het persen van wonderbaarlijke prestaties uit schijnbaar langzame of beperkte hardware. Ze kunnen dit doen omdat ze intuïtief weten wat zal werken, wat zal langzaam zijn, en wat zal scheren tien frames per seconde van een render lus.
die optimalisatie vaardigheid komt van het echt begrijpen hoe CPU ’s ad GPU’ s processoren worden geïmplementeerd in hardware. Waar de knelpunten en bandbreedteproblemen zijn. Dat soort begrip heeft weinig te maken met talen.
Als u dit vak wilt leren …
schrijf iets triviaals in assembler om te zien hoe dat opcodes wordt. En shunt dingen uit het hoofdgeheugen naar CPU registers.
schrijf iets in C – en kijk hoe die taal wordt vertaald in assembler. Zie hoe sommige gegevens op de stack worden bewaard, sommige op de heap, sommige in registers.
schrijf iets in C++ en zie hoe dat in code wordt omgezet.
schrijf iets in directe X of Open GL dat vertex en fragment shaders vereist.
met andere woorden, de laatste 30 jaar van computerontwikkeling opnieuw beleven. En je hebt misschien een idee hoe het allemaal werkt.
als je kunt begrijpen hoe dit allemaal in elkaar past, kun je de spider-zintuigen ontwikkelen die nodig zijn om een geweldige game-engineer te zijn.
maar als je dit allemaal haat. En als je wilt dat sprites op het scherm bewegen, en mensen laten lachen, dan moet je waarschijnlijk mijn advies negeren. En gebruik elke API die je kunt gebruiken om het leven gemakkelijk te maken – en pixels dansen naar je pijpen.