FrankenLabs-Tower defense de Horror

Programación Orientada a Objetos (Tower defense - kingdom rush)

Moderator: julianmartinez16

User avatar
kriptonauta
Posts: 29
Joined: Tue Jan 22, 2019 6:36 am

FrankenLabs-Tower defense de Horror

Post by kriptonauta » Tue Jul 16, 2019 7:29 am

Nombre del estudio:FrankenLabs
Integrantes del equipo:
  • Juan José Mira
  • Javier Santiago Arango
Información de la propuesta

Sinopsis del juego:
Vive la experiencia de ser un monstruo de película. Lucha contra la horda enardecida del pueblo que busca invadir tu castillo, haz uso de tus habilidades sobrenaturales y equípate con torres inspiradas en los clásicos de terror.
Repositorio:https://github.com/Kriptonauta001/FrankenLabs

Backlog:
  • Semana 1: Diseño de propuesta de juego, personajes, narrativa de juego y búsqueda de referentes. Arte conceptual en bocetos Búsqueda de herramientas y tutoriales para el proceso de montaje (Research)
  • Semana 2: Diseño del nivel en papel. (Kishōtenketsu). Avances en programación del movimiento de la horda.
  • Semana 3: Avances en programación del sistema de torretas. (Detección de Enemigos)
  • Semana 4: Avances en programación del sistema de torretas. (Shooting)
  • Semana 5: Avances en programación del sistema de torretas. (Rangos y tipos de torretas)
  • Semana 6: Avances en programación de tipos de torretas 2.
  • Semana 7: Avances de programación de tipos de enemigos.
  • Semana 8: Avances de programación de tipos de enemigos 2.
  • Semana 9: Avances en programación del HUD.
  • Semana 10: Avances en programación del menú y pantalla de inicio.
  • Semana 11: Avances en programación del sistema de mejoras.
  • Semana 12: Digitalización arte y conceptos del juego. Integración arte digital-juego.
  • Semana 13: Digitalización arte y conceptos del juego. Integración arte digital-juego 2.
  • Semana 14: Digitalización arte y conceptos del juego. Integración arte digital-juego 3.
  • Semana 15: Audio y efectos sonoros, cinemáticas básicas opcionales.
  • Semana 16: Revisión final del juego, Generación del ejecutable del juego.
Javier Santiago Arango :idea:
– La existencia es azarosa. No tiene ningún patrón seguro que podamos imaginar después de haberlo observado fijamente por demasiado tiempo.
Programación orientada a objetos

User avatar
juan.mira1
Posts: 5
Joined: Tue Jul 16, 2019 6:25 am

Re: FrankenLabs-Tower defense de Horror

Post by juan.mira1 » Sat Jul 20, 2019 3:06 pm

Sprint Semana 1
De: martes 16 de julio.
Hasta: viernes 19 de julio.

¿Qué hemos hecho?

Se diseñó el logo de la empresa, definimos el backlog, encontramos referentes de la estética del juego, se creó la narrativa del juego.
Se encontraron dos listas de reproducción en youtube sobre la programación de Tower Defense en Unity, los cuales nos servirán de apoyo.
  • Logo de la empresa: Javier Santiago Arango
  • Bocetos: Javier Santiago Arango
  • Narrativa: Juan José Mira
  • Referentes: Javier Santiago Arango, Juan José Mira
  • Búsqueda tutoriales:Juan José Mira

¿Qué vamos a hacer?
Se diseñará el/los niveles en papel (Kishōtenketsu). También se empezará con al programación del movimiento de los enemigos.

¿Qué dificultades tuvimos?
Hasta ahora no se han presentado dificultades.

Narrativa

Cada año en Yugoslavia, se celebra una convención muy conocida por los amantes del terror y el horror, la Monster-Con, donde aquellos entusiastas del cine y la literatura, se reúnen para compartir y disfrazarse de eso que tanto los apasiona. Pero este año era especial, el líder de un grupo religioso de la ciudad, quien tiene bastante seguidores y recursos, invitó a varios actores y actrices para que interpretasen a las criaturas clásicas del cine de horror, y fuesen las estrellas este año en la Monster-Con. Pero este líder religioso trama algo, desea que su séquito y su número de fanáticos aumenten, regando el rumor de que los monstruos son reales y tornando así la ira de los demás pueblerinos contra ellos. Los actores, quienes se toman muy en serio su papel, creen que aquellas personas que los persiguen iracundos, hacen parte de la actuación, y les siguen la corriente, defendiendo así, la convención de los fanáticos religiosos.

Link Tutoriales






Diseños preliminares torres


Nombre y función torres (Izquierda - Derecha)
  • Torre Marciana: Gran rango y velocidad, pero poco daño.
  • Torre Momia: Genera esbirros que atacan a los enemigos.
  • Torre Frankenstein: Rango medio, dispara rayos y paraliza.
Image

Nombre y función torres (Izquierda - Derecha)
  • Torre Laguna: Genera un pantano ralentizante, además dispara burbujas de poco daño.
  • Torre Vampírica: Genera una nube de murciélagos que envenenan a los enemigos, y hace daño residual.
  • Torre Fantasmagórica: Rango medio, si un enemigo muere dentro del rango, este resucita para tornarse un aliado.
Image
Last edited by juan.mira1 on Tue Jul 23, 2019 7:31 am, edited 5 times in total.
Juan José Mira Álvarez
Programación y Diseño Orientado a Objetos
2019-2
"Life ... uh, finds a way".
Dr. Ian Malcolm

User avatar
kriptonauta
Posts: 29
Joined: Tue Jan 22, 2019 6:36 am

Re: FrankenLabs-Tower defense de Horror

Post by kriptonauta » Tue Jul 23, 2019 6:06 am

Sprint Semana 2
De: martes 23 de julio.
Hasta: viernes 26 de julio.

¿Qué hemos hecho?
  • Diseño en papel de los 3 niveles de juego
    Primer nivel, con un diseño simple, una salida de enemigos y una sola llegada. 6 torres
    Image
    Segundo nivel, con un diseño simple, dos salidas de enemigos y os llegadas. 6 torres
    Image
    Tercer nivel, con un diseño sumamamente complejo, tres salidas de enemigos y dos llegadas. 8 torres
    Image
  • Programamos la cámara del escenario, que se mueve horizontal y verticalmente por medio de los cursores

    Code: Select all

    [SerializeField] float speed = 8;
        [SerializeField] string vertical = "Vertical", horizontal = "Horizontal";
    
        // Arriba se declararon 3 variables serializadas: una velocidad en float y dos strings correspondientes a movimiento vertical y horizontal
        void Start()
        {
            
        }
    
        // Ahora se procede por medio de las variables previamente nombradas a declarar dos vectores3, que se moveran de acuerdo
        //al producto entre la velocidad previamente declarada, una variable standar de unity y un getAxis
    
        void Update()
        {
            Vector3 speedvector = speed * transform.forward * Input.GetAxis(vertical);
            transform.position += speedvector * Time.deltaTime;
            Vector3 speedvector2 = speed * transform.right * Input.GetAxis(horizontal);
            transform.position += speedvector2 * Time.deltaTime;
        }
¿Qué hay por hacer?
  • Avances en programación del movimiento de la horda.
  • Avances en programación del sistema de torretas. (Detección de Enemigos)
Last edited by kriptonauta on Tue Aug 27, 2019 6:24 am, edited 2 times in total.
Javier Santiago Arango :idea:
– La existencia es azarosa. No tiene ningún patrón seguro que podamos imaginar después de haberlo observado fijamente por demasiado tiempo.
Programación orientada a objetos

User avatar
juan.mira1
Posts: 5
Joined: Tue Jul 16, 2019 6:25 am

Re: FrankenLabs-Tower defense de Horror

Post by juan.mira1 » Tue Jul 30, 2019 6:57 am

Sprint #2
De: Lunes 22 de Julio.
Hasta: Viernes 26 de Julio.
¿Qué hemos hecho?
  • Avances modelo 3D de la Torre.
  • Se comenzó la programación del movimiento de los enemigos.
  • Se comenzó la programación de Menú inicio y Selección de niveles.
¿Qué vamos a hacer?
  • Empezaremos con la programación de Detección de Enemigos.
  • Continuación programación Menú de inicio y Selección de niveles.
¿Qué dificultades tuvimos?
  • Se dificultó un poco el ingresar al proyecto compartido de Unity, debido a las diferentes versiones descargadas.
Last edited by juan.mira1 on Fri Aug 30, 2019 5:23 am, edited 4 times in total.
Juan José Mira Álvarez
Programación y Diseño Orientado a Objetos
2019-2
"Life ... uh, finds a way".
Dr. Ian Malcolm

User avatar
Ivan19
Posts: 5
Joined: Fri Jul 19, 2019 6:07 am

Re: FrankenLabs-Tower defense de Horror

Post by Ivan19 » Tue Jul 30, 2019 7:42 am

Sprint 3
De 29 de Julio
Hasta 5 de Agosto

Vídeos de apoyo:



¿Qué se hizo?
  • Culminamos la programación del menú, cambio de escenas y opciones

    Código para el cambio de escenas:

    Code: Select all

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.SceneManagement;
    
    public class controlador : MonoBehaviour
    {
       public void cambiarEscena(string nombre)
        {
            print("cambio a la escena " + nombre);
            SceneManager.LoadScene(nombre);
        }
        public void Salir()
        {
            print("Saliendo del jugo");
            Application.Quit();
        }
    }
Last edited by Ivan19 on Tue Aug 27, 2019 6:41 am, edited 1 time in total.
Iván Felipe Osorio Ortega
programacion y diseño orientado a objetos
2019 02

User avatar
juan.mira1
Posts: 5
Joined: Tue Jul 16, 2019 6:25 am

Re: FrankenLabs-Tower defense de Horror

Post by juan.mira1 » Sat Aug 03, 2019 8:20 am

Sprint #3
De: Lunes 29 de Julio
Hasta:Viernes 2 de Agosto
¿Qué hemos hecho?
  • Culminación de la programación de Movimiento Enemigos.
  • Culminación de la programación de Menú Inicio.
  • Modelo 3D de la Torre Drácula.
¿Qué vamos a hacer?
  • Continuación Programación Detección de torres

¿Qué dificultades se presentaron?
  • Tuvimos dificultades con el script del Movimiento Enemigos, dado que saltaban errores de declaración.
Script Movimiento Enemigos

Code: Select all

using System.Collections.Generic;
using UnityEngine;

public class EnemyMovement : MonoBehaviour
{
    public float speed = 10f;

    private Transform target;
    private int wavepointIndex = 0;


    void Start()
    {
        target = Waypoints.waypoints[0]; 
    }

    void Update()
    {
        Vector3 dir = target.position - transform.position;
        transform.Translate(dir.normalized * speed * Time.deltaTime, Space.World);


        if (Vector3.Distance(transform.position,target.position)<=0.2f)
        {
            GetNextWaypoint();
        }

    }

    void GetNextWaypoint()
    {

        if (wavepointIndex >= Waypoints.waypoints.Length-1)
        {
            Destroy(gameObject);
            //return;
        }
        wavepointIndex++;
        target = Waypoints.waypoints[wavepointIndex];
    }
}
Modelo 3D Torre Drácula
Image
Last edited by juan.mira1 on Fri Aug 30, 2019 5:24 am, edited 2 times in total.
Juan José Mira Álvarez
Programación y Diseño Orientado a Objetos
2019-2
"Life ... uh, finds a way".
Dr. Ian Malcolm

User avatar
Ivan19
Posts: 5
Joined: Fri Jul 19, 2019 6:07 am

Re: FrankenLabs-Tower defense de Horror

Post by Ivan19 » Tue Aug 06, 2019 9:31 pm

Ejercicio de clases

Image
Iván Felipe Osorio Ortega
programacion y diseño orientado a objetos
2019 02

User avatar
juan.mira1
Posts: 5
Joined: Tue Jul 16, 2019 6:25 am

Re: FrankenLabs-Tower defense de Horror

Post by juan.mira1 » Tue Aug 06, 2019 11:42 pm

Ejercicio en clase de diseño de clases
Image
Last edited by juan.mira1 on Fri Aug 30, 2019 5:22 am, edited 1 time in total.
Juan José Mira Álvarez
Programación y Diseño Orientado a Objetos
2019-2
"Life ... uh, finds a way".
Dr. Ian Malcolm

User avatar
kriptonauta
Posts: 29
Joined: Tue Jan 22, 2019 6:36 am

Re: FrankenLabs-Tower defense de Horror

Post by kriptonauta » Wed Aug 07, 2019 8:20 pm

Ejercicio en clase de diseño de clases
Image
Image
Last edited by kriptonauta on Tue Aug 27, 2019 6:42 am, edited 2 times in total.
Javier Santiago Arango :idea:
– La existencia es azarosa. No tiene ningún patrón seguro que podamos imaginar después de haberlo observado fijamente por demasiado tiempo.
Programación orientada a objetos

User avatar
kriptonauta
Posts: 29
Joined: Tue Jan 22, 2019 6:36 am

Re: FrankenLabs-Tower defense de Horror

Post by kriptonauta » Wed Aug 07, 2019 9:29 pm

Sprint Semana 4
De: lunes 5 de Agosto
Hasta: viernes 9 de Agosto

¿Qué hemos hecho?
  • Se comenzó con la programación de las torres (Diseño de clase torre).(Javier)
    Image
  • Se avanzó con la conceptualización de los enemigos dentro del juego.(Javier)
    Image
    En la imagen de arriba se pueden ver tres de los enemigos, que de izquierda a derecha son:
  • El curandero o monje, que cuenta con un daño mínimo, pero su gran vitalidad y capacidad de curar aliados lo hacen un enemigo formidable.
  • El aldeano enojado, que tiene estadísticas neutras, en pocas palabras, el enemigo básico.
  • El sabueso, fiel compañero de nuestro aldeano, con menos vitalidad pero una velocidad y daño formidables, representado un dolor de cabeza para el jugador si hay demasiados enemigos y uno de estos logra escapar.
    Image
    En la imagen de arriba se pueden ver tres de los enemigos, que de izquierda a derecha son:
  • El panadero, un robusto y poco amigable hombre, que cuenta con una salud y daño sobrehumano, pero su sobrepeso lo vuelve un hombre torpe y lento.
  • La horda de aldeanos, que básicamente son aldeanos que van en grupo, mas rápidos y fuertes.
  • Avances en el contador de salud.(Ivan)
¿Qué vamos a hacer?
  • Programación de torres (Disparo)
  • Correcciones en el desplazamiento de los enemigos.
¿Qué dificultades hemos tenido?
  • Integración correcta de los modelos 3D para el juego y el programa
Last edited by kriptonauta on Tue Aug 27, 2019 5:35 am, edited 3 times in total.
Javier Santiago Arango :idea:
– La existencia es azarosa. No tiene ningún patrón seguro que podamos imaginar después de haberlo observado fijamente por demasiado tiempo.
Programación orientada a objetos

Post Reply