Juego de Proyectos II hecho en c++ con SDL.
PÁGINA WEB
PIVOTAL
DIAGRAMA UML - MENUS, ESCENA Y REFUGIO
DIAGRAMA UML - MECÁNICAS DE SAQUEO
DIAGRAMA UML - COMPONENTES
- Descripción
- Mecánicas
- Dinámicas
- Contenido
- Estética
- Controles
- Interfaz y menús
- Conclusiones QA
- Referencias
DOME es un survival shooter scroller 2D donde el jugador controlará a uno de los últimos supervivientes de una colonia establecida en el planeta helado Aurora. Cada día, deberá aprovechar las horas de luz para buscar los objetos que necesita para sobrevivir en este hostil y frío lugar. Además, durante las horas de noche el frío es tal que deberás volver al refugio a descansar y gestionar tu tiempo y recursos. ¿Serás capaz de escapar?
El juego se puede jugar en Windows, y es apto para un público mayor de 12 años, de acuerdo con la clasificación PEGI, pues contiene situaciones violentas y escenas que podrían dar miedo a audiencias más jóvenes.
El jugador tendrá que escapar del planeta antes de que pasen 10 días antes de que el refugio se congele y el jugador quede encerrado en Aurora.
Así, cada día de juego el jugador dispondrá de 12 horas (que se jugarán como unos minutos cronometrados) para saquear puntos de interés, seguidas por otras 12 horas (que se gestionan como recurso de forma discreta) para descansar y gestionar sus recursos en el refugio, ya que será de noche y el frío le impedirá salir. Cuando termine sus tareas en el refugio, podrá dormir lo que le quede de la noche para reponer sus fuerzas y volver a explorar.
Los lugares de saqueo serán pequeños, rápidos de recorrer y contendrán botín escaso dependiendo del lugar (farmacia--> ingredientes de medicina, supermercado--> comida, etc) en los que el jugador gastará tiempo del día. Solo podrá saquear lo que su equipamiento y su estado (herido, hambriento, cansado) le permita llevar de vuelta al refugio.
La dificultad de cada lugar de saqueo estará definida por el peligro que presentan los enemigos que haya (apartado "Combate"). Además, la distancia sobre el mapa entre el lugar de saqueo y el refugio reducirá el tiempo del cual dispone el jugador para saquear.
Existe la posibilidad de volver a la misma localización por si en un anterior ciclo no se terminó de saquearla por completo.
Los lugares de saqueo tendrán descripciones que ayuden al jugador a saber qué esperar. Por ejemplo, la descripción del hospital delata que habrá un nivel bajo de mostruos, que el tiempo de viaje es de 1 hora y que se podrán encontrar recursos médicos, agua y suministros electrónicos.
Para poder volver al refugio, el jugador tendrá que salir por la zona por la que entró o alguna salida adicional que se encuentre. En caso de que se tarde demasiado tiempo en volver, empezará a sufrir de hipotermia, que se ve como un efecto de hielo en la interfaz que adquiere opacidad progresivamente. Si el efecto llega a la opacidad máxima, el jugador muere.
El refugio es una zona pequeña donde el jugador tendrá acceso a diferentes estaciones de crafteo para crear objetos. Además, dispone de una cama para descansar y comenzar el siguiente ciclo de día. Cada acción que el jugador realice en el refugio contará contra el tiempo que tiene aquí. A diferencia del saqueo, el tiempo aquí se cuenta de forma discreta, como un recurso, y no baja solo. Cada noche se disponen de 5 puntos de acción, representados como relojes.
Además, hay un área designada para la reparación del cohete, el objetivo final del juego. Al interactuar con el cohete, se abrirá un menú similar a las estaciones de crafteo, el cual ofrecerá una serie de posibles reparaciones al cohete, cada uno de los ciales requiere una serie de materiales concretos. Si se llegan a efectuar todas las reparaciones, habrá una nueva opción para despegar, completando el juego.
Las estructuras estarán ya situadas en distintas zonas del refugio, pudiendo el jugador interactuar con ellas para realizar acciones.
El jugador dispondrá de un inventario por bloques donde almacenar los objetos que quiera llevarse a la hora de saquear. Cada objeto ocupará un espacio diferente (pero siempre cuadrilátero) en el inventario, y la organización eficiente del espacio permitirá al jugador cargar con más objetos.
El jugador dispone de tres armas diferentes que le aportan versatilidad en el combate. Cada arma requiere un tipo de munición diferente, estando toda la munición del jugador en su inventario. Si se agota completamente un tipo de munición, el espacio que este ocupaba en el inventario se podrá aprovechar para otros objetos. Las tres armas son:
-
Carabina de gas: dispara un proyectil de alta velocidad que sigue una trayectoria lineal hasta impactar con un enemigo o una pared. Requieren balas como munición.
-
Láser de minería: el jugador debe mantener pulsada la tecla de disparo por un momento para cargar el arma antes de disparar. Cuando el arma está completamente cargada, se puede soltar la tecla para disparar un láser que traza una línea recta hasta impactar con una pared, dañando a todos los enemigos que atraviese. Requiere baterías como munición.
-
Arma polimérica: dispara un proyectil de media velocidad que rebota sobre superficies un número de veces según el nivel del arma o hasta colisionar con un enemigo. Cuando el proyectil se destruye, crea una explosión que daña a todos los enemigos cercanos que estén en visión directa del epicentro. Requieren filamento poliatílico como munición.
Se puede cambiar de arma pulsando el botón Q, ciclando por las tres armas en orden.
- En el combate, el jugador puede moverse por el mapa libremente en el horizontal, además de poder realizar un salto a poca altura. Mientras conrtola su movimiento con el teclado, podrá usar el ratón para operar su arma.
- Los mapas tendrán verticalidad con plataformas, pero el jugador no podrá navegar el mapa con solo su salto; necesitará usar las escaleras del mapa. Para subir o bajar una escalera, usará las teclas direccionales arriba y abajo mientras el personaje esté sobre la escalera. Mientras está en una escalera, el jugador no puede atacar.
- Las armas no son perfectamente certeras. Siempre que el jugador apunte, habrá una desviación aleatoria en la trayectoria de su puntería. Esta desviación se reduce mucho si el jugador se agacha, pero no se puede mover hasta volver a levantarse.
- El daño no se refleja en puntos de golpe, sino en efectos de estado o heridas. Cada ataque de cada enemigo puede inflingir ciertos tipos de herida. Si en algún momento el jugador sufre de 6 heridas diferentes, muere. Cada herida (ejs.: esguince, hemorragia, dolor, intoxicación) aportará una debilidad al jugador, parecidos a los efectos negativos del frío, el hambre, la sed y el cansancio.
- Hay daño de caída: una caída de altura suficiente causa un esguince.
-
Cansancio: El cansancio es un debufo con niveles de intensidad que reduce la velocidad de movimiento en la raid y el tiempo de viaje hacia las localizaciones. Para perder niveles de cansancio se podrá descansar en el refugio y cuanto más tiempo se dedique a dormir, mas descansado estará el jugador y por lo tanto su velocidad de viaje mejorará.
-
Hambre: El hambre es un debufo stackeable que incrementa la velocidad a la que la condición de desangrado se propaga. Comer comida restará niveles de hambre.
Los dos tipos de monstruos presentes en el juego atacan a melee, causando heridas al contactar con el jugador.
Acechador: persigue al jugador por el suelo, con más vida que el persecutor.
Persecutor: persigue al jugador por los aires, manteniendo su altura cuando aún está lejos, pero adoptando un comportamiento más agresivo cuando está más cerca.
El sistema de salud en raid se basa en un modelo de heridas en lugar de una barra de salud general. Cada herida que recibes se añade a una pila de tal forma que se van acumulando. Además, cada herida aplica un debufo concreto. La mayoría de estados simplemente se quedarán ahí hasta que le apliques la medicina correcta, aunque algunos desaparecerán solos con el paso del tiempo. Si en algún momento el jugador tiene 6 heridas a la vez, morirá, obligándole a reiniciar su progreso. Cuando el jugador vuelve al refugio, se le curan todas las heridas.
Desangrado: Esta herida se muestra como un icono de una gota de sangre que se rellena progresivamente. Cuando se llena por completo, la herida pasa a ser una hemorragia, y se añade al jugador una nueva herida de desangrado. No hay más efectos negativos, pero aún así el desangrado es la herida más peligrosa al jugador, pues puede causar que se muera por acumulación de heridas. Se puede curar usando una Venda.
Hemorragia: Esta herida no tiene efectos adicionales. Solo se puede curar volviendo a la base.
Esguince: Esta herida tiene un icono de un hueso roto, y bloquea el salto del jugador hasta que desaparezca. Esta herida se cura automáticamente con el paso del tiempo, o con una Férula.
Intoxicación: Esta herida, mostrado con un icono de radiación sobre fondo verde, tiene una corta duración antes de desaparecer, durante la cual impide al jugador usar ninguna cura salvo el Antídoto, que cura esta herida.
Dolor: Esta herida tiene de icono una figura tumbada con rayos saliendo de la espalda. Reduce drásticamente la precisión de las armas del jugador. Se puede curar con un Analgésico, o con el paso del tiempo.
Hipotermia. Este efecto de estado no es una herida formal, por lo que no cuenta para el número de heridas que se pueden sufrir. No es provocado por ningún enemigo, aparece cuando acaba el tiempo de raid, y va avanzando a medida que el jugador permanece en la raid. Es una forma de avisar al jugador de que va a anochecer y necesita volver al refugio. Si se deja avanzar hasta su límite, el jugador muere independiente del número de heridas que tenga.
Dentro del refugio, el jugador puede comer y descansar. Si no come o no descansa lo suficiente, acumula niveles de Hambre o Cansancio respectivamente. El nivel actual de hambre y cansancio solo se puede ver en el refugio.
Hambre: Este efecto incrementa la velocidad a la cual se rellenan las heirdas de Desangrado. Al máximo nivel de hambre, el jugador se desangra al doble del ritmo ordinario.
Cansancio: Este efecto decrementa progresivamente la precisión de las armas del jugador.
El jugador deberá aguantar lo suficiente para lograr saquear las piezas que permiten reparar su nave y así escapar del planeta. La mayoría de los peligros que le acechan son fácilmente evitables si se opta por ir lento, pero esto a la vez dificulta la suficiente recolección de recursos y crea el riesgo de que se agote el tiempo.
No se espera que un jugador esperado complete con éxito su primera jugada, sino que aprenda de cada muerte cómo gestionarse mejor.
El bucle de juego sigue el patrón mapa -> saqueo -> gestión y crafteo -> descanso, mejorando su equipamiento y haciendo progreso estable hacia el objetivo final. Se espera que elija cada día la localización más adecuada a sus necesidades y de una dificultad asequible, para no morir en el propio saqueo. En caso de que muera lo esperable es que entienda con claridad cual ha sido su fallo para mejorar la siguiente partida.
Es un reto de supervivencia donde el jugador tendrá que gestionar las necesidades de su avatar para completarlo sin morir y en el menor tiempo posible.
| Weapon | Tier 1 Sprite | Tier 2 Sprite | Tier 3 Sprite |
|---|---|---|---|
| Classic Weapon | |||
| Laser Weapon | |||
| Ricochet Weapon |
| Nombre | Sprite |
|---|---|
| Desechos metálicos | ![]() |
| Partes mecánicas | ![]() |
| Restos electronicas | ![]() |
| Componentes médicos | ![]() |
| Agua | ![]() |
| Elementos orgánicos | ![]() |
| Comida | ![]() |
| Objeto | Elementos necesarios | Uso |
|---|---|---|
| Vendas | 2 componentes médicos + 1 agua + 1 elementos orgánicos | Curan sangrado |
| Antídoto | 1 comida + 2 agua + 2 componenetes médicos | Cura infecciones |
| Férula | 2 partes mecánicas + 1 agua | Cura contusiones |
| Comida | 1 agua + 1 elementos orgánicos | Para comer |
| Cohetes de la nave | 2 restos clave de la nave + x materiales de construcción + restos electrónicos + x placas de metal | Primera parte de la nave |
| Radar de la nave | 1 restos clave de la nave + 1 restos electrónicos | Segunda nave parte de la nave |
| Cabina de la nave | 3 restos clave de la nave + 2 materiales de construcción + 1 placas de metal | Segunda nave parte de la nave |
| Arma mejorada | 2 partes mecánicas + 1 restos electrónicos + 1 kit de mejora | Aumenta el tier del arma |
| Munición arma clásica | No se craftea | Munición para el arma clásica |
| Munición arma laser | 1 Munición arma clásica + 2 partes restos electrónicos | Munición para el arma clásica |
| Munición arma ricochet | 1 Munición arma clásica + 2 partes mecánicas | Munición para el arma ricochet |
| Placas de metal | 1 materiales de construcción + 1 partes mecánicas | Para reaizar otros crafteos |
| Nombre | Sprite | Descripción |
|---|---|---|
| Acechador | ![]() |
Se acerca al jugador y le aplica desangrado al contacto |
| Persecutor | ![]() |
Vuela, persigue al jugador y aplica dolor al contacto |
El juego tiene estetica en pixel-art de 64-bits inspirado en juegos como Kingdom y . Esta ambientado en la cúpula de un planeta desértico.
- A,D -> Movimiento lateral
- W,S -> Seleccionar el subir y bajar escaleras
- SPACE -> Saltar, soltarse de las escaleras
- C -> Agacharse
- Q -> Cambiar de arma
- Movimiento del raton -> Apuntar
- Click izquierdo -> Disparar
- R -> Recargar el arma
- Tab -> Abrir el inventario
- E -> Interactuar con elementos del mapa
- ESC -> Menu de pausa
- Tab -> Volver al juego
- Click izquierdo -> Arrastrar un objeto del inventario
- Click derecho -> Rotar el objeto que estas arrastrando
En este menú el jugador tendra la opción de salir del juego, ir al juego o irse al menu de opciones.
Menú de ajustes donde el jugador podrá ajustar el volumen del juego, tanto de efectos de sonido como la musica y habilitar o deshabilitar la opcion de que se vean los fps.
En esta pantalla el jugador tendrá que seleccionar a qué zona del mapa se quiere dirigir para efectuar la raid. Además en la parte superior izquierda se verán los estados del jugador para facilitarle el ver que es lo que mas necesita en ese momento. También aparecerá la distacia que hay al lugar, indicativo del tiempo que se consumirá en viajar ahí.
Este menú aparecera si el jugador pulsa esc durante la partida, aquí el jugador podra irse al menu de opciones, volver a la partida o volver al menú principal.
Menú que se le abrirá al jugador cuando pulse el tabulador durante el juego, ya sea en refugio o saqueo. Aquí el jugador podrá ver el los objetos que tiene en el inventario.
Esta es una interfaz que aparece al lado del inventario del jugador cuando interactúa con una caja de almacenamiento. Podrá arrastrar objetos del lugar de almacenamiento a su inventario y viceversa.
Durante los saqueos, la interfaz del jugador tendrá: En la esquina superior izquierda, la lista de sus heridas. Estas están organizadas con las hemorragias y desangrados al final. El jugador puede colocar el puntero encima de una herida para ver una descripción de esta. En la esquina inferior izquierda, un icono que muestra el arma equipada, junto a la munición de esta. En la esquina superior derecha hay un reloj con el tiempo restante en el saqueo. Cuando el tiempo se agota, los bordes de la pantalla se recubren con un efecto de escarcha, indicando el nivel de hipotermia.
En el refugio, la única interfaz permanente es la de los estados de salud (hambre y cansancio), que se representa igual que la de las heridas en el saqueo.
Enlace del cuestionario : CUESTIONARIO
Enlace de las respuestas : RESPUESTAS_CUESTIONARIO
El cuestionario ha sido rellenado por 13 personas, de las cuales cada una ha instalado una versión específica para hacer QA en su ordenador. Dado que este cuestionario se ha realizado en el corto intervalo que transucurre desde el Lunes 23 de Mayo hasta el Miercoles 26, las preguntas han tenido como objetivo balancear el juego y descubrir problemas o bugs en este.
Tras recibir el feedback hemos llegado a las siguientes conclusiones:
- El tiempo de raid era excesivo ya que el 100% de los jugadores se pasaban los mapas con mucho tiempo extra.
- En cuanto a los estados hemos notado la falta de más vendas por el mapa ya que es la causa principal de muerte (83,3%) y mejorar la descripciones de todos los estados del juego.
- Hemos notado la imperante necesidad de reducir el numero de acciones disponibles en la base ya que nadie gastaba todas.
- Muchas personas no sabian como cambiar de arma (100% de los jugadores no cambiaron de arma). Hemos cambiado la tecla de cambio de arma de 'X' a 'Q', puesto que el icono de X parecia que servia para cerrar una ventana.
- Partes concretas del juego no se entendían bien, por lo que hemos hecho un tutorial para explicar las bases del juego.
- Aumentamos ligeramente la velocidad del jugador cuando utiliza las escaleras de mano tras recibir feedback de que la velocidad era demasiado lenta.
- El estado de sangrado mataba al jugador demasiado rápido , sobre todo cuando está afectado por el estado de hambre (91,7% de los jugadores han sido afectados principalmente por este estado), por lo que hemos disminuido la velocidad de desangrado.
- Nuestra idea principal era limitar la cantidad de items que podía tener el jugador para que así tuviese la necesidad de salir a lootear y elegir que items son más importantes en cada momento. Pero nos hemos dado cuenta de que al menos tener un cofre en la base podría ser un buen añadido al juego. Sin embargo, por falta de tiempo, no hemos sido capaces de añadir esta funcionalidad.
- Hemos arreglado multiples bugs que hacian que el juego crasheara, además de refactorizar partes del código en el proceso, como por ejemplo la creación de Items.
- This War of Mine (Ciclo de supervivencia día a día)
- Escape from Tarkov (Saqueos / Equipamiento)
- Project Zomboid (Equipamiento)
- Metro Exodus (Crafteo / Botín)
- Kingdom (Estética)









































