In AAA sviluppo del gioco, gli ingegneri saranno principalmente l’utilizzo di C++
Ma i progettisti del gioco sarà principalmente utilizzando matite, lavagne, e un po ‘ di “giuramento” ( una speciale linguistico per facilitare la squadra di comprensione)
un Po ‘ di gioco team di progettazione potrebbe utilizzare un linguaggio per specificare cosa succede quando. In giochi come GTA5 – questo tipo di codifica è talvolta chiamato scripting. Non è programmazione hardcore. Sta scrivendo script per eventi. Questa casella attiva questo evento. Questa cosa succede se lui muore, o se lei cade dal tetto.
Lo scripting viene talvolta eseguito in un linguaggio preesistente. A volte è un sistema interno.
- Lua è comunemente usato per lo scripting.
Se non si sta facendo giochi AAA – e stanno prendendo in considerazione lo sviluppo mobile guardare.
- C++ (per Android e iOS)
- Java (per Android)
- C# (per Unità di app su molte piattaforme)
- Objective-C e Swift (per iOS)
E guarda l’apprendimento delle varie Api che possono accelerare lo sviluppo di un gioco
- OpenGL ES (API grafiche per tutte le piattaforme)
- Unità (un motore di gioco soluzione Giochi 3D e 2D)
- Cacao (per iOS apps)
- Cocos2D (2D API)
Così che cosa si impara dipende da dove vuoi andare.
La maggior parte degli ingegneri di gioco di alto livello che ho incontrato conoscono i sistemi informatici in un modo da zuppa a noci. Sono architetti che sanno come ogni chiodo e mattone messo insieme. (E dove sono fatti i chiodi)
Sono ugualmente comodi nell’assemblatore di basso livello. Vecchia scuola C e linguaggi orientati agli oggetti, e può scrivere codice shader tutto con uguale facilità.
Gli ingegneri più anziani hanno il compito di spremere prestazioni miracolose da hardware apparentemente lento o limitato. Possono farlo perché sanno intuitivamente cosa funzionerà, cosa sarà lento e cosa raderà dieci fotogrammi al secondo da un ciclo di rendering.
Questa abilità di ottimizzazione deriva dalla comprensione reale di come i processori CPU e GPU sono implementati nell’hardware. Dove sono i colli di bottiglia e problemi di larghezza di banda. Questo tipo di comprensione ha poco a che fare con le lingue.
Se vuoi imparare questo mestiere ….
Scrivi qualcosa di banale in assembler per vedere come diventa opcode. E shunt roba dalla memoria principale nei registri della CPU.
Scrivi qualcosa in C – e vedi come quella lingua viene tradotta in assembler. Guarda come alcuni dati sono conservati nello stack, alcuni nell’heap, alcuni nei registri.
Scrivi qualcosa in C++ e vedi come viene trasformato in codice.
Scrivi qualcosa in Direct X o Open GL che richiede vertex e fragment shader.
In altre parole, rivivi gli ultimi 30 anni di sviluppo del computer. E si potrebbe avere la minima idea di come funziona tutto.
Se riesci a capire come tutte queste cose si incastrano, potresti sviluppare i sensi del ragno necessari per essere un grande ingegnere di gioco.
Ma se odi tutta questa roba. E voglio solo sprite di muoversi sullo schermo, e far sorridere la gente, allora probabilmente si dovrebbe ignorare il mio consiglio. E utilizzare qualsiasi API è possibile per rendere la vita facile-e pixel ballare per la vostra melodia.