CADA consola cuenta con sus PROPIAS librerías o API gráfica. Sin embargo, es muy probable que en todas se programe en C/C++ (y claro, el respectivo ensamblador para sus (co)procesadores).
Sin embargo, Microsoft al parecer inició un cambio en este respecto con XBox, puesto que TODOS los juegos están escritos con DirectX, nunca he visto un código para esta consola, pero según comentarios de desarrolladores es más sencillo inicializar DirectX para XBox que para PC porque no tienes que andar declarando tu ventana principal (vamos, nada de WinMain
). Al parecer Sony incorporará soporte para OpenGL en su próxima consola (PS3), aunque no estoy muy seguro puesto que no he visto anuncios oficiales.
Por estas razones, cuando se está pensando en crear un juego que se portará a varios sistemas, se trata de aprovechar al máximo la encapsulación de código dependiente del sistema de manera que al reprogramar un juego en otro sistema sólo se tenga que modificar esas partes del código que antes se previeron. Por otra parte, estoy seguro de que en las grandes compañías desarrolladoras lo que primero hacen es crear un engine/motor que les funcione en TODAS las plataformas en las que distribuirán sus juegos, entonces ya proceden a crear el juego, con esto el código será SIMILAR en todas las versiones, puesto que el engine se encargará de las características particulares de cada plataforma.
Saludos,
José Jorge (Geo).