Page 3 of 7

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Aug 27, 2019 7:39 am
by daniela.atencia
Sprint 7

Fecha de inicio: 27 de agosto

Fecha final: 3 de septiembre

Actividades:

- Detección de enemigos (Jhon Mayuza)
- Pooling de objetos - spawn (Freddy Muriel)
- Barra de vida y menú(Daniela Atencia)

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Aug 27, 2019 10:47 pm
by daniela.atencia
¿Qué hemos hecho?:

-Código de Bullet.

Code: Select all

public class Bullet : MonoBehaviour
{
    public Transform objetivo;
    public float velocidad = 20;

    private Transform myTransform;

    void Awake()
    {
        myTransform = transform;
    }

    void Start()
    {
        GameObject go = GameObject.FindGameObjectWithTag("Enemigo");
        objetivo = go.transform;
        // rotate the projectile to aim the target:
        myTransform.LookAt(objetivo);
    }

    // Update is called once per frame
    void Update()
    {
        // distance moved since last frame:
        float seguirObjetivo = velocidad * Time.deltaTime;
        // translate projectile in its forward direction:
        myTransform.Translate(Vector3.forward * seguirObjetivo);
    }
}
- Código de Bullet Spawner.

Code: Select all

public class BulletSpawner : MonoBehaviour
{

    public GameObject bala;
    public bool aparecer = false;
    public float tiempoReaparicion;
    public float frecuencia;

    void Start()
    {
        InvokeRepeating("Aparicion", tiempoReaparicion, frecuencia);
    }

    public void Aparicion()
    {
        Instantiate(bala, transform.position, transform.rotation);
        if (aparecer)
        {
            CancelInvoke("Aparicion");
        }
    }
}
- Código de enemigos. (en progreso)

¿Qué falta por hacer?:

-Programación y sprint de esta semana.

¿Qué problemas hemos tenido:

-Algunos errores en los códigos.

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Aug 27, 2019 10:49 pm
by JhonMayuza
Scripts usados hasta el momento en el proyecto.
Movimiento (Puntos de Guia)

Code: Select all

public class Waypoints : MonoBehaviour
{

    public Transform[] waypoints;

}
El codigo es utilizado para guardar todos los waypoints en un arreglo, de manera que el script de movimiento del enemigo pueda seguirlos cuando se encuentre en este estado.

Movimiento (Enemigo)

Code: Select all

public class Enemigo: MonoBehaviour
{

    public float velocidad;
    private Waypoints wpoints;

    private int contador;

    void Start()
    {
        wpoints = GameObject.FindGameObjectWithTag("Waypoints").GetComponent<Waypoints>();
    }

    void Update()
    {
        transform.position = Vector3.MoveTowards(transform.position, wpoints.waypoints[contador].position, velocidad * Time.deltaTime);

        if(Vector3.Distance(transform.position, wpoints.waypoints[contador].position) < 0.1f)
        {
            contador++;
        }
    }
}
Este codigo, sin embargo, tiene un problema, que es que al llegar al ultimo waypoint, el contador aumentara, pero ya no habra mas waypoints a los que hacer referencia, por lo que unity empezara a lanzar errores en masa, esto sera arreglado haciendo que el objeto sea destruido al llegar al ultimo waypoint, asi mismo como otras acciones que deba hacer al llegar a este estado.

Torre (Spawn de proyectiles)

Code: Select all

public class SpawnDeBalas : MonoBehaviour
{

    public GameObject bala;
    public bool aparecer = false;
    public float tiempoReaparicion;
    public float frecuencia;

    void Start()
    {
        InvokeRepeating("Aparicion", tiempoReaparicion, frecuencia);
    }

    public void Aparicion()
    {
        Instantiate(bala, transform.position, transform.rotation);
        if (aparecer)
        {
            CancelInvoke("Aparicion");
        }
    }
}
Este codigo es usado para probar el script de las balas, y su seguimiento al jugador.

Bala:

Code: Select all

public class Bala : MonoBehaviour
{
    public Transform objetivo;
    public float velocidad = 20;

    private Transform myTransform;

    void Awake()
    {
        myTransform = transform;
    }

    void Start()
    {
        GameObject go = GameObject.FindGameObjectWithTag("Enemigo");
        objetivo = go.transform;
        // rotate the projectile to aim the target:
        myTransform.LookAt(objetivo);
    }

    // Update is called once per frame
    void Update()
    {
        // distance moved since last frame:
        float seguirObjetivo = velocidad * Time.deltaTime;
        // translate projectile in its forward direction:
        myTransform.Translate(Vector3.forward * seguirObjetivo);
    }
}
El inconveniente de este script es que la bala falla el objetivo si este va a mucha velocidad, y no sabemos que comportamiento tendra si se hace la prueba con mas de 1 enemigo en el escenario.

El prototipo de pruebas se puede encontrar en el repositorio.

Re: MONSTER DEFENDERS - FDG Productions

Posted: Fri Aug 30, 2019 6:25 am
by xacarana
Muy bien, recuerden encapsular los miembros datos y si necesitan que las propiedades tengan propiedades de edición desde el editor de Unity, recuerden que hay una forma de hacerlo.

Image

Re: MONSTER DEFENDERS - FDG Productions

Posted: Fri Aug 30, 2019 9:16 pm
by daniela.atencia
¿Qué hemos hecho?

-menú



¿Qué falta por hacer?

-polling
-barra de vida

¿Qué problemas hemos tenido?

-problemas con la programación

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Sep 03, 2019 11:21 pm
by daniela.atencia
Sprint 8

Fecha de inicio: 3 de septiembre

Fecha final: 10 de septiembre

Actividades:

- Daño de enemigos (Jhon Mayuza)
- Mejorar oleadas (Freddy Muriel)
- Opción de mejora de torres(Daniela Atencia)

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Sep 03, 2019 11:39 pm
by fredy muriel
qué se ha hecho?

se continua con la elaboración del código y se hacen las correcciones mencionadas en clase, las cuales eran de como reciclar las unidades para que no crearan una sobrecarga en la memoria. para esto nos guiamos de los links de los vídeos que se dejan a continuación






código implementado

Code: Select all

public class Nueva_Oleada : MonoBehaviour
{
    public static ArrayList NuevaOleada = new ArrayList();

    // Start is called before the first frame update
    void Start()
    {
        GameObject unidad = GameObject.Find("unidad_01");
        GameObject temporal;
        Vector3 incremento = new Vector3(0, 1);
        Vector3 posicionInicial = unidad.transform.position;

        for (int i = 0; i < 10; i++)
        {
            temporal = (GameObject)Instantiate(unidad, posicionInicial + incremento, Quaternion.identity);
            posicionInicial = temporal.transform.position;
            NuevaOleada.Add(temporal);
        }
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

Code: Select all

 void Start()
        {
            posicion_Siguiente = ruta.transform.GetChild(0).position;

        }
        
    }

    // Update is called once per frame
    void Update()
    {
        Vector3 direccion = posicion_Siguiente - this.transform.position;
        this.transform.position += direccion * velocidad * Time.deltaTime;
        if (direccion.magnitude <= distancia_Punto)
        {
            if (indice+1 < ruta.transform.childCount)
            {
                indice++;
                posicion_Siguiente = ruta.transform.GetChild(indice).position;
                Debug.Log("xs" + posicion_Siguiente.x + "ys" + posicion_Siguiente.y);
            }

        }
    }
}
qué falta por hacer?

juntar los proyectos
el daño del enemigo

qué dificultades hemos tenido?

en la ejecución del código

Re: MONSTER DEFENDERS - FDG Productions

Posted: Fri Sep 06, 2019 7:46 pm
by daniela.atencia
¿Qué hemos hecho?

-Código de salud (para daño de personajes)

Code: Select all

public class Salud : MonoBehaviour
{
    public int salud = 20;

    void OnTriggerEnter(Collider collider)
    {
        if (collider.gameObject.CompareTag("Bala"))
        {
            salud -= 2;
            Destroy(gameObject);
        }
    }

    void Update()
    {
        if (salud == 0)
        {
            Destroy(this.gameObject);
        }
    }
}
-Intento de mejora de torres.

¿Qué falta por hacer?

-Hacer que funcione la mejora de torres y el sistema de monedas.

¿Qué dificultades hemos tenido?

-Comunicación.
-Errores en la programación.

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Sep 10, 2019 7:30 am
by xacarana
Image

Esta pendiente el avance del día de hoy, tienen hasta las 11:59, además deben publicar la planeación del nuevo sprint.

Re: MONSTER DEFENDERS - FDG Productions

Posted: Tue Sep 10, 2019 10:31 pm
by daniela.atencia
Sprint 9

Fecha de inicio: 10 de septiembre

Fecha final: 17 de septiembre

Actividades:

- Parte gráfica, ilustraciones (Jhon Mayuza)
- Mejora enemigos y oleadas(Freddy Muriel)
- Mejora vidas(Daniela Atencia)
- Preparación para presentación (todos)