lunes, 2 de enero de 2012

Programando un Game Engine

Desde hace tiempo he mantenido la ilusión de crear algún dia un game engine genérico para cualquier juego que tuviera intenciones de comenzar a desarrollar. A lo largo de estos meses he ido desarrollando pequeñas partes del posible motor, como por ejemplo el sistema de partículas que mostré.

Gracias a la librería SFML el proceso del desarrollo de mi motor está siendo satisfactorio, pero todavía queda muchísimo por hacer. Mi intención es prepararlo para a continuación crear un buen proyecto cuyo guión fue terminado hace casi 1 año.

El motor se dividirá en distintos modulos que estarán preparados para manejar el estado del juego, controlar la fisica de los objetos, controlar el renderizado en 2D y proporcionar clases y funciones para la detección de colisiones entre poligonos, manejar sprites con animaciones etc. Por supuesto, incluirá un editor de mapas casi completado que mostraré más adelante.

Estas son algunas de las clases principales que contiene el motor actualmente, sin considerar que existen clases más pequeñas sobretodo relacionados con el módulo de fisica.

Game
    Window
        Camera2D
    Event
    GameStateManager
        GameState
Timer
Error
ResourceManager
    TextureManager
    FontManager
    SoundManager
    MusicManager
CollisionManager
    CollisionShape
    Polygon
Sprite
    AnimatedSprite
Map
    Tile
    CollisionShape

Dado que esta información no aporta mucho conocimiento acerca de este motor, en otra ocasión mostraré su funcionamiento con diversos ejemplos y partiré por enseñar el editor de mapas.

Saludos.

7 comentarios:

  1. Hola Julen26, la vdd me ha gustado mucho todo tu proyecto de DBZBX y todo en cuanto al juego respecta me ha encantado. Pero me gustaria pedirte un favor, talvez es mucho pedir, pero no pierdo nada con intentarlo, hay alguna forma de poder agregar personajes a la ultima version de DBZBX que hiciste ??? porque lo he intentado a mas no poder y no he podido, solo he podido sobreescribiendo algun personaje pero eventualmente su nombre no cambia, y la vdd esq ue tengo bastantes sprites hechos que me gustaria agregar. Espero un respuesta, y gracias por al menos leer esto.

    ResponderEliminar
  2. No, no es posible. Pero ya me lo pidieron hace poco y está en mi lista de tareas, cuando tenga tiempo intentaré sacar una version para editar.

    ResponderEliminar
  3. Vaya, gracias Julen26 por contestar, aunque no sea posible hacerlo al menos veo que te haz tomado la molestia de contestar y espero con ansias que saques una version modificable. Muchas gracias por tomarte un pequeño tiempo para responder. Y sigo con detalle tus publicaciones.

    ResponderEliminar
  4. Hello julen26 i have some questions:
    1- How can i change the main/options picture ?
    2- how can i change character's name ?

    i like your game and i want to edit it a bit :D

    espanol (google translator):

    Hola julen26 Tengo algunas preguntas:
    1 - ¿Cómo puedo cambiar la imagen principal/opciones?
    2 - ¿Cómo puedo cambiar el nombre del personaje?

    me gusta su juego y quiero editar un poco: D

    ResponderEliminar
  5. Actually it's not posible to change pictures or character's name. Some people have requested an editable version of the game, and I promise I'll release one.

    Thanks for the comment.

    Cheers.

    ResponderEliminar
  6. Acabo de ver los juegos que has hecho y están realmente bien.
    En mi blog estoy montando un game engine 2D C/C++, por si te interesa echarle un ojo. No tiene el nivel del tuyo, pero poco a poco.
    El link lo tienes aquí: http://lordpakus.blogspot.com.es/p/pakengine.html

    ResponderEliminar
  7. Por supuesto que le hecho un vistazo. La verdad tiene buena pinta y se nota que te lo estas trabajando. Lo seguiré mas de cerca, además tienes artículos interesantes ;)

    ResponderEliminar