En este informe se presenta el proyecto Pang que se encuentra disponible en GitHub bajo la licencia Apache 2.0. La fecha de publicación en GitHub fue el 11/12/2019.
El proyecto es una versión para Windows del juego de árcade Super Pang (1990). Este juego es un prototipo con un solo modo de juego.
- C# es un lenguaje de programación multiparadigma desarrollado y estandarizado por la empresa Microsoft como parte de su plataforma .NET, que después fue aprobado como un estándar por la ECMA (ECMA-334) e ISO (ISO/IEC 23270). C# es uno de los lenguajes de programación diseñados para la infraestructura de lenguaje común. Su sintaxis básica deriva de C/C++ y utiliza el modelo de objetos de la plataforma .NET, similar al de Java, aunque incluye mejoras derivadas de otros lenguajes.
- Unity es un motor de videojuego multiplataforma creado por Unity Technologies. Unity está disponible como plataforma de desarrollo para Microsoft Windows, Mac OS, Linux. La plataforma de desarrollo tiene soporte de compilación con diferentes tipos de plataformas. A partir de su versión 5.4.0 ya no permite el desarrollo de contenido para navegador a través de su plugin web, en su lugar se utiliza WebGL.
- Microsoft Visual Studio es un entorno de desarrollo integrado (IDE, por sus siglas en inglés) para Windows y macOS. Es compatible con múltiples lenguajes de programación, tales como C++, C#, Visual Basic .NET, F#, Java, Python, Ruby y PHP, al igual que entornos de desarrollo web, como ASP.NET MVC, Django, etc., a lo cual hay que sumarle las nuevas capacidades en línea bajo Windows Azure en forma del editor Mónaco. Visual Studio permite a los desarrolladores crear sitios y aplicaciones web, así como servicios web en cualquier entorno compatible con la plataforma .NET (a partir de la versión .NET 2002). Así, se pueden crear aplicaciones que se comuniquen entre estaciones de trabajo, páginas web, dispositivos móviles, dispositivos embebidos y videoconsolas, entre otros.
- GIMP: Editor fotográfico para todas las imágenes del juego
- Unity Asset Store: tienda de Unity donde descargue los audios y elementos necesarios para el juego.
-
Git: Sistema de control de versiones utilizado para llevar un registro de los cambios en el proyecto y evitar posibles errores a lo largo del proceso. Servidor externo donde se alojara una copia del proyecto. Git es un software de control de versiones diseñado por Linus Torvalds, pensando en la eficiencia, la confiabilidad y compatibilidad del mantenimiento de versiones de aplicaciones cuando estas tienen un gran número de archivos de código fuente. Su propósito es llevar registrode los cambios en archivos de computadora incluyendo coordinar el trabajo que varias personas realizan sobre archivos compartidos en un repositorio de código.
Github es una forja (plataforma de desarrollo colaborativo) para alojar proyectos utilizando el sistema de control de versiones Git. Se utiliza principalmente para la creación de código fuente de programas de ordenador. El software que opera GitHub fue escrito en Ruby on Rails. El código de los proyectos alojados en GitHub se almacena generalmente de forma pública.
Gitlab es un servicio web de forja, control de versiones y DevOps basado en Git. Además de gestor de repositorios, el servicioofrece también alojamiento de wikis y un sistema de seguimiento de errores, todo ello publicado bajo una licencia de código abierto, principalmente.
-
Diagrams: Draw.io es una herramienta muy útil para diseñar los diagramas del proyecto y representar gráficamente el funcionamiento y la estructura de tu proyecto. Es una aplicación de diagramación muy completa que te permite crear distintos tipos de diagramas, como diagramas de flujo, diagramas de clases o diagramas de red.
-
Notion: Notion es una herramienta muy útil para gestionar proyectos y organizar tu trabajo. Es una aplicación muy versátil que te permite crear bases de datos, páginas de notas y tablas, y te ofrece muchas opciones de personalización y colaboración.
Esquema relacional del proyecto
El objetivo del juego es eliminar gradualmente unas bolas que aparecen por toda la pantalla. Cuando el disparo del jugador impacta contra una bola, dicha burbuja se divide en dos burbujas de menor tamaño. Cuando las burbujas tienen el tamaño mínimo, si vuelven a ser disparadas, desaparecen. Además de dichas burbujas, hay muros, ítems u objetos y criaturas que nos ayudarán o entorpecerán en nuestra misión.
Tour Mode: En este modo, dedicado a los principiantes según el propio juego, iremos avanzando de nivel en nivel. Consiste en limpiar cada nivel o fase totalmente de las burbujas antes de que el tiempo se acabe, sin que ninguna burbuja entre en contacto con nosotros; si esto ocurre, perderemos una vida.
Los ítems aparecen al hacer explotar una burbuja
Todos los disparos al colisionar con una burbuja hacen que desaparezca
- Arpón: Disparo principal del juego. Al colisionar con el limite superior desaparece.
- Doble arpón: Permite disparar dos arpones a la vez.
- Gancho: Al colisionar con una plataforma permanece un determinado tiempo antes de desaparecer
- Metralleta: realiza tres disparos simultáneos con origen en el jugador y distintas direcciones, al colisionar desaparece.
- Reloj: paraliza las burbujas de la pantalla por un tiempo determinado.
- Reloj de arena: ralentiza por un momento la velocidad a la que las burbujas se mueven.
- Dinamita: explota todas las burbujas hasta su tamaño mínimo.
- Barrera Protectora: sirve como campo de protección. Nos protegerá del impacto de una bola. Si eso llegará a ocurrir, el escudo se rompería y el muñeco parpadearía durante unos segundos.
- Vidas: durante el juego, en distintos niveles e incluso bolas, se esconden vidas que sirven para aumentar la duración del juego y los intentos en caso de que una bola nos toque.
- Frutas: proporcionan puntos extra para el jugador. Si se espera a que lleguen al suelo, darán más puntos que si son disparadas en el aire.
Este tutorial esta realizado con la configuración por defecto.
Pulsar la tecla asignada a Start
Enter
Seleccionar entre los distintos modos de juego utilizando las teclas asignadas a derecha e izquierda y pulsar
Start
para iniciar el modo de juego
Ejemplo de Inicio de un nivel
- Actualización de sprites para que se vean mas actuales.
- Ajustar y exportar para Android.
- Creación de un tutorial personalizado.
- Implementación de nuevas mecánicas de juego.