Tortilla Wars

«Tortilla Wars» es el nombre de mi prototipo para la tercera Práctica de Evaluación Continua (PEC3) de la asignatura Programación de Videojuegos 2D del Máster Universitario en Diseño y Programación de Videojuegos de la UOC.

El objetivo de la práctica era desarrollar un juego de artillería en 2D, similar a Scorched Earth o Worms, utilizando los conocimientos adquiridos en el estudio del tercer módulo de la asignatura y realizando investigación por cuenta propia.

Vídeo explicativo

Vídeo versión Android

Versión jugable

Tortilla Wars by Ragart on itch.io

Repositorio en GitLab

UOC – M7.456 – PEC3 en GitLab

Cómo jugar

El objetivo del juego es vencer al resto de jugadores u oponentes. Para ello, los jugadores cuentan con un proyectil que se dispara de manera parabólica y que permite dañar al resto de jugadores u oponentes y destruir el terreno de juego.

El juego permite hasta 4 jugadores locales (pasando el control en cada turno) o controlados por la CPU.

En el caso de WebGL, el control se hace mediante teclado y ratón:

  • La flecha izquierda y la tecla A mueven al personaje hacia la izquierda.
  • La flecha derecha y la tecla D mueven al personaje hacia la derecha.
  • El espacio hace que el personaje salte.
  • El botón izquierdo del ratón dispara el proyectil hacia el punto en el que se haya hecho el clic, aunque siempre asegurando un ángulo mínimo de 45º. Si se mantiene pulsado antes de soltarlo, la fuerza del proyectil aumenta.

En el caso de Android, el control se hace mediante los botones en pantalla:

  • El botón con la flecha izquierda mueve al personaje hacia la izquierda.
  • El botón con la flecha derecha mueve al personaje hacia la derecha.
  • El botón con la flecha superior hace que el personaje salte.
  • El botón de disparo dispara el proyectil hacia la dirección en la que esté mirando el personaje en un ángulo de 45º. Si se mantiene pulsado antes de soltarlo, la fuerza del proyectil aumenta.

Desarrollo

A efectos de cumplir lo solicitado en las instrucciones, el prototipo incluye lo siguiente:

  • Cuatro personajes diferentes, cada uno con su propio proyectil, con más de dos animaciones y sistemas de partículas.
  • Los personajes controlados por la CPU calculan la ubicación del personaje más cercano y ajustan la dirección y la fuerza del disparo en base a ello.
  • Hay múltiples escenas, una clase persistente y una máquina de estados que permiten mostrar en pantalla datos del juego, incluyendo la vida de los jugadores y el estado de la partida.
  • Se utilizan etiquetas y capas para la detección de colisiones y para la ubicación de objetos y componentes dentro del código.
  • El juego se ha desarrollado tanto para WebGL como para Android, simplificando en este último caso algunas de las acciones.

De manera adicional, se han usado componentes como Cinemachine o el nuevo InputSystem para obtener un mayor control sobre el juego.

Problemas conocidos

  • En raras ocasiones, el juego salta el turno de un jugador.
  • En la versión móvil, los controles en pantalla no desaparecen en el turno de los jugadores controlados por la CPU.

Créditos

Fuentes

Imágenes y animaciones

Sonidos

Música

Referencias

C#

Unity – General

Lanzamiento de objetos / cálculo de coordenadas

Android / Mobile

Tilemaps

Cinemachine

New InputSystem

Deja un comentario