Quali linguaggi di programmazione dovrei imparare per lo sviluppo di videogiochi? – Quora

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.

Lascia un commento

Il tuo indirizzo email non sarà pubblicato.