Razón Artificial

La ciencia y el arte de crear videojuegos

[RAGE] Definiendo repositorio y estructura

Escrito por adrigm el 17 de enero de 2013 en Proyectos, RAGE | 0 Comentarios.

Una vez presentado el proyecto es hora de ponerse manos a la obra, lo primero ha sido coger papel y boli y planificar el Engine, los requisitos necesarios así como los componentes que necesitará, en otro post hablaremos de todo esto.

Una vez hecho esto se necesitaba definir un repositorio, una licencia y una estructura.

Licencia

El proyecto será software libre, licenciado bajo la licencia del MIT. La razón es que es un licencia muy poco restrictiva tanto para el que quiera usarlo para software privativo como para el que desee hacer software libre, además de ser una licencia pequeña, clara y concisa.

Repositorio

He decidido usar como control de versiones a GIT y como repositorio público a GitHub.

Estructura

Una de las cosas que es importante definir al comenzar un proyecto es su estructura. Lo primero que hay que tener en cuenta es de que tipo de proyecto se trata. RAGE es un Game Engine, es decir un medio para construir videojuegos con él, los videojuegos son programas por tanto la estructura que le conviene a RAGE es de biblioteca.

Esta es la estructura de directorios que he decidido usar.

|- RAGE/
    |
    |- bin/
        |- ejecutable
        |- Data/
            |- ... 
    |- builds/
        |- codelite/
        |- vc2010/
        |- ...
    |- extlibs/
        |- headers/
        |- bin/
    |- include/
        |- RAGE/
    |- lib/
        |- Rage.lib / Rage.a
    |- src/
        |- RAGE/
        |- Test/
    |- .gitattributes
    |- .gitignore
    |- license.txt
    |- README.md

Como vemos en el directorio bin van los binarios generados, en nuestro proyecto irá el ejecutable del proyecto Test que es un protecto de prueba que usa el Engine.

En el directorio builds van soluciones para diferentes IDE como Visual Studio y Codelite que son los IDE que usaré en principio. Más adelante espero que sean sustituidos por Cmake.

En include meteremos todos los archivos de cabecera de nuestra biblioteca.

En extlibs meteremos los headers y binarios de otras bibliotecas externas que use el proyecto como SFML, Boost, etc.

En lib irá las bibliotecas generadas ya sea .lib, .a, .dll ó .so.

En el directorio src tenemos dos carpetas RAGE y Test. Dentro de RAGE irá todo el código fuente del proyecto y en Test irá el código fuente de la aplicación de prueba. Todo ello en una estructura de directorios coherente.

Esta será la estructura básica de directorios del Engine, siempre sujeta a cambios.

Deja un comentario