Muchos de los que me siguen en twitter ya lo habrán visto, pero para todo los demás comunicar que estoy desarrollando un Framework básico para juegos 2D en C++ basado en SFML y otras bibliotecas libres multiplataforma. La idea no es nueva es la continuación del Basic Game Engine que estaba desarrollando, pero ahora con un enfoque algo más amplio y con esperanza que sea un proyecto de comunidad. Paso a comentar el poryecto. [...]
Por fin llegamos a la clase App, con esta clase empieza a cobrar algo de sentido todo lo anterior porque une lo visto hasta ahora, crea la ventana de la aplicación, etc. La clase App sigue, como el SceneManager, el patrón de diseño Singleton pues no tiene sentido tener más de un objeto App, cualquier intento de crear un nuevo objeto App devolverá la instancia única. Empezamos con las variables públicas. Como vemos lo [...]
Antes de ver la clase App vamos a ver el SceneManager, ya que hemos visto en primer lugar la clase Scene ahora vamos a ver la clase que va a manejar los objetos Scene y decidir cual esta activo y cual no. Sobre SceneManager he visto muchas formas de implementarlo, la más común es utilizar una pila donde haciendo push y pop se puede cambiar de escena fácilmente, la desventaja de una pila es [...]
En teoría lo lógico sería empezar hablando de la clase App, pues sera esta la principal del engine, pero necesitamos primero ver como va a ser un escena para luego poder hacer un buen app que las controle. ¿Que es una escena? Puede parecer obvio, pero por si acaso vamos a aclararlo. Una escena es cualquier pantalla de un juego que necesite mostrarse en pantalla, actualizar datos y/o interactuar con el usuario. Por ejemplo, [...]
Antes de entrar en materia con las clases del sistema base surgen algunas cosas que hacer y decir, recordemos nuestra distribución del directorio src. |- src/ |- BGE/ |- BGE.h |- types.h |- app.h |- app.cpp |- scene.h |- scene.cpp |- … |- main.cpp |- scene_start.h |- scene_start.cpp |- … Es decir, metemos los ficheros del engine propiamente dichos dentro de la carpeta src/BGE y los archivos de prueba que usamos para ir probando [...]
Bueno es hora de entrar en materia ya y empezar a ver la estructura del Engine. Mi idea es basarme en la estructura que usan otros engines y apis pues no es cuestión de reinventar la rueda, sino de uno entender como se hace. Estructura básica de un juego Se sale de este artículo explicar el desarrollo del bucle de un juego, pero no está mal recordarlo con un simple esquema: Es un esquema [...]
Vamos a comenzar esta especie de diario acerca de la creación de un Game Engine, los post del blog que traten sobre el Engine incluirán la etiqueta [BGE] (Basic Game Engine) para que sean fácilmente reconocibles. Creando un repositorio Lo primero que necesitaba era crear un repositorio para el proyecto donde tener un control de versiones y avances, me he decidido por GitHub pues ya he trabajado con Git antes y GitHub es un [...]
Hace tiempo vengo planeando hacer un Game Engine básico para juegos 2D, Se que existen muchos en la red y que uno más no va a aportar nada. La idea de hacer uno propio es aprender y ver como se hacen las cosas, de paso iré publicando los avances por si puedo ayudar a alguien. Yo no tengo experiencia en este tema y probablemente haga burradas y no haga las cosas de la manera [...]
Coninúa el desarrollo del Engine RPG. Se ha reescrito toda la parte del dibujado de mapa para hacerlo más eficiente, además ya he añadido la capacidad de scroll en el mapa. Dejo un vídeo:
Aquí les dejo un video de como van los avances del nuevo engine, actualmente estoy trabajando en el desarrollo de prioridades de las capas, como puedes ver en el video si nuestro heroe pasa detrás de un árbol o algo que lo cubra, este se dibuja detrás. Pronto estará lista la wiki con toda la información de esta nueva etapa del proyecto.