Aunque todo el código fuente se encuentra en la carpeta "Proyecto", en cada entregable se adjuntará el código fuente que le corresponde, si es posible.
Controles del Juego
Click izquierdo para manejarse por el menú.
Movimiento ingame con click derecho (mantener, o un solo click)
Q para disparar rayo paralizador
X para movimiento lento (mantener)
Barra Espaciadora para ataque (si es por la espalda es letal, si es de cara necesitarás más de un golpe)
Esc para menú ingame
Ítem V2.01 - Diseño e implementación de la arquitectura basada en objetos.
Esta es la parte que más tiempo nos ha llevado en el proyecto, ya que hemos pasado de tener un juego sin estructura ni arquitectura aparente, a algo semi-decente en cuanto a arquitectura y estructura. Hemos perdido demasiado tiempo con esto, porque hemos rehecho el juego prácticamente (con una base) y añadiendo algunas pocas cosas.
La arquitectura se puede ver en el código fuente enlazado anteriormente, y consta de una estructura organizada de la siguiente forma:
Una clase Game, que tiene un Menú y una Escena, la cual, tiene un Mundo, un TriggerSystem y una serie de Entidades (Triggers, Player y Enemigos). El Mundo es estático y está constituido por los Enemigos y un Mapa. Por último, tenemos diferentes tipos de Triggers (Puertas, Municion, Vida, etc...) y diferentes tipos de Enemigos (Médico, Guardia, Dron).
Ítem V2.24 - Creación de un sistema propio de GUI.
Nuestro GUI se inicializa desde la clase GraphicsFacade, por tanto, en el código fuente específico del entregable lo incluiré también, tan solo para que se vea esta inicialización. Además, se incluirá también la clase Image de la Fachada de gráficos también, que es donde tenemos las llamadas para cargar y pintar las imágenes, de momento llamando a Irrlicht.
El GUI está dividido principalmente en 2 partes:
GUI_Components: son todos los componentes que nos encontramos en los Menús, ya sea botones, desplegables, títulos o el control del volumen.
HUD: esta parte la explicaré más detallada en su entregable correspondiente.
Ítem V2.25 - Implementación de menús.
El Menú, como he dicho en el anterior entregable, está compuesto por GUI_Components, con lo que está estrechamente ligado al GUI.
Nuestro Menú está disponible tanto antes de comenzar el Juego como In-Game (pulsando la tecla ESC), con la única diferencia entre ambos de que el botón de Nueva Partida se convierte en uno de Continuar.
Nuestro Menú, por tanto, nos permite empezar una nueva partida o continuar en la que estamos, salir del juego y ver una serie de opciones:
Subir y bajar el volumen global del juego.
Cambiar la resolución de la pantalla. Esta utilidad aun no está disponible, ya que como aun no tenemos integrado nuestro motor gráfico e Irrlicht no nos facilitaba realizarlo, decidimos habilitarlo una vez que tengamos nuestro motor gráfico integrado.
Ver los controles. Esta imagen no está actualizada, ya que ha habido cambios de última hora con los controles, para la presentación esto estará arreglado.
Cabe destacar, que el sonido del menú ya está 100% funcional y disponible, teniendo música de fondo y sonido en los botones. Esto ayudará a ver si el volumen general se está subiendo o bajando utilizando la funcionalidad que hemos realizado.
Ítem V2.26 - Implementación del HUD.
El HUD de nuestro juego solo está disponible mientras jugamos y, de momento, dispone de un cuadro informativo del rayo láser con su cuadro de diálogo que aparece o no dependiendo de si está el cursor encima y una barra de vida.
No hemos priorizado en completar el HUD, porque pensamos que como es algo más visual, hemos priorizado otros entregables, dejando este ser completado para la presentación.
En un principio, lo que se añadirá de cara a la presentación serán más cuadros informativos, con la información del ataque y de andar en sigilo, un overlay para estos cuadros informativos, una pantalla de Game Over cuando nos maten y unos mensajitos de qué hemos recogido cuando recojamos o munición o vida o una tarjeta para abrir una puerta.
Todos los entregables se prueban en el mismo archivo ejecutable, por lo tanto el mismo archivo de proyecto.
(https://drive.google.com/file/d/0B5oy-DizkU_yY29QWWFJLVRKMlU/view?usp=sharing) Aquí un enlace al archivo comprimido que contiene, por un lado, el proyecto para compilar; y, por otro, el ejecutable ya compilado para probar.
Aunque todo el código fuente se encuentra en la carpeta "Proyecto", en cada entregable se adjuntará el código fuente que le corresponde, si es posible.
Controles del Juego
Ítem V2.01 - Diseño e implementación de la arquitectura basada en objetos.
Esta es la parte que más tiempo nos ha llevado en el proyecto, ya que hemos pasado de tener un juego sin estructura ni arquitectura aparente, a algo semi-decente en cuanto a arquitectura y estructura. Hemos perdido demasiado tiempo con esto, porque hemos rehecho el juego prácticamente (con una base) y añadiendo algunas pocas cosas. La arquitectura se puede ver en el código fuente enlazado anteriormente, y consta de una estructura organizada de la siguiente forma:
Adjunto en el siguiente enlace el código fuente específico para los siguientes 3 entregables. No lo diferencio más porque los 3 entregables están estrechamente relacionados: https://drive.google.com/open?id=0B39aFPRKKoO_MmZrTkJDQzlRTWs
Ítem V2.24 - Creación de un sistema propio de GUI.
Nuestro GUI se inicializa desde la clase GraphicsFacade, por tanto, en el código fuente específico del entregable lo incluiré también, tan solo para que se vea esta inicialización. Además, se incluirá también la clase Image de la Fachada de gráficos también, que es donde tenemos las llamadas para cargar y pintar las imágenes, de momento llamando a Irrlicht. El GUI está dividido principalmente en 2 partes:
Ítem V2.25 - Implementación de menús.
El Menú, como he dicho en el anterior entregable, está compuesto por GUI_Components, con lo que está estrechamente ligado al GUI.
Nuestro Menú está disponible tanto antes de comenzar el Juego como In-Game (pulsando la tecla ESC), con la única diferencia entre ambos de que el botón de Nueva Partida se convierte en uno de Continuar.
Nuestro Menú, por tanto, nos permite empezar una nueva partida o continuar en la que estamos, salir del juego y ver una serie de opciones:
Cabe destacar, que el sonido del menú ya está 100% funcional y disponible, teniendo música de fondo y sonido en los botones. Esto ayudará a ver si el volumen general se está subiendo o bajando utilizando la funcionalidad que hemos realizado.
Ítem V2.26 - Implementación del HUD.
El HUD de nuestro juego solo está disponible mientras jugamos y, de momento, dispone de un cuadro informativo del rayo láser con su cuadro de diálogo que aparece o no dependiendo de si está el cursor encima y una barra de vida. No hemos priorizado en completar el HUD, porque pensamos que como es algo más visual, hemos priorizado otros entregables, dejando este ser completado para la presentación. En un principio, lo que se añadirá de cara a la presentación serán más cuadros informativos, con la información del ataque y de andar en sigilo, un overlay para estos cuadros informativos, una pantalla de Game Over cuando nos maten y unos mensajitos de qué hemos recogido cuando recojamos o munición o vida o una tarjeta para abrir una puerta.