The Collector- GameVerse Studio

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
BsmSebastián
Posts: 12
Joined: Thu Jul 18, 2019 9:36 am

Re: The Collector- GameVerse Studio

Post by BsmSebastián » Wed Sep 04, 2019 8:57 pm

¿Que hemos hecho?

Se realizo la programación del salto para el personaje principal.

Se realizo background del nivel del juego con arte propio.

Se miro el video de la semana correspondiente.

Se escogió el asset y su correspondiente animación del enemigo del personaje principal.

¿Que vamos a hacer?

Se vera el vídeo de la semana correspondiente.

Se programara el movimiento del enemigo del personaje principal.

Se hara el arte de muros adicionales para tapar secciones escondidas del mapa.

Se comenzara con la programacion para la recoleccion de monedas.

¿Que dificultades hemos tenido?

Tuvimos dificultades con la programación de recolectar monedas y lo dejamos para la próxima semana

Sprint 9.
Inicio: jueves septiembre 05

Final: miércoles septiembre 11

Ver video de la semana (todos)
Programar movimiento enemigo del personaje principal (Sebastián)
Desarrollar arte de muros falsos (Sebastián)
Comenzar programacion de la recoleccion de monedas(Diego).
Sebastián Vargas Uribe
Estudiante: fundamentos de programación

User avatar
Dacas
Posts: 17
Joined: Thu Jul 18, 2019 9:29 am

Re: The Collector- GameVerse Studio

Post by Dacas » Wed Sep 11, 2019 6:45 pm

Semana 9

Se programo la recolección de monedas.

Image

Se distribuyeron las monedas por el mapa para darle sentido al nivel.

Image

Codigo del personaje actualizado con los cambios.

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class PlayerController : MonoBehaviour
{
    public float maxSpeed = 5f;// Se crea la variable de velocidad máxima para que el personaje no se mueva tan rápido.
    public float speed = 2f;
    public bool grounded;// Variable para saber si se toca el suelo.
    public float jumpPower = 6.5f;// Determina la fuerza de salto.

    public void OnTriggerEnter2D(Collider2D other)
    {
        Destroy(other.gameObject);
    }


    private Rigidbody2D rb2d;// se crea una variable que contenga el rigidbody
    private Animator anim;//Se crea una variable para utilizar el componente animador.
    private bool jump; //Para detectar el salto

    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();// Se llama el rigidbody a acción
        anim = GetComponent<Animator>();// Se llama el Animator a acción 

        
    }

    // Update is called once per frame
    void Update()
    {
        anim.SetFloat("Speed", Mathf.Abs(rb2d.velocity.x));// Se llama el componente de la animación para que actué cuando hay una cierta velocidad que se determina en unity.La funcion Abs busca el valor absoluto.
        anim.SetBool("Grounded", grounded);// Se crea para saber si el personaje esta tocando el suelo y enviarla.

        if (Input.GetKeyDown(KeyCode.UpArrow) && grounded)
        {
            jump = true;
        }
    }

    private void FixedUpdate()
    {
        Vector3 fixedVelocity = rb2d.velocity;
        fixedVelocity.x *= 0.75f;// Para que el personaje no se deslice 

        if (grounded)
        {
            rb2d.velocity = fixedVelocity;
        }


        float h = Input.GetAxis("Horizontal");//Se le dice a unity que detecte automáticamente cuando se aprieta una tecla en el eje horizontal.

        rb2d.AddForce(Vector2.right * speed * h); //Se le añade una fuerza al rigidbody con un vector en dos dimensiones que apunta a la derecha y se multiplica por la velocidad establecida.

        float limitedSpeed = Mathf.Clamp(rb2d.velocity.x, -maxSpeed, maxSpeed);// la función clamp se usa para delimitar la velocidad máxima y mínima del personaje, se basa en tomar el valor de una variable y aplicarle un filtro, puede ser un mínimo o un máximo.
        rb2d.velocity = new Vector2(limitedSpeed, rb2d.velocity.y);//

        if (h > 0.1f)
        {
            transform.localScale = new Vector3(1f, 1f, 1f);
        }

        if (h < -0.1f)
        {
            transform.localScale = new Vector3(-1f, 1f, 1f);// se utiliza para cuando el personaje va hacia la izquierda se escale en el eje x y quede mirando hacia esa dirección 
        }

        if (jump)
        {
            rb2d.velocity = new Vector2(rb2d.velocity.x, 0);// evita que hayan dobles saltos, cancelando velocidad vertical
            rb2d.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse);
            jump = false;
        }


        Debug.Log(rb2d.velocity.x);// Se hace para saber la velocidad orientativa que se le esta aplicando en el eje x.
    }
}
Diego Castillo.
Fundamentos de programación.

User avatar
BsmSebastián
Posts: 12
Joined: Thu Jul 18, 2019 9:36 am

Re: The Collector- GameVerse Studio

Post by BsmSebastián » Wed Sep 11, 2019 6:47 pm

¿Qué hemos hecho?
Se realizo el salto del personaje principal.
Se realizo la animación del enemigo del personaje principal.
Se realizó la programación para la recolección de monedas del personaje principal.
Se ajusto el diseño del nivel a las nuevas medidas impuestas por las estructuras de salto.

¿Qué vamos a hacer?
Programar el daño hecho por el enemigo hacia el personaje principal.
Programar la recolección de reliquias (anillos)
Seleccionar assets de las reliquias.
Pre visualización del HUD del juego.

¿Qué dificultades hemos tenido?
Ninguna.

Sprint 10

Inicio: jueves septiembre 12
Final: miércoles septiembre 18

TAREAS:

Ver video correspondiente (todos)
Programar daño al pj principal (todos)
Animacion monedas y reliquias (Sebastián)
Programar la recoleccion de reliquias (Diego)
Previsualización del HUD (todos)
Realización de la presentación para la pre entrega (todos)
Last edited by BsmSebastián on Wed Sep 18, 2019 7:30 pm, edited 1 time in total.
Sebastián Vargas Uribe
Estudiante: fundamentos de programación

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

Re: The Collector- GameVerse Studio

Post by xacarana » Tue Sep 17, 2019 11:31 am

Image

Muy bien, recuerden incluir en el sprint, las actividades para la preentrega.
Andrés Bedoya Tobón
Profesor
"I only smile in the dark, I only smile when it's complicated" Raybiez

User avatar
Dacas
Posts: 17
Joined: Thu Jul 18, 2019 9:29 am

Re: The Collector- GameVerse Studio

Post by Dacas » Tue Sep 17, 2019 9:59 pm

Semana 10

Se incluyeron paredes invisibles y reliquias recogibles.

Muros
Image

Reliquias

Image

Image

Se programo la cámara y su seguimiento.

Código cámara

Code: Select all

using System.Collections;
using System.Collections.Generic;
using UnityEngine;

public class Camera : MonoBehaviour
{
    public Transform jugador;
    public Vector3 desplazamiento;


    void Update()
    {
        transform.position = new Vector3(jugador.position.x + desplazamiento.x, jugador.position.y + desplazamiento.y, desplazamiento.z);

    }
}


Se programo el contador de monedas y se añadió al HUD.

Contador de monedas

Image

Código actualizado del jugador con el contador.

Code: Select all

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

public class PlayerController : MonoBehaviour
{
    public float maxSpeed = 5f;// Se crea la variable de velocidad máxima para que el personaje no se mueva tan rápido.
    public float speed = 2f;
    public bool grounded;// Variable para saber si se toca el suelo.
    public float jumpPower = 6.5f;// Determina la fuerza de salto.
    public Text coins;//Referenciamos el componente text
    int contador;// se declara una variable para determinar la cantidad de monedas.

    public void OnTriggerEnter2D(Collider2D other)
    {
        Destroy(other.gameObject);
        contador = contador + 1;// cada que se destruya un objeto el contador va a aumentar 1 punto.
        coins.text = "Coins: " + contador;// se actualiza el contador.

    }


    private Rigidbody2D rb2d;// se crea una variable que contenga el rigidbody
    private Animator anim;//Se crea una variable para utilizar el componente animador.
    private bool jump; //Para detectar el salto

    void Start()
    {
        rb2d = GetComponent<Rigidbody2D>();// Se llama el rigidbody a acción
        anim = GetComponent<Animator>();// Se llama el Animator a acción 
        contador = 0;
        coins.text = "Coins: " + contador;//  Referenciar el contador de puntuacion
        
    }

    // Update is called once per frame
    void Update()
    {
        anim.SetFloat("Speed", Mathf.Abs(rb2d.velocity.x));// Se llama el componente de la animación para que actué cuando hay una cierta velocidad que se determina en unity.La funcion Abs busca el valor absoluto.
        anim.SetBool("Grounded", grounded);// Se crea para saber si el personaje esta tocando el suelo y enviarla.

        if (Input.GetKeyDown(KeyCode.UpArrow) && grounded)
        {
            jump = true;
        }
    }

    private void FixedUpdate()
    {
        Vector3 fixedVelocity = rb2d.velocity;
        fixedVelocity.x *= 0.85f;// Para que el personaje no se deslice 

        if (grounded)
        {
            rb2d.velocity = fixedVelocity;
        }


        float h = Input.GetAxis("Horizontal");//Se le dice a unity que detecte automáticamente cuando se aprieta una tecla en el eje horizontal.

        rb2d.AddForce(Vector2.right * speed * h); //Se le añade una fuerza al rigidbody con un vector en dos dimensiones que apunta a la derecha y se multiplica por la velocidad establecida.

        float limitedSpeed = Mathf.Clamp(rb2d.velocity.x, -maxSpeed, maxSpeed);// la función clamp se usa para delimitar la velocidad máxima y mínima del personaje, se basa en tomar el valor de una variable y aplicarle un filtro, puede ser un mínimo o un máximo.
        rb2d.velocity = new Vector2(limitedSpeed, rb2d.velocity.y);//

        if (h > 0.1f)
        {
            transform.localScale = new Vector3(1f, 1f, 1f);
        }

        if (h < -0.1f)
        {
            transform.localScale = new Vector3(-1f, 1f, 1f);// se utiliza para cuando el personaje va hacia la izquierda se escale en el eje x y quede mirando hacia esa dirección 
        }

        if (jump)
        {
            rb2d.velocity = new Vector2(rb2d.velocity.x, 0);// evita que hayan dobles saltos, cancelando velocidad vertical
            rb2d.AddForce(Vector2.up * jumpPower, ForceMode2D.Impulse);
            jump = false;
        }


        Debug.Log(rb2d.velocity.x);// Se hace para saber la velocidad orientativa que se le esta aplicando en el eje x.
    }
}
Diego Castillo.
Fundamentos de programación.

User avatar
Dacas
Posts: 17
Joined: Thu Jul 18, 2019 9:29 am

Re: The Collector- GameVerse Studio

Post by Dacas » Wed Sep 18, 2019 10:52 pm

Diego Castillo.
Fundamentos de programación.

Post Reply