MEDIEVAL SWORD
Niebla
Como es normal en los diferentes juegos de estrategia, el mapa del juego está cubierto por una niebla que no nos deja lo que hay en aquellos lugares que aún no hemos explorado. Medieval Sword no iba a ser menos así que ya tiene “niebla de guerra” la cual induce al jugador a explorar el mapa para ver que misterios oculta. Para ello se ha actualizado el mapa de juego y el mini-mapa para que ambos muestren la niebla.
(vídeo de demostración)
Si os habéis [...]
Objetos en el mapa.
En los últimos días he añadido la funcionalidad que me permite añadir objetos al mapa. La estructura diseñada es muy parecida a la utilizada para crear el propio mapa.
Se utiliza una matriz de NxN donde cada elemento identifica si existe en esa casilla algún objeto y el tipo de este en caso de que exista. Esta matriz es utilizada por el Parser el cual se comunica con la clase Terrain la cual añade los objetos al mapa.
En la siguiente imagen podéis ver un pequeño ejemplo[...]
Montones de recursos
En un post anterior mostré una de las forma de conseguir recursos que consiste en capturar edificios que proporcionan todos los turnos una cierta cantidad. La otra forma es recogiendo montones de recursos que existen por el mapa al iniciar una partida y que proporcionan al jugador un extra que le ayudará a acelerar su partida. En el siguiente vídeo se muestra esta nueva característica en funcionamiento:
Código actualizado
Como indica el nombre de este post, he actualizado el código del repositorio de github con los últimos cambios.
Si entráis en el repositorio podréis ver que he cambiado el nombre de los directorios del proyecto y de algunos paquetes. Además he movido el proyecto “textures-packer” el cual uso para empaquetar las imágenes a un nuevo proyecto de github aparte. De esta forma queda bien diferenciado ya que es una herramienta y no parte del propio proyecto.
<[...]Turnos y recursos
Medieval Sworld se base en un sistema de turnos el cual define el transcurso de los días. El tiempo se divide en semanas de 7 días. Cada uno de los días se corresponde con un turno durante el cual el jugador podrá realizar sus acciones.
Al pasar un día, nuestros heroes recuperarán sus puntos de movimiento y se incrementarán los recursos que generen las minas y aserraderos que poseemos. Para pasar de turno se ha añadido un botón en la zona izquierda de la pantalla el cual n[...]
Selección de Héroes
En el último incremento del juego se ha implementado la selección de héroes y criaturas en el mapa y el panel de información sobre estos.
Ahora al seleccionar uno de nuestros héroes, aparece su icono en la parte de la izquierda de la interfaz. Si pulsamos en este icono tal y como se muestra en el vídeo que aparece más adelante, se abre una ventana con la información del héroe seleccionado. Lo mismo ocurre al pulsar sobre un héroe o criatura enemiga.
(vídeo de dem[...]
HUD – Versión 1
En este post presento el primer diseño del HUD del juego mientras estamos en la pantalla del mapa.
Como se puede ver está compuesto por varias partes las cuales paso a describir desde arriba hacia abajo:
- Minimapa: muestra una representación en miniatura de todo el mapa del juego.
- Indicadores de recursos: muestra la cantidad de recu[...]
Demo 1. Integración Mapa – Batalla
Ya que ha llegado la hora de las valoraciones de los proyectos del concurso, he subido a GitHub todo el código actual del juego para que lo puedan valorar los jueces del concurso.
Después de muchos cambios y trabajo he conseguido una primera demo del juego donde se puede ver la integración entre el módulo de batalla con el que empecé el desarrollo del juego y el módulo del juego. Aunque por ahora es bastante simple y he usado texturas de prueba es un primer paso de lo que será [...]
Cargador de Niveles (Parte 2)
Como comenté en la anterior entrada, en este caso voy a explicar como el juego que estoy implementando procesa la información de los niveles y la convierte en objetos del juego.
En primero lugar, mencionar que la clase Nivel que describí en el último post, se estaba haciendo bastante grande por lo que he creado una serie de clases auxiliares que me permiten guardar la información básica de cualquier tipo de objeto.
Cada objeto que puede ser cargado o que posteriormente ser[...]