martes, 29 de mayo de 2007

Librerias y licencias

Quiero diseñar el juego de tal forma que el intérprete de escenas y los descriptores de escenas se compilen independientemente. Así, la máquina principal del juego, que controlará el refresco de pantalla, el ratón, las transiciones y demás, serán el ejecutable principal en C++. Cuando se “instancie” un objeto que contenga toda la información de una escena, el constructor llamará a funciones C que devolverán los valores adecuados para esa escena. Estas funciones estarán en una DLL a parte. Así tendré separados el juego del “engine”.
El uso de DLL es más lento (sólo un poquito más lento, vamos, inapreciable) que si integrase todo en un mismo ejecutable, pero así puedo lanzar el contenido artístico con una licencia restrictiva y el código del juego con otra más abierta.
Ya he hecho mis primeras pruebas y es relativamente sencillo. Incluir código C en C++ se hace con la instrucción:

extern “C” {
#include “cabeceraC.h”
}

Así, podremos llamar a las funciones en C desde C++.

1 comentario:

ikky dijo...

Hola idaho, gran idea lo del blog, he creado un banner para que sustituya al encabezado del mismo, añadelo si puedes, lo he colgado en http://ikky.akinosoft.org en principio deberia tener el mismo ancho que el recuadrito que hay sobre tu web. Si algo no encaja dimelo, lo tengo por capas y puedo retocarlo