Neomporio/Benzo games

En esta sección se realizará el seguimiento de los proyectos de semestre, con los respectivos avances periódicos según lo definido en la metodología SCRUM.

Moderator: julianmartinez16

User avatar
AltSerna
Posts: 18
Joined: Tue Jan 21, 2020 10:11 am

Re: Neomporio/Benzo games

Post by AltSerna » Thu Feb 27, 2020 11:49 pm

SPRINT 6
febrero 27 del 2020
  • Tomás Álvarez
  • Alejandro Serna
¿Qué se hizo?
Tomás

Movimiento de plataforma (plataforma personalizada)
Image

Script del movimiento de la plataforma
Image

Se buscó el Sprite y animación de un enemigo
Image

Alejandro

Sprites cortados de animación de moneda
Image

Sprites en las monedas, animación y contador de ellas
Image

codigo de adelanto del salto
Image

¿Qué se va a hacer?
Se terminará el salto, se agregará el sonido de las monedas y se programará el movimiento del enemigo
Todo esto lo haremos por medio del unity collab ambos integrantes.

¿Qué dificultades tuvimos?
El sistema de salto que estamos usando es un poco largo pero mas efectivo para luego usar el "animator" de unity, por ende el proceso para agregar este es más lento y adicional el código del mismo dio algunos pequeños problemas
Alejandro Serna Gómez
Estudiante de Fundamentos de programación 2020-1

User avatar
literalvarez
Posts: 11
Joined: Tue Jan 21, 2020 10:09 am
Contact:

Re: Neomporio/Benzo games

Post by literalvarez » Tue Mar 03, 2020 11:40 pm

Sprint Semana 7
MARTES
03 de marzo del 2020
¿Qué se hizo?
Alejandro Serna:
  • El personaje gira en la direccion que camina y se agrego el salto finalizado (Tiene estado grounded)

Tomas Alvarez:
  • Se agrego sonido de la moneda (evidenciado en el video de arriba)
  • Se cambio el fondo del juego por un PNG para agregar el parallax a la caverna y se quito el fondo anterior de la caverna
    Image
  • Ambos trabajmos el pick up y el movimiento en el mismo script

    Code: Select all

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    
    public class control : MonoBehaviour
    {
        private Rigidbody2D myrigidbody;
        public Text CountText;
        private int count;
        public float Jumpforce;
        private bool landed;
    
    
        void Start()
        {
            myrigidbody = GetComponent<Rigidbody2D>();
            count = 0;
            SetCountText();
        }
    
        private void OnCollisionEnter2D(Collision2D c)
        {
            landed = c.gameObject.tag.Equals("floor");
        }
    
        private void Update()
        {
            if (Input.GetKey(KeyCode.Space) && landed)
            {
                myrigidbody.velocity = new Vector2(myrigidbody.velocity.x,Jumpforce);
                landed = false;
            }
        }
    
        void FixedUpdate()
        {
            float horizontal = Input.GetAxis("Horizontal");
    
            handlemovement(horizontal);
        }
    
    
        private void handlemovement(float horizontal)
        {
            myrigidbody.velocity = new Vector2(horizontal, myrigidbody.velocity.y);
            if (myrigidbody.velocity.x > 0)
            {
                myrigidbody.transform.localScale = new Vector2(1, 1);
            }
            if (myrigidbody.velocity.x < 0)
            {
                myrigidbody.transform.localScale = new Vector2(-1, 1);
            }
        }
    
    
        void OnTriggerEnter2D(Collider2D other)
        {
            if (other.gameObject.CompareTag("pickup"))
            {
                other.gameObject.SetActive(false);
                count = count + 1;
                SetCountText();
                AudioSource sound = gameObject.GetComponent<AudioSource>();                     // SE AGREGO SONDIO DE LAS MONEDAS
                sound.Play();
            }
        }
    
        void SetCountText()
        {
            CountText.text = "count: " + count.ToString();
        }
    }
    
    
¿Qué se va a hacer?
  • Alejandro Serna: configuracion del paralax de la camara
  • Tomas Alvarez: programacion y configuracion del animator del personaje
¿Qué dificultades tuvimos?
Fue necesario hacer grandes cambios en el script del salto pero al final funciono perfecto
Last edited by literalvarez on Tue Mar 10, 2020 11:56 pm, edited 2 times in total.
Estudiante:
Tomas Alvarez Martinez (Fundamentos de programación)

User avatar
AltSerna
Posts: 18
Joined: Tue Jan 21, 2020 10:11 am

Re: Neomporio/Benzo games

Post by AltSerna » Thu Mar 05, 2020 11:46 pm

Sprint semana 7
5 de marzo del 2020
  • Tomás Álvarez
  • Alejandro Serna
¿Qué se hizo?
  • Tomás
Realizó el animator del personaje corriendo en ambas direcciones, ya solo falta el animator del salto y el aire

https://youtu.be/60qm4WrZ-Q0
  • Alejandro
Buscó muchas referencias de parallax sin embargo ninguno tenía la función que buscábamos
No obstante con ayuda de Tomás encontró uno que si puede ayudarnos con el desarrollo

https://www.youtube.com/watch?v=2jTY11Am0Ig

¿Qué se hará?
Tomás terminará el animator del salto
Alejandro arreglará el parallax y empezará con el primer enemigo

¿Qué dificultades tuvimos?
Alejandro tuvo muchos problemas con el parallax, trató de usar muchos métodos y recursos sin embargo ninguno podía ser útil para el proyecto, adicionalmente, Alejandro tuvo algunos inconvenientes personales que también cortaron su tiempo

A su vez esta semana ambos integrantes teníamos muchos trabajos para esta semana, lo que significó no poder invertir mucho en los adelantos del dia de hoy, afortunadamente, los adelantos del sprint anterior fueron buenos y abundantes.
Alejandro Serna Gómez
Estudiante de Fundamentos de programación 2020-1

User avatar
xacarana
Site Admin
Posts: 1248
Joined: Fri Jan 15, 2016 6:13 pm

Re: Neomporio/Benzo games

Post by xacarana » Tue Mar 10, 2020 10:17 am

Image

Muy bien, pendiente la publicación de hoy.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
literalvarez
Posts: 11
Joined: Tue Jan 21, 2020 10:09 am
Contact:

Re: Neomporio/Benzo games

Post by literalvarez » Tue Mar 10, 2020 11:51 pm

Sprint Semana87
MARTES
10 de marzo del 2020
¿Qué se hizo?
[bTomas Alvarez:[/b]
  • El personaje ya animacion al saltar
  • cambio el mapa anterior por problemas de tamaño y calidad(Tambien toco cambiar los colliders)
    Mapa viejo vs Mapa nuevo
    Image
    Nuevo mapa con nuevos colliders
    Image
Alejandro Serna:
  • Personaje con movimiento lateral (Mismo video de arriba)
  • Script del movimiento del enemigo

    Code: Select all

    [12:03 AM, 3/11/2020] Serna: using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    
    public class patro : MonoBehaviour
    {
        public float speed;
        public float raydist;
        private bool movingright;
        public Transform grounddetect;
    
        void Start()
        {
           
        }
    
        void Update()
        {
            transform.Translate(Vector2.right * speed * Time.deltaTime);
            RaycastHit2D groundcheck = Physics2D.Raycast(grounddetect.position, Vector2.down, raydist);
            if (groundcheck.collider == false)
            {
                if (movingright)
                {
                    transform.eulerAngles = new Vector3(0, -180, 0);
                    movingright = false;
                }
                else
                {
                    transform.eulerAngles = new Vector3(0, 0, 0);
                    movingright = true;
                }
            }
        }
    }
    
¿Qué se va a hacer?
  • Alejandro Serna: Hacer que el enemigo al tocar al jugador reinice la escena
  • Tomas Alvarez: Organizar sprites y colliders del mapa y el resto de las plataformas que faltan
¿Qué dificultades tuvimos?
Tuvimos unos problemas con el collab por cambiar el fondo y nos toco volver a hacer unas cosas, varios videos sobre el moviemiento del enemigo estaban en versiones anteriores de unity y generaron problemas
Estudiante:
Tomas Alvarez Martinez (Fundamentos de programación)

User avatar
AltSerna
Posts: 18
Joined: Tue Jan 21, 2020 10:11 am

Re: Neomporio/Benzo games

Post by AltSerna » Thu Mar 12, 2020 11:45 pm

Sprint semana 8
Jueves 12 de marzo del 2020
  • Tomás Álvarez
  • Alejandro Serna
¿Qué se hizo?
Tomás
  • Se removieron todas las plataformas del mapa
    Image
  • Se agrego 5 nuevas plataformas como prefabs
    Image
Alejandro
  • Se agregó movimiento inteligente al enemigo, reacciona a los vacíos para cambiar de dirección
  • Se le añadió el animator del enemigo
    (evidencias en siguiente video)
  • Se empezó a testear el sistema de vidas y game over

    Code: Select all

    using System.Collections;
    using System.Collections.Generic;
    using UnityEngine;
    using UnityEngine.UI;
    using UnityEngine.SceneManagement;
    
    public class control : MonoBehaviour
    {
        private Rigidbody2D myrigidbody;
        public Text CountText;
        private int count;
        public float Jumpforce;
        private bool landed;
        public Animator anim;
        public Transform respawn;
        private int lifes;
    
        void Start()
        {
            anim.SetInteger("Walk", 0);
            myrigidbody = GetComponent<Rigidbody2D>();
            count = 0;
            SetCountText();
            lifes = 3;
        }
    
        private void OnCollisionEnter2D(Collision2D c)
        {
            landed = c.gameObject.tag.Equals("floor");
            anim.SetInteger("Jump", 0);
        }
    
        private void Update()
        {
            if (Input.GetKey(KeyCode.Space) && landed)
            {
                anim.SetInteger("Jump", 1);
                myrigidbody.velocity = new Vector2(myrigidbody.velocity.x,Jumpforce);
                landed = false;
            }
        }
    
    
        void FixedUpdate()
        {
            float horizontal = Input.GetAxis("Horizontal");
    
            handlemovement(horizontal);
        }
    
    
        private void handlemovement(float horizontal)
        {
    
            myrigidbody.velocity = new Vector2(horizontal, myrigidbody.velocity.y);
    
            if (myrigidbody.velocity.x == 0)
            {
                anim.SetInteger("Walk", 0);
            }
            else
            {
                if (myrigidbody.velocity.x > 0)
                {
                    anim.SetInteger("Walk", 1);
                    myrigidbody.transform.localScale = new Vector2(1, 1);
                }
                if (myrigidbody.velocity.x < 0)
                {
                    anim.SetInteger("Walk", 1);
                    myrigidbody.transform.localScale = new Vector2(-1, 1);
                }
            }
        }
    
    
        void OnTriggerEnter2D(Collider2D other)
        {
            if (other.gameObject.CompareTag("pickup"))
            {
                other.gameObject.SetActive(false);
                count = count + 1;
                SetCountText();
                AudioSource sound = gameObject.GetComponent<AudioSource>();
                sound.Play();
            }
            
            if (other.gameObject.CompareTag("enemy"))
            {
                myrigidbody.position = respawn.transform.position;
                lifes = lifes--;
                if (lifes == 0)
                {
                    SceneManager.LoadScene("gameover");
                }
            }
        }
    
        void SetCountText()
        {
            CountText.text = "count: " + count.ToString();
        }
    }
    

https://youtu.be/nduWCop7BJI

¿Qué se va a hacer?
Tomás terminara de arreglar dimensiones y ubicaciones de las plataformas del mapa
Alejandro terminara el sistema de vidas, game over y empezará a programar los charcos de lava

¿Qué dificultades tuvimos?
Por parte del código, Alejandro tuvo que repetir muchas veces el código del movimiento del enemigo por falta de conocimiento de algunas funciones de unity, al final con unas líneas de código se pudo corregir. Adicional se supone que el sistema de game over ya debería estar funcionando, sin embargo aun no se encuentra el por qué no funciona.
Y Tomás tuvo problemas con algunas escalas y dimensiones del fondo del nivel y de los enemigos, por ahora tenemos una solución temporal, quizás luego hagamos nuevos movimientos en estos.
Alejandro Serna Gómez
Estudiante de Fundamentos de programación 2020-1

User avatar
literalvarez
Posts: 11
Joined: Tue Jan 21, 2020 10:09 am
Contact:

Re: Neomporio/Benzo games

Post by literalvarez » Tue Mar 17, 2020 11:47 pm

Sprint Semana87
MARTES
10 de marzo del 2020
¿Qué se hizo?
[b}Tomas Alvarez:[/b]
  • Se pusieron todas las plataformas y se agregaron monedas al rededor de todo el mapa (todo esta en el video)
Alejandro Serna:
  • Puso que las plataformas se traspasaran por debajo, le puso una velocidad publica a tom y un Sprite de prueba para la lava. (todo esta en le video)


¿Qué se va a hacer?
  • Alejandro Serna: Alejandro terminara el sistema de vidas, game over y empezará a programar los charcos de lava
  • Tomas Alvarez: Prgramar los enemigos para que mueran al saltarles encima
¿Qué dificultades tuvimos?
Alejandro tuvo problemas con programar el hud y el game over, esta buscando otro codigo para hacerlo
Estudiante:
Tomas Alvarez Martinez (Fundamentos de programación)

User avatar
AltSerna
Posts: 18
Joined: Tue Jan 21, 2020 10:11 am

Re: Neomporio/Benzo games

Post by AltSerna » Thu Mar 19, 2020 11:47 pm

Sprint semana 8
Jueves
19 de marzo del 2020

¿Qué se hizo?
Tomás
hizo que el jugador pudiera aplastar a los enemigos y que ellos desaparecieran

https://youtu.be/Yiu33uiJLUk

Alejandro
Cambió el sprite de la lava y hizo un arreglo del codigo para separarlo de los enemigos aplastados
(evidencias en el primer video)

¿Qué se va a hacer?
El trabajo será en conjunto y está por definirse cada pequeña cosa

Se retocaran las diapositivas para la preentrega del proyecto y se arreglará el sistema de conteo de puntos y monedas

¿Qué dificultades tuvimos?
Afortunadamente no se tuvo ningún problema para el desarrollo del juego esta semana, todo transcurrió de manera perfecta con adelantos abundantes

Como comentario adicional, el juego ya casi está terminado
Alejandro Serna Gómez
Estudiante de Fundamentos de programación 2020-1

User avatar
AltSerna
Posts: 18
Joined: Tue Jan 21, 2020 10:11 am

Re: Neomporio/Benzo games

Post by AltSerna » Sun Mar 22, 2020 12:31 pm

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.SceneManagement;

public class control : MonoBehaviour
{
    private Rigidbody2D myrigidbody;
    public float Jumpforce;
    private bool landed;
    public Animator anim;
    public Transform respawn;
    public float speed;
    public int lifes;
    public Text CountText;
    private int count;
    public Text monedas;
    private int mone;

    public GameObject life1;
    public GameObject life2;
    public GameObject life3;

    void Start()
    {
        anim.SetInteger("Walk", 0);
        myrigidbody = GetComponent<Rigidbody2D>();
        lifes = 3;
        count = 0;
        CountText.text = "Puntos: " + count.ToString();
        mone = 0;
        monedas.text = mone.ToString();
    }

    private void OnCollisionEnter2D(Collision2D c)
    {
        landed = c.gameObject.tag.Equals("floor");
        anim.SetInteger("Jump", 0);

        if (c.gameObject.tag == "Player")
        {

        }
    }

    private void Update()
    {
        if (Input.GetKey(KeyCode.Space) && landed)
        {
            anim.SetInteger("Jump", 1);
            myrigidbody.velocity = new Vector2(myrigidbody.velocity.x, Jumpforce);
            landed = false;
        }
    }


    void FixedUpdate()
    {
        float horizontal = Input.GetAxis("Horizontal");

        handlemovement(horizontal);
    }


    private void handlemovement(float horizontal)
    {

        myrigidbody.velocity = new Vector2(horizontal * speed, myrigidbody.velocity.y);

        if (myrigidbody.velocity.x == 0)
        {
            anim.SetInteger("Walk", 0);
        }
        else
        {
            if (myrigidbody.velocity.x > 0)
            {
                anim.SetInteger("Walk", 1);
                myrigidbody.transform.localScale = new Vector2(1, 1);
            }
            if (myrigidbody.velocity.x < 0)
            {
                anim.SetInteger("Walk", 1);
                myrigidbody.transform.localScale = new Vector2(-1, 1);
            }
        }
    }



    void OnTriggerEnter2D(Collider2D other)
    {

        if (other.gameObject.CompareTag("pickup"))
        {
            other.gameObject.SetActive(false);
            AudioSource sound = gameObject.GetComponent<AudioSource>();
            sound.Play();
            mone++;
            monedas.text = mone.ToString();
            count = count + 100;
            CountText.text = "Puntos: " + count.ToString();
        }

        if (other.gameObject.CompareTag("enemy"))
        {
            if (myrigidbody.velocity.y == 0f)
            {
                lifes--;
                myrigidbody.position = respawn.transform.position;
            }
            else
            {
                Destroy(other.gameObject);
                myrigidbody.velocity = new Vector2(myrigidbody.velocity.x, Jumpforce);
                landed = false;
                count = count + 50;
                CountText.text = "Puntos: " + count.ToString();
            }

        }

        if (other.gameObject.CompareTag("lava"))
        {
            myrigidbody.position = respawn.transform.position;
            lifes--;
        }

        switch(lifes)
        {
            case 3:
                life3.gameObject.SetActive(false);
                break;
            case 2:
                life2.gameObject.SetActive(false);
                break;
            case 1:
                life1.gameObject.SetActive(false);
                break;
            case 0:
                SceneManager.LoadScene("gameover");
                break;

            default:
                break;

        }
    }
}
Alejandro Serna Gómez
Estudiante de Fundamentos de programación 2020-1

User avatar
AltSerna
Posts: 18
Joined: Tue Jan 21, 2020 10:11 am

Re: Neomporio/Benzo games

Post by AltSerna » Tue Mar 24, 2020 11:45 pm

Sprint semana 10
marzo 24 del 2020

¿Qué se hizo?
Alejandro
hizo el sistema de vidas, separó un conteo de monedas y puntos, arregló el daño de la lava y su reset y programó la pantalla de game over (con sprites bases de unity temporales, solo puestos para prototipar)

Tomás
Hizo las plataformas que caen cuando el jugador las pisa, agregó los enemigos y monedas que faltaban al nivel y añadió la mecánica de muerte definitiva por lava.

Adelantos de ambos en los siguientes videos

video 1

https://youtu.be/ost6YQjKMGQ

video 2

https://youtu.be/XCfWbLkF7m0

¿Qué se va a hacer?
Se agregaran los sprites que faltan y se corregirán pequeños errores que no afectan a la ejecución del juego pero si pueden mejorar el uso y disfrute del mismo
además se harán las diapositivas para la preentrega

¿Qué dificultades tuvimos?
Alejandro cuando creo el sistema de vidas se encontró con un error donde un Sprite de vida desaparece cuando recoge una moneda, hasta el momento no ha podido encontrar ninguna solución, el lado positivo es que fueron avances abundantes, lo que significa que esto no frenó el ritmo del proyecto
Alejandro Serna Gómez
Estudiante de Fundamentos de programación 2020-1

Post Reply