Ayer volví a mirar la página de los indies humildes (http://www.wolfire.com/humble : pack de juegos que recomiendo bastante por la buena obra) y resulta que los de Wolfire (Overgrowth) http://blog.wolfire.com/ , si los de los conejos, han liberado el código fuente de Lugaru!!! la precuela de Overgrowth. Me lo he estado mirando y deu ni do, es mitad C mitad C++, y tiene cosas tan curiosas como una clase llamada Objects, con una constante MAX_OBJECTS 300, pues bien, esta clase guarda un array de cada una de las propiedades que tiene todo objeto del juego, osea, que si yo lo primero que pongo en el juego es un “arbol”, en el array position[0] guardo las coordenadas del arbol, type[0] = ARBOL (ARBOL=1), rotation[0] = — etc al siguiente objeto pues todas las propiedades en la posicion [1] y asi se guarda la info de todo. Utiliza esta clase tanto para pintar, como para comprobar colisiones, etc… con las llamadas a opengl directamente en ella. Está bastante desordenado todo pero no deja de ser interesante ver métodos de programar un juego directamente con opengl.
Otros detalles como que en las clases hay parte del FMOD implementado, pero acabaron usando OpenAL., la cantidad brutal y dantesca de variables globales que utilizan en un monton de archivos diferentes. Bueno lo dicho , muy interesante para aprender, intentar ordenarlo etc, no deja de haber código util, aunque sea dificil de encontrar jeje, como la función para alojar memoria alineada, que esta en Models.cpp, sin perteneder a la clase Models ni nada.. lo dicho, desordenadisimo.
Noticia: http://blog.wolfire.com/2010/05/Lugaru-goes-open-source
