PEC 3
PEC 3
- Link al video: https://youtu.be/pAmwBZO6HKI
- Link al video android: https://youtu.be/9YXiJOgJnPY
- Link al juego: https://play.unity.com/en/games/a355b95d-bb00-4fb1-8f5e-d37edd669532/pec-3
- Link a Gitlab: https://gitlab.com/diego-sanz-f/PEC_2_Un_Juego_De_Plataformas
Cómo jugar
El objetivo del juego es llegar al final del nivel sin tocar a los enemigos ni caer del mapa. Saltar encima a enemigos los derrota y otorga puntos. El contador del tiempo también otorga puntos, pero si llega a cero se acaba la partida.
El personaje se controla con A (o izquierda), con D (o derecha) y espacio para saltar. También puede lanzar bolas de fuego con la F.
Detalles de la implementación
Animaciones
Para las animaciones se ha pasado de cambiar los sprites mediante código a utilizar Animator Controllers y Clips de animaciones. Las animaciones que solamente tienen un sprite se han configurado como velocidad 0 en el grafo de animaciones.
Al pasar de codigo a AnimatorController en Mario, se han utilizado las mismas condiciones para modificar los parámetros que afectan al cambio de estado.
El enemigo Goomba solamente tiene dos animaciones, andar y morir.
Para el enemigo Hammer Bro, al realizar un ataque, se hace la transicion de estado mediante código, ya que hay que sincronnizar el lanzamiento del martillo con la animación.
Sistemas de partículas
Los sistemas de particulas se han utilizado para enfatizar la muerte de los enemigos. Al chafarlos, una nube de polvo y, al quemarlos, una bola de fuego.
El sistema de particulas se crea como hijo del enemigo y se destruye a la vez que él.
IA Enemigos
Se mantiene el Goomba como enemigo sencillo, simplemente rebota en las paredes y puede caer al vacío
Y se ha añadido el enemigo Hammer Bro con el siguiente comportamiento:
- Cada segundo lanza un martillo.
- Si esta lejos del jugador, se acerca
- Si esta demasiado cerca del jugador, se aleja
- Intenta mantener la distancia para golpear con los martillos
- Si esta dentro de un rango de distancia, se mantiene quieto (para evitar movimientos erráticos)
- Siempre mira en dirección del jugador
Sistemas de disparo
Los sistemas de disparo diferentes han sido los siguientes:
Fireball: El clásico ataque de Mario, moviendose en linea recta y destruyéndose al impactar o en determinado tiempo.
Martillo: El ataque del Hammer Bro, sigue una parábola e ignora las colisiones con el entorno
Checkpoints
Se han colocado 3 checkpoints en el mapa. Al morir el jugador, reaparecera en el checkpoint hasta que se termine el tiempo (termina la partida), o hasta que llegue al final y gane la partida. Se mantiene el estado del juego y del jugador.
Tags y Layers
Se han utilizado tags y layers para muchas de las interacciones:
- Tags: EndOfLevel, Enemy, OutOfBounds, Fireball, PowerUp, Block y Checpoint
- Layers: Ground, Enemies, Items y UI
Por ejemplo, los powerups no interactuan con los enemigos.
Android
Se ha compilado para android y se ha conseguido ejecutar correctamente. El control del personaje es mediante mando y no pantalla táctil.
Video: https://youtu.be/9YXiJOgJnPY
Bloques
Se han implementado los 3 tipos de bloques de la práctica anterior.
- Ladrillo: solamente se puede romper con mario grande
- Interrogación: contiene una moneda o powerup
- Vacío: no contiene nada y no se puede romper
Super Champiñones
Se han implementado los super champiñones, haciendo que mario crezca (cambiando el Animation Controller) y, al recibir daño, volver a pequeño en vez de morir (ofreciendo invulnerabilidad).
Recursos utilizados
Los recursos externos utilizados han sido:
- Sprites de super mario bros (NES): https://www.mariouniverse.com/sprites-nes-smb/
- Sonidos de super mario bros (NES): https://themushroomkingdom.net/media/smb/wav
Tanto los sprites como los sonidos son propiedad intelectual de Nintendo.
Uso de IA
No se ha utilizado ninguna herramienta de IA.
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 PEC 3