M&R Estudio - Cavern Defense

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

Moderator: julianmartinez16

User avatar
tusapow
Posts: 15
Joined: Tue Jul 18, 2017 4:09 pm

Torre

Post by tusapow » Tue Sep 12, 2017 11:16 am

Aqui esta el diseño de la torre. Los colores pueden cambiar segun las pruebas que hagamos una vez hayamos integrado todos los sprites.
Image

¿Qué hicimos?
Terminamos la definición de una de las torres


¿Qué haremos?
Implementar el tileset al juego

¿Qué contratiempo hemos tenido?
Las torres no tienen mucha correlación con el juego.
Last edited by tusapow on Wed Sep 27, 2017 9:04 pm, edited 1 time in total.

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Sat Sep 16, 2017 8:51 am

ISOTIPOS DE LAS TORRES
Image

CODIGO DE LAS TORRES
Movimiento

Code: Select all

public class Movimiento : MonoBehaviour {
	
	public GameObject ruta;
	private int indice;
    private Vector3 posicion_inicial;
	private Vector3 posicion_siguiente;
	private float vel = 0.5f;
	private float distancia_punto = 0.3f;
    private bool esta_viva = true;

    // Use this for initialization
    void Start ()
	{
        posicion_inicial = this.transform.position;
        posicion_siguiente = ruta.transform.GetChild(0).position;
	}

	// Update is called once per frame
	void Update ()
	{
        Vector3 dir;

        if (esta_viva)
        {
            dir = posicion_siguiente - this.transform.position;
            this.transform.position += dir * vel * Time.deltaTime;

            if (dir.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);
                }
                else
                {
                    indice = 0;
                    this.transform.position = posicion_inicial;
                    posicion_siguiente = ruta.transform.GetChild(0).position;
                }
            }
        }
	}

    void OnTriggerEnter2D(Collider2D otro)
    {
        if (otro.gameObject.tag == "bala")
        {
            Destroy(otro.gameObject);
        }
    }

    public bool Esta_viva
    {
        get
        {
            return esta_viva;
        }

        set
        {
            esta_viva = value;
        }
    }


}
Poner Torres

Code: Select all

public class PonerTorres : MonoBehaviour
{
    public GameObject torre;

    void OnMouseDown()
    {
        GameObject temp;
        Vector3 pos = this.transform.position;
        pos.y = pos.y + .2f;
        temp = Instantiate(torre);
        temp.transform.position = pos;
        temp.layer = 5;
        Destroy(this.gameObject);
    }
}
Torres

Code: Select all

public class Torres : MonoBehaviour {

    private GameObject enemigo;
    private bool esta_activa;
    private float distancia_umbral = 2;

    void Start () {
	    	
	}

	void Update () {
        Enemigo = BuscarEnemigoCercano();
        if (Enemigo != null)
        {
            Debug.DrawLine(this.transform.position, enemigo.transform.position, Color.yellow);
        }
    }

    void Disparar()
    {
        GameObject obj = (GameObject)Instantiate(GameObject.Find("bala"), this.transform.position, Quaternion.identity);
        Bala bala = obj.GetComponent<Bala>();
        bala.ActivarBala(this);
    }

    GameObject BuscarEnemigoCercano()
    {
        ArrayList enemigos = Pooling.unidades;
        GameObject temp;
        foreach (object item in enemigos)
        {
            temp = (GameObject)item;
            if (Vector3.Distance(temp.transform.position, this.transform.position) < distancia_umbral)
            {
                return temp;
            }
        }
        return null;
    }

    public GameObject Enemigo
    {
        get
        {
            return enemigo;
        }

        set
        {
            enemigo = value;
        }
    }

}

Pooling

Code: Select all

public class Pooling : MonoBehaviour {

    public static ArrayList unidades = new ArrayList();

	// Use this for initialization
	void Start () {
        GameObject Movimiento = GameObject.Find("unidad_1");
        GameObject temp;
        Vector3 incremento = new Vector3(-100, -100);
        Vector3 posicion_actual = Movimiento.transform.position;
        for (int i = 0; i < 3; i++)
        {
            temp = (GameObject)Instantiate(Movimiento, posicion_actual + incremento, Quaternion.identity);
            posicion_actual = temp.transform.position;
            unidades.Add(temp);
        }
	}
	
	// Update is called once per frame
	void Update () {
		
	}
}
Bala

Code: Select all

public class Bala : MonoBehaviour {

    private GameObject objetivo;
    private float velocidad = 2;

	// Use this for initialization
	void Start () {
		
	}
	
	// Update is called once per frame
	void Update () {
        Vector3 direccion;
        if (objetivo != null) { 
            direccion = objetivo.transform.position - this.transform.position;
            this.transform.position += velocidad * direccion * Time.deltaTime;
        }
    }

    public void ActivarBala(Torres torre)
    {
        objetivo = torre.Enemigo;
    }
}
¿Qué hicimos?
Subimos la programación hasta ahora y los logos de las torres.


¿Qué haremos?
Implementar el tileset al juego y ya montar el tileset completo con el piso. Correción de bugs a la hora de lanzar flechas. más una interface del juego y de inicio.

¿Qué contratiempo hemos tenido?
Las otras torres no están listas todavía. Por falta de comunicación del equipo hubo un fallo a la hora de subir esta información, por ende hubo un retraso.
Last edited by JD.Mozo on Thu Sep 28, 2017 3:05 pm, edited 2 times in total.

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Wed Sep 20, 2017 9:21 pm

OBJETOS DE LA INTERFACE
Image
Con toda la gama de colores utilizada en el juego, más las figuras ya definidas del juego, botones por programar, etc.

PANTALLAS DE CARGA
Image
Image
Image

Septiembre 19
¿Qué hicimos?
Terminamos la interfaz básica, con logos. Falta implementar, más una caja de carga de la empresa, del juego.


¿Qué haremos?
Intentar implementar los menús al juego

¿Qué contratiempo hemos tenido?
Programar los menús de los juegos.
Last edited by JD.Mozo on Tue Sep 26, 2017 11:28 am, edited 1 time in total.

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Thu Sep 21, 2017 9:44 am

OBJETOS DEL BOTON PAUSA
Image
Estos son los objetos utilizaodos para el boton pausa

DISEÑO NO PROGRAMADO DEL TODO, DE COMO SE QUIERE A QUE SE VEA EL JUEGO
Interface del juego
Image
Pausa del juego
Image

Septiembre 21
¿Qué hicimos?
Trabajamos en la interfaz de pausa e inicio, más que implementamos finalmente el tileset al juego


¿Qué haremos?
Intentar implementar el código de todos los menús

¿Qué contratiempo hemos tenido?
Programar los menús de los juegos, y las oleadas de los enemigos.

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Wed Sep 27, 2017 11:46 pm

CORRECIONES
Tileset corregido
Image

Botones de colores corregidos
Image

Boton de pusa corregido
Image

isotipos de las torres
Image

Como se vería
Image

Imagen Conceptual
Image

Botón de pausa
Image

Septiembre 26
¿Qué hicimos?
Correcciones para la preentrega.

¿Qué haremos?
Algunos assets que aún faltan.

¿Qué contratiempo hemos tenido?
Con la programación aun tenemos unos errores y bugs
Last edited by JD.Mozo on Thu Sep 28, 2017 2:22 am, edited 1 time in total.

User avatar
tusapow
Posts: 15
Joined: Tue Jul 18, 2017 4:09 pm

Modificaciones

Post by tusapow » Thu Sep 28, 2017 1:04 am

Color definitivo para la torre de arqueros.
Image

Barraca.
Image

Base.
Image

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Thu Sep 28, 2017 2:24 am

Prentrega

Retroalimentación

https://www.slideshare.net/secret/EAGJOUR3hJnhJb

GamePlay

https://www.youtube.com/watch?v=e9Qsqfh ... e=youtu.be

Presentación

https://www.slideshare.net/JuanDiegoMoz ... a-80511468


Septiembre 28
¿Qué hicimos?
Preparamos la pre entrega más todas las correcciones.


¿Qué haremos?
Corregir y seguir con el proceso del juego

¿Qué contratiempo hemos tenido?
Estancamiento en la programación del juego
Last edited by JD.Mozo on Thu Oct 05, 2017 4:00 pm, edited 2 times in total.

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Tue Oct 03, 2017 1:58 pm

Imagen Fondo del menu
Image

Menu implemetado
Image

Octubre 3
¿Qué hicimos?
Se hizo el menu y se implementó la programación necesaria para que funcione. Ya se hizo un fondo para este


¿Qué haremos?
Implementar el botón de pausa con todos sus componentes.

¿Qué contratiempo hemos tenido?
Programación del juego, aún tenemos muchos bugs.

User avatar
tusapow
Posts: 15
Joined: Tue Jul 18, 2017 4:09 pm

Animaciones

Post by tusapow » Thu Oct 05, 2017 12:43 am

Enemy Walk Back
Image

Enemy Walk Front
Image

Archer Attack Front
Image

Archer Stand
Image

¿Qué hicimos?
Algunas animaciones que consideramos necesarios para la pre entrega y un re diseño de la torre de arqueros pero usamos la misma paleta de color

¿Qué haremos?
Terminar el resto de animaciones y revisar nuevamente alguno de los diseños hechos previamente

¿Qué contratiempos hemos tenido?
Han habido algunas dificultades integrando algunos assets en el juego

User avatar
JD.Mozo
Posts: 29
Joined: Tue Jul 18, 2017 4:12 pm

Re: M&R Estudio - Cavern Defense

Post by JD.Mozo » Thu Oct 19, 2017 9:27 am

PUNTAJE Y DAÑO DE TORRES
Image

ENEMIGOS
Image

Octubre 10
¿Qué hicimos?
Dar cuantas flechas necesita cada enemigo y cuantos puntos la construcción de cada torre.

¿Qué haremos?
Corregir bugs del juego

¿Qué contratiempo hemos tenido?
Falta de tiempo para que el equipo se reúna.
Last edited by JD.Mozo on Wed Nov 01, 2017 7:34 pm, edited 2 times in total.

Post Reply