Publicado por

Entrega PR – Sergi Goldero

Publicado por

Entrega PR – Sergi Goldero

Link video: https://youtu.be/IdN3l4xPSsE link repositori Sergi Goldero / Sergi Goldero – PR · GitLab Lliurament PR | Entrega PR …
Link video: https://youtu.be/IdN3l4xPSsE link repositori Sergi Goldero / Sergi Goldero – PR · GitLab Lliurament PR | Entrega PR…

Link video: https://youtu.be/IdN3l4xPSsE
link repositori Sergi Goldero / Sergi Goldero – PR · GitLab

Debate0en Entrega PR – Sergi Goldero

No hay comentarios.

Publicado por

Práctica Final Álvaro Fernández -Don’t Touch The Onions-

Publicado por

Práctica Final Álvaro Fernández -Don’t Touch The Onions-

Don’t Touch The Onions Don’t Touch The Onions es un juego pixel Art con una estética que simula aquellos juegos de nintendo…
Don’t Touch The Onions Don’t Touch The Onions es un juego pixel Art con una estética que simula aquellos…

Don’t Touch The Onions

Don’t Touch The Onions es un juego pixel Art con una estética que simula aquellos juegos de nintendo NES, tanto en forma, tamaño de tiles como cantidad de colores.
En él tendremos que bajar a un payaso desde su trampolín hasta el final de la pantalla, en la que le espera una pequeña piscina de plástico, y tal como indica su título, debes evitar tocar las cebollas para poder superar el nivel.
El juego tiene dos niveles con diferentes elementos, también opciones de dificultad y de encendido y apagado de música.
Todos los sprites Pixel Art han sido creados a mano con Aseprite, así como sus animaciones.

Enlace a video de demostración: https://www.youtube.com/watch?v=zGIs6amJjx0

Enlace a GitLab: https://gitlab.com/afernandezte-group/afernandezte-pra_2dpro

Debate0en Práctica Final Álvaro Fernández -Don’t Touch The Onions-

No hay comentarios.

Publicado por

Entrega práctica final — Pixel Rescue

Publicado por

Entrega práctica final — Pixel Rescue

Hola a todos/as, Comparto mi práctica final de la asignatura: Pixel Rescue, un videojuego 2D de plataformas y acción desarrollado en Unity. El objetivo del juego es avanzar por dos niveles, derrotar o esquivar enemigos tipo zombie, recoger monedas, vida y munición, activar checkpoints, conseguir el cristal de cada nivel y llegar al portal de salida. El segundo nivel aumenta la dificultad incorporando más obstáculos, enemigos y plataformas móviles. El proyecto incluye los elementos solicitados en el enunciado: Pantalla con…
Hola a todos/as, Comparto mi práctica final de la asignatura: Pixel Rescue, un videojuego 2D de plataformas y acción…

Hola a todos/as,

Comparto mi práctica final de la asignatura: Pixel Rescue, un videojuego 2D de plataformas y acción desarrollado en Unity.

El objetivo del juego es avanzar por dos niveles, derrotar o esquivar enemigos tipo zombie, recoger monedas, vida y munición, activar checkpoints, conseguir el cristal de cada nivel y llegar al portal de salida. El segundo nivel aumenta la dificultad incorporando más obstáculos, enemigos y plataformas móviles.

El proyecto incluye los elementos solicitados en el enunciado:

  • Pantalla con logo corporativo.
  • Pantalla de título.
  • Menú principal.
  • Menú de opciones.
  • Dos niveles jugables con UI.
  • Pantalla de Game Over.
  • Pantalla de victoria.
  • Pantalla de créditos.
  • Sistema de vida, puntuación, munición y cristal.
  • Enemigos con patrulla, daño y muerte.
  • Pickups de monedas, vida, munición y cristal.
  • Checkpoint y respawn.
  • Plataformas móviles.
  • Menú de pausa.
  • Audio con música, efectos y control de volumen.
  • Controles táctiles para Android.
  • Generación de APK.

Todas las imágenes utilizadas en el proyecto fueron generadas mediante inteligencia artificial y posteriormente adaptadas e integradas en Unity. Los sonidos utilizados provienen de Pixabay y están acreditados en el README del repositorio.

El repositorio incluye el proyecto de Unity, el README con la documentación del trabajo realizado y el archivo de instalación Android para poder probar el juego en un dispositivo móvil.

Enlace al repositorio:
[enlace del repositorio]

Enlace al vídeo de gameplay y demostración:
[Vídeo de YouTube]

Un saludo.

Debate0en Entrega práctica final — Pixel Rescue

No hay comentarios.

Publicado por

PEC 3 – Un juego de artillería

Publicado por

PEC 3 – Un juego de artillería

PEC 2 – Un juego de plataformas Juego disponible para ejecutarse vía Web https://play.unity.com/en/games/f7d7055f-2a01-4ec2-8f4e-2cfeea9b8930/pec-3-un-juego-de-artilleria-web Video de demostración https://youtu.be/LgyFEGwgP58 https://youtu.be/toyiSGqOQQ4 (Android) Cómo se juega El juego recrea las mecánicas fundamentales del Super Mario Bros original: Movimiento: Flechas de dirección. Para correr, dejar pulsado la tecla CTRL. Salto: Tecla ESPACIO. El salto es variable; cuanto más tiempo pulses, más alto saltará Mario. Disparo: Tecla ALT (Izquierdo) o tecla X. Solo disponible cuando Mario está en estado de Fuego. Interacción con tuberías: * Para entrar en la tubería vertical, sitúate sobre ella y…
PEC 2 – Un juego de plataformas Juego disponible para ejecutarse vía Web https://play.unity.com/en/games/f7d7055f-2a01-4ec2-8f4e-2cfeea9b8930/pec-3-un-juego-de-artilleria-web Video de demostración https://youtu.be/LgyFEGwgP58 https://youtu.be/toyiSGqOQQ4 (Android)…

PEC 2 – Un juego de plataformas

Juego disponible para ejecutarse vía Web

https://play.unity.com/en/games/f7d7055f-2a01-4ec2-8f4e-2cfeea9b8930/pec-3-un-juego-de-artilleria-web

Video de demostración

https://youtu.be/LgyFEGwgP58

https://youtu.be/toyiSGqOQQ4 (Android)

Cómo se juega

El juego recrea las mecánicas fundamentales del Super Mario Bros original:

  • Movimiento: Flechas de dirección. Para correr, dejar pulsado la tecla CTRL.
  • Salto: Tecla ESPACIO. El salto es variable; cuanto más tiempo pulses, más alto saltará Mario.
  • Disparo: Tecla ALT (Izquierdo) o tecla X. Solo disponible cuando Mario está en estado de Fuego.
  • Interacción con tuberías: * Para entrar en la tubería vertical, sitúate sobre ella y pulsa la Flecha Abajo.
    • Para salir de la zona subterránea, camina hacia la derecha en dirección a la tubería horizontal para realizar la transición automática de salida.
  • Interacción con bloques: Golpea bloques con el cabezazo. Los bloques con interrogación sueltan monedas o ítems, mientras que los bloques ocultos solo se revelan al ser golpeados. Algunos bloques actúan como Puntos de Guardado.
  • Enemigos: Derrota a los Goombas saltando sobre ellos. Un contacto lateral dañará a Mario.
  • Sistema de Puntuación: El jugador acumula puntos mediante diversas acciones:
    • Recoger monedas: Suma puntos y aumenta el contador de la interfaz.
    • Eliminar enemigos: Derrotar Goombas otorga puntos adicionales.
    • Destruir bloques: Los bloques de ladrillo rompibles también contribuyen a la puntuación.
    • Bonificación por tiempo: Al finalizar el nivel, el tiempo restante se convierte automáticamente en puntos extra.
  • Final de nivel: Al tocar el poste de la bandera, Mario entrará automáticamente al castillo y el nivel se reiniciará tras sonar la música de victoria.

Compatible con Android desde la web

  • Para jugar en un dispositivo Android, se utilizan las flechas y botones abajo. Para que el juego se vea como debe en Android, se deberá de pulsar el botón FULL SCREEN y poner el teléfono en posición horizontal.

Compatible con Android

  • Se ha probado la APK y funciona a pantalla completa de forma horizontal automáticamente.

Cómo se ha desarrollado

El proyecto se ha estructurado buscando la máxima modularidad y fidelidad al juego original, destacando los siguientes hitos técnicos:

1. Física y Movimiento (MarioMovement.cs)

Se ha implementado un sistema de Gravedad Dinámica que permite que Mario caiga más rápido de lo que sube, evitando el efecto de «gravedad lunar» de Unity. Además, se incluyó Coyote Time para mejorar la respuesta del control. Para asegurar un movimiento lateral fluido y evitar que el personaje se quede «pegado» a las paredes o plataformas al colisionar, se ha asignado un Physics Material 2D «Slippery» con fricción cero al Rigidbody de Mario, enemigos y seta.

2. Sistemas de Partículas (Nuevo)

Se han desarrollado dos sistemas de partículas personalizados:

  • Efecto de Humo: Integrado en el script de movimiento, se activa solo al correr y estar en suelo. Utiliza Simulation Space: World para dejar un rastro realista que se desvanece suavemente.
  • Destrucción de Ladrillos: Sustituye al antiguo sistema de piezas manuales. Al impactar, el bloque instancia un prefab de partículas que simula escombros con rotación y gravedad aleatoria, optimizando el rendimiento al usar un solo objeto en lugar de varios prefabs individuales.

3. Sistema de Bloques (QuestionBlock.cs)

Se diseñó un sistema de bloques versátil que permite configurar desde el inspector si un bloque contiene monedas o Power-ups. La característica más destacada es la propiedad isHidden, que permite crear bloques totalmente invisibles que se materializan solo al recibir un impacto, desactivando el Animator para mostrar el sprite de bloque agotado.

4. Sistema Checkpoints (Savepoint.cs)

  • Activación por Impacto: Ciertos bloques están configurados con el script Savepoint.cs. Al golpearlos con la cabeza, se guarda la posición actual de Mario y el estado del juego en el GameManager.
  • Persistencia en la Reaparición: Si Mario muere, el GameManager posiciona al jugador en el último checkpoint activado, gestionando también la transición de cámara si el punto de guardado se encuentra en el subsuelo.

5. Interfaz de Usuario y Textos Flotantes (GameManager.cs y FloatingText.cs)

Se ha desarrollado un HUD (Heads-Up Display) completo en el Canvas que gestiona la persistencia de datos (puntos, monedas y tiempo). Se implementó un sistema de Feedback Visual mediante el script FloatingText: cada vez que Mario gana puntos (al pisar un enemigo, tocar la bandera, etc), se instancia un prefab de texto en la posición de la acción que flota hacia arriba y se autodestruye. El contador de monedas incluye un icono de una moneda.

6. IA de Enemigos y Sensores (GoombaPatrol.cs y EnemySensor.cs)

Los Goombas cuentan con dos modos de patrulla configurables: Por rango (ida y vuelta en una distancia fija) y Por colisión (caminar eternamente hasta chocar). Para evitar que los enemigos se queden trabados en las tuberías, se implementaron «sensores» laterales que actúan como disparadores para cambiar la dirección de la marcha.

7. Gestión del Tiempo y Música Dinámica (GameManager.cs)

El cronómetro de nivel interactúa directamente con el estado del juego y el audio:

  • Muerte por tiempo: Si el contador llega a cero, se dispara la lógica de muerte de Mario mediante el componente MarioDeath.
  • Secuencia «Hurry Up»: Al bajar de 20 segundos, el AudioManager detiene la música, reproduce un sonido de alerta y reanuda el tema principal con un pitch aumentado (1.3x) para incrementar la urgencia.

8. Arquitectura de Audio (AudioManager.cs)

Se ha creado un gestor centralizado mediante el patrón Singleton. Este gestor separa la música de fondo (Background Music) de los efectos de sonido (SFX). Se configuró específicamente el sistema para permitir que la música de victoria se reproduzca una sola vez (sin loop) al final del nivel, evitando solapamientos al reiniciar la escena.

9 Secuencia Final (FlagPole.cs)

Se programó una secuencia cinemática mediante Corrutinas que toma el control de Mario al tocar la bandera, sincronizando el descenso de la misma, el sonido de la polea, la caminata automática hacia el castillo y el posterior reinicio de la carga del nivel.

10. Decorado y diseño de nivel (Tilemaps)

El escenario se ha construido mediante un sistema de Grid con dos capas de Tilemap diferenciadas para separar la estética de la física:

  • Tilemap Decorativo: Utilizado para elementos visuales que no interactúan con el jugador, como nubes, montañas y decoraciones de fondo.
  • Tilemap Solid: Capa destinada al suelo y plataformas. Para optimizar el rendimiento y la fluidez del movimiento, se han añadido los componentes Tilemap Collider 2D y Composite Collider 2D.
  • BackgroundUnderground Utilizado para el fondo negro del nivel subterráneo.

Esta configuración, apoyada en un Rigidbody 2D configurado como Static, permite fusionar las colisiones de los tiles individuales en una única geometría continua. De este modo, se evita que Mario se detenga o se trabe en las pequeñas uniones entre bloques al caminar, garantizando un control suave y profesional.

11. Sistema de Transición Cinematográfica (Pipe.cs)

Se ha implementado un sistema de teletransporte entre zonas (superficie y subsuelo) que recrea la icónica transición de las tuberías de la saga original:

  • Animación de Descenso: Mediante una corrutina, se toma el control del personaje para realizar un movimiento suave.
  • Gestión Dinámica de Capas: Para evitar el uso de objetos adicionales o «parches» visuales, el script cambia en tiempo real la Sorting Layer de Mario a LevelSolid y reduce su Order in Layer a un valor inferior al del Tilemap. Esto permite que la tubería oculte visualmente al personaje mientras desciende.
  • Física No-Inercial: Al iniciar la secuencia, el Rigidbody2D conmuta a modo Kinematic y se resetea la linearVelocity para garantizar un movimiento lineal perfecto sin interferencias de la gravedad.

12. Nivel Subterráneo y Coleccionables (Coin.cs)

El juego se expande con una zona oculta que introduce nuevas dinámicas de exploración y gestión de audio:

  • Música Atmosférica: El AudioManager gestiona el cambio de clip de audio al detectar la transición de zona. Al entrar en la tubería, la música principal se detiene para dar prioridad al efecto de sonido (FX) de tránsito, reanudándose con otra música de fondo una vez Mario aparece en el subsuelo.
  • Sistema de Monedas Blindado: Se han distribuido monedas en el nivel subterráneo con un script de recolección optimizado. Para evitar errores en el contador al recoger múltiples objetos rápidamente, el script utiliza un estado de control isCollected que desactiva el colisionador y el renderizado en el microsegundo del impacto, asegurando que cada moneda se sume exactamente una sola vez al GameManagerCámara Fija y Enmarcado: A diferencia del nivel principal donde la cámara sigue a Mario, en el subsuelo se ha implementado una Cámara Fija que mantiene el encuadre estático. Esto recrea la sensación de «sala cerrada» característica de este tipo de niveles.

13. Sistema de Transformación y Mario Fuego (MarioPlayer.cs)

Se ha evolucionado el sistema de estados del jugador para soportar la transformación dinámica.

  • Gestión de Estados: El script controla tres estados (isSmallisBigisFire). Al recoger una flor, se intercambia en tiempo real el RuntimeAnimatorController para actualizar todas las animaciones y el sprite base.
  • Frames de Invencibilidad: Al recibir daño siendo Grande o de Fuego, Mario no muere; en su lugar, «encoge» e inicia una corrutina de parpadeo visual que desactiva temporalmente las colisiones con la capa de enemigos.

14. Mecánica de Proyectiles (Fireball.cs)

Se ha implementado un sistema de ataque a distancia basado en físicas:

  • Física de Rebote: Utiliza el vector normal del contacto para detectar el suelo y aplicar un impulso vertical constante (bounceForce), permitiendo que la bola «salte» por el escenario.
  • Gestión de Memoria: Para optimizar el rendimiento, los proyectiles utilizan un temporizador de vida (lifeTime) y el evento OnBecameInvisible para destruirse automáticamente si no impactan contra nada, evitando la acumulación de objetos en la jerarquía.
  • Detección de Impacto: La bola de fuego interactúa con el script de patrulla de los enemigos para eliminarlos instantáneamente al contacto.

15. Power-Up: Flor de Fuego (FireFlower.cs)

La Flor de Fuego utiliza una lógica de emergencia similar a la seta pero con un comportamiento estático:

  • Secuencia de Emergencia: Mediante una corrutina, la flor asciende desde el interior del bloque. El colisionador permanece desactivado durante el ascenso para evitar que el jugador la recoja antes de que sea visualmente lógico.
  • Activación de Estado: Al entrar en contacto con el jugador, dispara el método Grow(fireMode: true) en el controlador de Mario.

Recursos utilizados

Imágenes

Todos los sprites han sido generados mediante Inteligencia Artificial bajo mi supervisión para mantener una estética de 8 bits coherente.

  • Sprites de Mario (Idle, Run, Jump).
  • Sprites de Goomba y bloques.
  • Decorado.

Sonidos y Música

Inteligencia Artificial

  • Gemini (Google): Utilizado para la generación de todos los recursos gráficos del juego.
  • Google. (2026). Gemini 3 Flash (versión de marzo) [Large language model]. https://gemini.google.com/.

PROMPTS utilizados

  • «Genera un sprite de Mario Bros en pixel art mirando de frente, 16×16 píxeles.»
  • «Crea un tileset del primer nivel de Super Mario Bros de NES.»
  • «Genera una animación de un Goomba de Super Mario Bros de NES caminando en dos frames estilo retro.»
  • «Genera un sprite de una moneda de Super Mario Bros de NES.»
  • «Genera un sprite de un bloque de guardado al estilo Super Mario Bros de NES.»
  • «Genera un sprite de una flor de fuego al estilo Siper Mario Bros de NES.»

 

Debate0en PEC 3 – Un juego de artillería

No hay comentarios.

Publicado por

PAC 3 Álvaro Fernández -Geometry Pum Pum-

Publicado por

PAC 3 Álvaro Fernández -Geometry Pum Pum-

Geometry Pum Pum     Geometry Pum Pum es el juego desarrollado para la PAC3 de Programación 2D. Se trata de un…
Geometry Pum Pum     Geometry Pum Pum es el juego desarrollado para la PAC3 de Programación 2D. Se…

Geometry Pum Pum

 

 

Geometry Pum Pum es el juego desarrollado para la PAC3 de Programación 2D. Se trata de un shooter por turnos en 2D de estilo pixel art en el que el jugador controla un triángulo y debe derrotar a un cuadrado controlado por la IA. El juego incluye un sistema de disparo con parábola afectada por la gravedad, daño por impacto directo y por explosión, sistema de turnos gestionado por un GameManager, animaciones por estados con el Animator de Unity y un sistema de partículas para la estela del proyectil. Todos los recursos visuales han sido creados desde cero con Aseprite.

Enlace al vídeo de muestra: Vídeo

Enlace al GitLab: Repositorio GitLab

Debate0en PAC 3 Álvaro Fernández -Geometry Pum Pum-

No hay comentarios.

Publicado por

PEC 03 – Mario Bros en Unity: ampliación del nivel 1-1 con nuevas mecánicas y versión Android

Publicado por

PEC 03 – Mario Bros en Unity: ampliación del nivel 1-1 con nuevas mecánicas y versión Android

En esta entrega presento la continuación del proyecto basado en el nivel 1-1 de Super Mario Bros, desarrollado en Unity. A partir…
En esta entrega presento la continuación del proyecto basado en el nivel 1-1 de Super Mario Bros, desarrollado en…

En esta entrega presento la continuación del proyecto basado en el nivel 1-1 de Super Mario Bros, desarrollado en Unity. A partir de la base creada en la PEC anterior, en esta versión se ampliaron tanto las mecánicas jugables como varios aspectos técnicos del proyecto.

Entre los elementos incorporados se encuentran un personaje con varias animaciones, un sistema de partículas, enemigos con inteligencia artificial básica, disparo de proyectiles para eliminar enemigos, sistema de reaparición con checkpoints, uso de Tags y Layers en la lógica del juego, y además la preparación del proyecto para ejecutarse en Android mediante controles táctiles y ajustes de interfaz para dispositivos móviles.

El nivel mantiene la estructura de un plataformas 2D de desplazamiento lateral inspirado en el clásico Mario Bros, pero con una implementación propia en Unity, organizada mediante scripts modulares para el control del jugador, colisiones, enemigos, proyectiles, checkpoints, estado del juego y adaptación móvil.

Como parte del punto optativo, el proyecto fue compilado para Android, probado correctamente en un dispositivo móvil y dentro del repositorio se incluye también el archivo .apk generado.

A continuación comparto los enlaces de la entrega:

Repositorio GitLab:

https://gitlab.com/stalinfcc96/pec3-mario.git

Video de demostración:

APK para Android:
Incluido dentro del repositorio.

Debate0en PEC 03 – Mario Bros en Unity: ampliación del nivel 1-1 con nuevas mecánicas y versión Android

No hay comentarios.

Publicado por

PAC 2 Programació 2D un Nivell de plataformes calcat al nivell 1-1 de Super Mario bros de la nes

Publicado por

PAC 2 Programació 2D un Nivell de plataformes calcat al nivell 1-1 de Super Mario bros de la nes

Aquesta practica consistia en replicar el nivell 1-1 de super mario bros de la nintendo nes, per donar-li la gracias li he donat un toc personal amb l’objectiu de fer-me creatiu he fet servir altres assets que estaven a codi lliure. Aquí podreu veure’l en funcionament: https://youtu.be/pWHDIysXqBU per Borja Sasieta. Lliurament PAC2 | Entrega PEC2 …
Aquesta practica consistia en replicar el nivell 1-1 de super mario bros de la nintendo nes, per donar-li la…
Aquesta practica consistia en replicar el nivell 1-1 de super mario bros de la nintendo nes, per donar-li la gracias li he donat un toc personal amb l’objectiu de fer-me creatiu he fet servir altres assets que estaven a codi lliure.
Aquí podreu veure’l en funcionament:
per Borja Sasieta.

Debate0en PAC 2 Programació 2D un Nivell de plataformes calcat al nivell 1-1 de Super Mario bros de la nes

No hay comentarios.

Publicado por

PEC 2 – Un juego de plataformas

Publicado por

PEC 2 – Un juego de plataformas

Lliurament PAC2 | Entrega PEC2. PAC2 - Enunciat / PEC 2 Enunciado …
Lliurament PAC2 | Entrega PEC2. PAC2 - Enunciat / PEC 2 Enunciado …

Debate0en PEC 2 – Un juego de plataformas

No hay comentarios.

Publicado por

PEC 2 – Un juego de plataformas

Publicado por

PEC 2 – Un juego de plataformas

Link Video: https://youtu.be/dPbt3l5IgkQ Este es un juego de plataformas 2D en el que controlas a Milo, un gato aventurero que está en búsqueda…
Link Video: https://youtu.be/dPbt3l5IgkQ Este es un juego de plataformas 2D en el que controlas a Milo, un gato aventurero que…

Link Video: https://youtu.be/dPbt3l5IgkQ

Este es un juego de plataformas 2D en el que controlas a Milo, un gato aventurero que está en búsqueda de las 3 setas mágicas que usará para restaurar el equilibrio del bosque. Explore, destruye enemigos y recolecta monedas durante la aventura!

Debate0en PEC 2 – Un juego de plataformas

No hay comentarios.

Publicado por

Pac2 Programación de videojuegos

Publicado por

Pac2 Programación de videojuegos

Clon de Mario Bros (primera pantalla) Saludos a todas y todos, He creado una versión libre de la primera pantalla de Super…
Clon de Mario Bros (primera pantalla) Saludos a todas y todos, He creado una versión libre de la primera…

Clon de Mario Bros (primera pantalla)

Saludos a todas y todos,

He creado una versión libre de la primera pantalla de Super Mario Bros de Nintendo Nes.

Para ello he creado de 0 todos los sprites y animaciones del juego mediante el software Aseprite.

He de decir que me lo he pasado muy bien realizando esta práctica.

Enlace al video de muestra:

Enlace al GitLab:
https://gitlab.com/afernandezte-group/afernandezte-pac2_2dpro

Debate0en Pac2 Programación de videojuegos

No hay comentarios.