Me gusta muchísimo este tema y, a parte de añadirlo a favoritos, me gustaría participar modestamente
Yo quería comentar sobre otro engine gráfico... en este caso es simplmente un motor gráfico que tal y como está escrito permite añadirle más recursos según sea necesario como físicas o networking.
Se llama OGRE3D y es libre mediante una licencia MIT.
Para quien no lo conozca, decir que fué el engine usado, y modificado todo hay que decirlo, para la creación del juego Torchlight:
Respecto a mí, soy estudiante de Ingeniería informática (de la antigua no la de plan Bolonia) y actualmente estoy haciendo un curso de experto en desarrolo de videojuegos.
Utilizamos como herramienta de modelado en 3D Blender, que ya se ha hablado de ella por aquí como engine pero que en realidad sólo es una ínfima parte, y que no tiene nada que desmerecer a otras herramientas comerciales.
El engine, o motor de juego cómo ya he dicho, es OGRE 3D.
Es un engine a pelo, es decir, para quien le guste programar de verdad... No es una suite como UDK o Unity que abres el programa y lo tienes todo más o menos gráfico.
Aquí estamos hablando de un conjunto de librerias y clases que nos implementa toda la parte tediosa, aunque si de verdad quieres aprender de esto necesaria, de comunicación con la gráfica mediante OpenGL o DirectX. Es decir, no hay absolutamente nada gráfico.
Esto significa que "sólo" incluye el sistema de rendering, pipeline y etcétera, nada de audio, ni físicas, ni modelado, ni networking, ni IA... para todo esto se debe de usar otras herramientas o librerías (OpenAL o SDL_Audio para audio, GStreamer para video, scripting en Python para la IA, o Blender para el modelado).
Se basa en C++ y por tanto este es el lenguaje de programación a usar, aunque creo que hay ports a Python y algún lenguaje más.
Además se puede usar en Linux y Windows, generando ejecutables validos para los dos, y en iPhone y Android (de iPhone aún no hemos visto mucho como funciona).
Lo único malo es que su documentación, sobre todo a nivel avanzado, deja mucho que desear, porque, aunque tiene unos foros bastante concurridos y una documentación absoluta de todas las clases y tutoriales, hay mucha información ya desfasada o incompleta, y al final, más que aprender te peleas con ella.
Por eso os dejo una página en español con tutoriales que es de lo mejor que hay para empezar: IberOgre
Decir que el chaval que creo esa página, está ahora trabajando en Crytrek
Por si quereis saber algo más, pero en la página de OGRE no lo encontrais muy bien, dejo el enlace a Wikipedia
Y poco más, decir que ahora mismo no podemos liberar los apuntes, porque cuando se acabe el curso se liberará mediante licencia GNU, así que si alguno está interesado que me avise y para Junio o así les paso el enlace. Decir que merece la pena, estamos hablando de un volumen de 800 páginas, y contamos con gente metida en el mundo como Guillermo Simmross Wattenberg, que si googleais por ahí vereis que es un gran compositor de la demoscene y ha trabajado, entre otros, para Pyro Studio.
Respecto a los libros que comentais, puedo recomendar unos cuantos según
temática:
-Motor de juego y arquitectura del motor de juego:
Game Engine Architecture, de Jason Gregory, y que recomiendo 100%
-Programación en C++ orientada a videojuegos y C++ en general
C++ for game programmers, de Mike Dickheiser
The C++ Programming Language, de Bjarne Stroustrup
-Programación gráfica
Real-Time Rendering de Tomas Akenine-Moller, recomendado también al 100%
OpenGL Programming Guide
-Shaders
Cg Nvidia También recomendado al 100%
-IA
Programming Game AI by Example de Mat Buckland
Y ya está, espero no haberme pasado y que os sirva de algo, si necesitais algo, escribid y respondo sin ningún problema...