Prog2D PR – Dingo’s Journey
Prog2D PR – Dingo’s Journey
Dingo’s Journey

1. Descripción General
Este proyecto consiste en el desarrollo de un videojuego twin-stick shooter en 2D llamado Dingo’s Journey e inspirado en el minijuego “Journey of the Prairie King” de Stardew Valley.
El objetivo principal es sobrevivir oleadas de enemigos que aparecen desde los bordes de la pantalla, utilizando controles separados para el movimiento (WASD) y el disparo (flechas direccionales).
El juego incluye un sistema de vidas, progresión por niveles, enemigos con inteligencia artificial, efectos de sonido y música, además de una interfaz completa con menú de pausa y pantalla de game over.

2. Enlaces
3. Cómo Jugar
El jugador controla un personaje que debe sobrevivir oleadas de enemigos en niveles cerrados.
- Movimiento: Utiliza las teclas WASD para mover al personaje en todas las direcciones.
- Disparo: Utiliza las flechas direccionales para disparar en 8 direcciones (arriba, abajo, izquierda, derecha y diagonales).
- PowerUps: Los enemigos pueden soltar powerups al morir. Recógelos para obtener mejoras temporales o permanentes.
- Objetivo: Elimina todos los enemigos de cada oleada para abrir las puertas y avanzar al siguiente nivel.
- Supervivencia: Evita el contacto con los enemigos. Tienes 3 vidas (máximo 5 con powerups), y tras recibir daño obtienes unos segundos de invulnerabilidad.
- Elementos del Entorno: Dispara a los barriles explosivos para crear explosiones que dañan a enemigos cercanos. Ten cuidado, si estás en el radio también recibirás daño. Úsalos estratégicamente para crear reacciones en cadena.
- Boss Final: El último nivel presenta un boss con alta resistencia. La barra de progreso del HUD muestra su vida en tiempo real. Derrótalo para completar el juego y desbloquear los créditos.
- Consejos Útiles: Al inicio de cada nivel aparece un consejo útil en la esquina inferior derecha de la pantalla. ¡Presta atención para aprender estrategias y controles!

4. Controles
PC (Teclado)
- Moverse:
W/A/S/D - Disparar:
Flechas Direccionales(8 direcciones incluyendo diagonales) - Pausar:
ESC
Menú Principal
- Navegación:
W/SoFlechas Arriba/Abajo - Confirmar:
Enter - Volver:
ESC(en submenús) - Mouse: Hover sobre botones para seleccionar, click para confirmar

5. Tipos de Enemigos
El juego cuenta con 4 tipos de enemigos, cada uno con comportamientos únicos:
| Tipo | Descripción | Comportamiento |
|---|---|---|
| Normal | Enemigos básicos con movimiento orgánico | Se mueven directamente hacia el jugador con desviación senoidal aleatoria. Evitan a otros enemigos mediante sistema de evasión. Colisionan con obstáculos. |
| Cardinal | Enemigos que solo se mueven en ejes | Se mueven exclusivamente en horizontal o vertical (sin diagonales), alternando entre ejes X/Y cada 0.5 segundos. Ideales para crear patrones predecibles. |
| Flying | Enemigos voladores | Ignoran completamente los obstáculos y se mueven en línea directa hacia el jugador. Más rápidos y peligrosos. No colisionan con paredes. |
| Boss | Enemigo final con alta resistencia | Versión mejorada con vida muy elevada y resistencia a muerte por contacto (solo recibe daño por disparos). La barra de progreso del HUD muestra su vida restante en tiempo real. Al derrotarlo se pausa el juego y aparece el panel de victoria. |
Cada tipo puede tener variantes de velocidad y vida configurables, permitiendo mezclar diferentes dificultades en cada nivel.

6. PowerUps
Los enemigos tienen un porcentaje configurable de soltar powerups al morir. Existen 4 tipos de powerups:
| PowerUp | Tipo | Duración | Efecto |
|---|---|---|---|
| Speed Boost | Temporal | 20s | Aumenta la velocidad de movimiento del jugador x1.5. El icono aparece en el HUD durante su duración. |
| Extra Life | Permanente | – | Otorga una vida adicional (máximo 5 vidas). Se añade inmediatamente al HUD. |
| Triple Shot | Temporal | 20s | El jugador dispara 3 balas simultáneamente en direcciones adyacentes (ej: arriba, arriba-izq, arriba-der). Cambia el sprite del arma. |
| Omni Shot | Temporal | 20s | El jugador dispara 8 balas simultáneamente en todas las direcciones. Extremadamente poderoso. Cambia el sprite del arma. |
Características:
- Los powerups temporales no son acumulables (recoger uno nuevo reinicia el temporizador)
- Los powerups en el suelo tienen lifetime de 5 segundos
- Parpadean durante los últimos 3 segundos antes de desaparecer
- Los powerups son magnéticos: se acercan automáticamente al jugador cuando está cerca
Características Destacadas
| Característica | Descripción |
|---|---|
| Twin-Stick Shooter | Controles separados para movimiento (WASD) y disparo (flechas) con soporte para 8 direcciones de disparo incluyendo diagonales. |
| Sistema de PowerUps | Los enemigos sueltan powerups aleatorios con porcentaje configurable. Incluye 4 tipos: Speed Boost (velocidad x1.5), Extra Life (hasta 5 vidas máximo), Triple Shot (3 balas en direcciones adyacentes), Omni Shot (8 balas en todas direcciones). Los powerups temporales duran 20 segundos configurables y no son acumulables. |
| Sistema de Vidas | 3-5 vidas con invulnerabilidad temporal (2 segundos), feedback visual mediante parpadeo del sprite, integración completa con UI. |
| Tipos de Enemigos | Sistema modular con 3 tipos de IA: Normal (orgánico con desviación), Cardinal (movimiento en ejes X/Y), Flying (ignora obstáculos). Configuración por prefab permite variantes rápidas/lentas y mezcla de tipos por nivel. |
| Progresión por Niveles | Sistema de puertas que se abren al eliminar todos los enemigos, con indicador visual temporal en UI y transición automática entre niveles. |
| Audio Profesional | Sistema completo con AudioMixer, grupos separados para música y SFX, conversión lineal-logarítmica para control de volumen, y persistencia de configuración. Control de música por índice (PlayMusic) para diferentes pistas en menú, niveles y créditos. |
| Feedback Visual y Sonoro | Feedback de daño en enemigos con flash rojo de 0.1s. Sonidos diferenciados para impactos en props vs paredes. PowerUps con lifetime configurable y parpadeo de advertencia en últimos 3 segundos. Animaciones de puertas al completar niveles. Explosiones con partículas y audio. |
| UI Reactiva | Interfaz que responde a eventos del juego: actualización de vidas, barra de progreso de enemigos, iconos de powerups activos con indicadores visuales, menú de pausa con Time.timeScale, y pantalla de game over. |
| Menú Principal Completo | Sistema de menús con navegación dual (mouse hover + teclado W/S/flechas). Selection icon con movimiento suave que sigue la selección. Cooldown anti-doble-input al volver de submenús. Paneles de Options, Controls y Credits totalmente funcionales. Pantalla de inicio con “Press Enter” antes del menú principal. |
| Sistema de Boss | Nivel final con boss de alta resistencia que no muere por contacto (solo recibe daño por disparos). La barra de progreso muestra vida del boss mediante reflection en tiempo real. Al derrotarlo se pausa el juego y se muestra panel de créditos con opción de volver al menú. |
| Elementos Interactivos | Barriles explosivos que reaccionan a disparos del jugador, generan explosiones con radio configurable (visualizado con Gizmos en editor), dañan a enemigos cercanos (5-10 vida configurable) y al jugador (1 vida fija), y pueden crear explosiones en cadena. Incluye sistema de partículas y feedback de audio. |
| Sistema de Consejos | Tips útiles que aparecen automáticamente 5 segundos después de iniciar cada nivel. Se muestran en la esquina inferior derecha con cara de personaje y texto breve durante 3.5 segundos. Animaciones suaves de fade in/out. Consejos personalizables por nivel para enseñar mecánicas, controles y estrategias. |
| Persistencia entre Niveles | GameManager singleton con DontDestroyOnLoad mantiene las vidas del jugador entre escenas. El progreso se guarda automáticamente y se resetea al volver al menú principal. |
| Sistema de Animación | Animaciones para personajes (correr, muerte) con sistema de flip inteligente que prioriza dirección de disparo sobre movimiento. |
| Física Balanceada | Uso de Rigidbody2D Dynamic/Kinematic según necesidad, CompositeCollider2D para optimización de Tilemaps, y sistema de capas para colisiones selectivas. |

Assets y Recursos
Para el desarrollo de este proyecto se han utilizado/utilizarán los siguientes recursos:
- Sprites:
- Kenney Dessert Shooter Pack
- Kenney Input Prompts Pixel
- Algunos pequeños sprites han sido hechos de 0 con GIMP
- Efectos de Sonido:
- Música: Melodic Desert Part II – Blue Lava Music
- Fuentes: Kenney Fonts
Referencias y Fuentes de Apoyo
Documentación Oficial
Tutoriales y Recursos
Durante el desarrollo del proyecto se han consultado y utilizado diversas fuentes de apoyo tanto técnicas como académicas, entre ellas:
GitHub Copilot — utilizado como asistente de desarrollo para resolver dudas, optimizar código y estructurar la lógica del juego.
Documentación oficial de Unity — Unity Learn y Unity Manual para la implementación de escenas, animaciones, UI y gestión de audio.
Estas fuentes han sido utilizadas únicamente con fines académicos y de aprendizaje, respetando los derechos y licencias correspondientes.
Aquest és un espai de treball personal d'un/a estudiant de la Universitat Oberta de Catalunya. Qualsevol contingut publicat en aquest espai és responsabilitat del seu autor/a.
Debatcontribution 0el Prog2D PR – Dingo’s Journey
No hi ha comentaris.
Heu d'iniciar la sessió per escriure un comentari.