jueves, 17 de enero de 2013

Actualizando mi BomberMan


Actualización de DestructionBombs a 0.9

Continuando mi remake de BOMBERMAN, me puse manos a la obra en vacaciones” y me propuse pasarlo a C++ para usar sus características en pro del proyecto, como sabrán debí hacerlo desde el principio pero me pareció que hacerla en C ayudaría aparte de a mí, a otras personas que quieran explorar como desarrollar un juego en C.  No espero que les sea de utilidad el código al 100 %, pero si espero que algunas partes les ayude. La clase Botón que creé que parece que es bastante útil sería bueno que le echen una miradita. Sin embargo, el tiempo que duré en esta actualización fue poco más de dos meses, y tuve que apurar la versión que compile, decente  y apta para publicar ya que se me acababan las vacaciones.

Me gusta que sumando todas las descargas de las distintas versiones alojadas en MEDIAFIRE y CODEGOOGLE sumen más de 300´s descargas. Prometo que para la próxima versión creo un instalador para que no solo sea descargado por programadores sino por personas que les guste el juego. Y lo más seguro es que sea la última versión así que tardaré un poco mucho en publicar, pero de adelantado no será dentro de 3 meses porque estoy en clase.


Ahora sí diré los datos de la actualización:

Features(0.9):
·      Animación de desvanecimiento entre ventanas
·         Mejora de la configuración en el modo batalla(ver imagen 1)
·         Agregar sombra a los bloques
·         Agregar un efecto cuando se queda ganador de ronda(ver imagen 2)
·         Fondo para el menú principal
·         Se muestra el botón jugar en la ventana de configuración modo batalla solo cuando hay al menos dos players
·         Animación de entrada por abajo del mapa del nivel
·         Creada base para manejar mapas grandes y moverse por SCROLLING entre él (será implementado solo para el modo conexión).
·         Ahora se pueden borrar los mapas creados para el modo MULTIPLAYER
·         Ahora se puede configurar el tiempo para cada ronda
·         El tiempo por cada ronda se muestra por el tiempo restante para que acabe
·         Se coloca fondo y posiciones en la barra específicamente para cada tipo de tile
·         Nuevos tipos de fuentes,  más completo de caracteres
·         Nuevos ítems (atravesar bombas, patines dulces, corazón,…)
·         Agregada animación cuando se queman los ítems
·         Agregada animación para cada tipo de tile(si recuerdan todos se quemaban igual :s )
·         Tal vez otra que me falte…

Features código (0.9):

·         Portado a C++(90%)
·         Creada clase Boton para mejorar la administración de los botones, aunque todavía uso en algunas partes el sistema antiguo es por el proceso de cambio, en la próxima versión no estarán ;)
·         Eliminación de las absurdas clases objetos y personajes que administraban los sprites
·         Usando un poco el código del motor de videojuegos, me robé las clases CGroup y CSprite que representan un grupo de Sprites y un Sprite respectivamente, Lo que mejoró el manejo de los players y todas las animaciones ya que todo lo derivé de la clase Sprite y usando la clase Group como contenedor los dibujaba y actualizaba y cuando había que borrar uno en particular ponía su variable “self_kill” a True lo que a través del método “killSprite” lo desliga del juego y la clase Group lo elimina de la memoria.
·         Todas las escenas del juego son derivaciones de “Interfaz” por lo que de nuevo el polimorfismo alivia el código. Actualizando y dibujando un puntero * Interfaz
·         Al crear cada modo de juego por separado se pueden soportar otros modos más fáciles como el modo grupal y el de conexión.
·         Otras cosas que me faltan

Bug fix (0.9.0):
·         No recuerdo unos en específico pero ahora es más estable, aunque aún se cierra después de rato jugando…(*No tengo ni la más mínima idea de porque sucede *)
·         Arreglo del bug que hacía que el player negro se quede protegido forever.

Bugs conocidos (0.9.0):
·         Se cierra cuando llevas tiempo jugando
·         En el modo historia solo arreglé el nivel 1 los demás no se dibujan ni se administran bien es por un cambio en las filas y columnas de los mapas.
·         No te puedes mover perfectamente entre los bloques ya que el suavizador de colisiones no lo he trabajado mucho, pero es de fácil arreglo.
·         Cuando cambias de mapa con las flechas izquierda y derecha en el modo batalla todos se cambian en una dirección, debería ser hacia delante y atrás.

Implementaciones quitadas en esta versión (0.9.0):
·         El mostrador de veces que has muertos y a los que has matado.
·         Modo batalla infinito
·         Pantalla de presentación
·         Otras cosas que me faltan

Implementación  futuras (0.9.0):
·         Los tiles tendrán una animación
·         Implementación como tal del modo historia
·         Implementación del modo conexión con el scrolling en el mapa
·         Modo batalla grupal (recolectar la bandera enemiga, masacrar al enemigo, capturar la bandera más rápido y entre otros modos que se me ocurran)
·         Sonido por favor
·         Menú de usuario más dinámico
·         Cambio del modo como se selecciona el mapa en el modo edición así como editar de forma más precisa el comportamiento del mismo.

Lo más difícil…el administrar todas las clases, y jerarquizarlas.
Lo más fácil… crear el editor y el  mapa usando archivos binarios, aunque sé que eso  trae problemas de portabilidad.


Creo que dejé muchas cosas por fuera. Igual mi correo está a la orden, por favor cuando me manden un correo que no sea para pedir ayuda referente a algo distinto a lo publicado en esta página, ya que para eso están los foros como “LOS PILLAOS” o “LOOSERSJUEGOS” de los que soy miembro. ;)



El link a la página con más información de este proyecto es este

El link a la página de GOOGLE CODE es este

El link directo a la descarga del ejecutable para Windows es este

Saludos y suerte con sus proyectos.

No hay comentarios:

Publicar un comentario