Il requisito primario per i giochi è essere veloce, quindi nella maggior parte dei casi il linguaggio utilizzato è quello che offre le migliori prestazioni senza essere troppo complicato da gestire. Ovvero, C/C++, che è di fatto il linguaggio "pietra miliare" dell'informatica (la stragrande maggioranza delle applicazioni è scritta in C o C++).
Questi linguaggi vengono utilizzati perché:
* Sono sufficientemente "vicini" all'hardware della macchina e quindi consentono un controllo molto preciso di quello che succede.
* La "vicinanza" consente anche ai linguaggi di poter fare rispondere la macchina molto rapidamente e consente una ottimizzazione notevole.
* Questi linguaggi consentono anche l'inserimento di parti di codice in Assemlby, che è praticamente la traduzione 1:1 (quasi) del linguaggio macchina. In questo modo si programma con una ottimizzazione mostruosa tutto quello che succede.
Questi linguaggi richiedono però di librerie per svolgere alcune operazioni. Nel caso del 3D due sono le principali librerie grafiche, OpenGL e DirectX. Queste librerie sono fondamentali per il controllo di operazioni complesse sulla scheda grafica.
~
A parte questo, tecnicamente un gioco può essere realizzato in qualunuque linguaggio di programmazione, da Java a Python a ActionScript (Flash).
Per farti un esempio, i giochi per cellulari sono solitamente sviluppati in Java, salvo alcune eccezioni che usano altri strumenti come una libreria in C (ancora torna, come vedi).