SlideShare una empresa de Scribd logo
1 de 36
TowerVania
Juan José Mira Álvarez
Javier Santiago Arango
Iván Felipe Osorio
Backlog
Completado
Por completar
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)
Backlog
● 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.
Backlog
● 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.
Backlog
Estado del Backlog: 10/15
Porcentaje del Backlog: 67 %
Sinopsis
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.
Referentes de juego: TD
Los tower defense (TD) son un subgénero
de videojuego de estrategia en el que el
objetivo es defender los territorios o las
posesiones de un jugador mediante la
obstrucción de los atacantes enemigos,
que generalmente se logra mediante la
colocación de estructuras defensivas en
su trayectoria de ataque o a lo largo de
ella.
Referentes de juego: Mecánicas
-Apartado estético.
-Mecánicas de
posicionamiento y
control de hordas.
-Relaciones entre
torres.
-Ritmo de juego.
-Diseño lowpoly.
-Adición de trampas y
problemas de estado
para enemigos.
Referentes de juego: Estética
● Paleta de colores.
● Diseño sonoro.
● Narrativa cómica y relajada.
● Estética y lore
general de los
personajes.
● Narrativa y
caracterización.
Diseño de nivel 1
Punto donde se ubican las torres.
Punto de llegada de los enemigos.
Punto de spawn enemigo
Diseño de nivel 2
Punto donde se ubican las torres.
Punto de llegada de los enemigos.
Punto de spawn enemigo
Diseño de nivel 3
Punto donde se ubican las torres.
Punto de llegada de los enemigos.
Punto de spawn enemigo
Concept art final de los enemigos
Monje
Sabueso
Aldeano
● Monje: Enemigo con la capacidad
de curar las tropas que se
encuentran en su radio de
acción, con poca vida y daño.
Velocidad media
● Aldeano: Enemigo estándar del
juego.
Aptitudes medias en vida,
velocidad y salud.
● Sabueso: Enemigo de gran daño
y velocidad, pero con poca vida.
Concept art final de los
enemigos
Panadero
Horda
enardecida
● Panadero: Enemigo con
mucha vida y daño, a
expensas de poca velocidad.
● Horda de aldeanos: 3
enemigos estándar del juego.
Aptitudes medias en vida,
velocidad y salud
multiplicadas por 3.
Concept art final de las torres
Concept art final de las torres
Concept art final de las torres
Concept art final de las torres
Concept art del
Tronco del
eslabón perdido,
la Torre Lápida del
fantasma y la
Torre Marciana
HUD Diseño Preliminar
Puntaje Barra de salud
Botones de
modificación de
torres (Mejora,
compra y
eliminación)
Herencia de clases: Clase de enemigo
Enemigo:
-vida
-velocidad_de_mov
-dano_final
-dano_a_soldados
-magia
Monje
Panadero
Aldeano
Sabueso
Horda
Curar
Clases
Propiedades
especiales
Herencia de clases: Clase de Torre
Torre:
-precio
-precio_de_mejora
-precio_al_destruir
-dano_proyectil
-rango_de_accion
-tiempo_de_disparo
-tiempo_de_mejora
-efecto_del_disparo
Torre
drácula
Tronco
pantano
Cementerio
Torre
tesla
Torre
marciana
Venen
o
Lentitud
Revivir
enemigos
Obelisco
Generar
tropas
Clases
Propiedades especiales
Diagrama de clases: Enemigo
Enemigo
-vida : entero
-velocidad_de_mov : flotante
-dano_final : entero
-dano_a_soldados : entero
-magia : booleano
+Atacar(dano_a_soldados:entero, magia:booleano)
+Usar_magia(magia:booleano)
+Desplazarse(velocidad_de_mov)
Diagrama de clases: Clase torre
Torre
-precio:entero
-precio_de_mejora: entero
-precio_al_destruir: entero
-dano_proyectil: entero
-rango_de_accion: colisionador
-tiempo_de_disparo: flotante
-tiempo_de_mejora: flotante
-efecto_del_disparo: booleano
+Construir(precioTorre:entero) : booleano
+Mejorar(precioMejora:entero, tiempoMejora:flotante) : booleano
+Destruir(precioDestruir:entero) : booleano
+Disparar(danoProyectil:entero,tiempoDisparo:flotante, efectoDisparo:booleano) : entero
Códigos de programación
public class WaveSpawner : MonoBehaviour
{
[SerializeField]
private Wave[] waves;
private static int EnemiesAlive = 0;
//public Transform enemyPrefab;
public Transform spawnPoint;
private float countdown = 5f;
private int waveNumber = 1;
[SerializeField]
private float timeBetweenWaves = 5f;
//[SerializeField]
private int waveIndex = 0;
public int WaveNumber { get =>
waveNumber; set => waveNumber = value; }
void Update()
{
if (EnemiesAlive>0)
{
return;
}
if (countdown<=0f)
{
StartCoroutine(SpawnWave());
countdown = timeBetweenWaves;
return;
}
Spawner de oleadas
Códigos de programación
countdown -= Time.deltaTime;
}
IEnumerator SpawnWave()
{
Wave wave = waves[waveIndex];
EnemiesAlive = wave.Count;
for (int i = 0; i < wave.Count; i++)
{
SpawnEnemy(wave.EnemyPrefab);
yield return new WaitForSeconds(1f /
wave.Rate);
}
waveIndex++;
/*for (int i = 0; i < waveNumber; i++)
{
SpawnEnemy();
}
waveNumber++;*/
}
void SpawnEnemy(GameObject EnemyPrefab)
Spawner de oleadas
Códigos de programación
{
Instantiate(EnemyPrefab,
spawnPoint.position,spawnPoint.rota
tion);
EnemiesAlive++;
}
}
Spawner de oleadas
Códigos de programación
public class MovimientoEnemigo1 : MonoBehaviour
{
[SerializeField]
private float speed = 10f;
private Transform target;
private int wavepointIndex = 0;
private Enemigo enemigo;
void Start()
{
t enemigo = GetComponent<Enemigo>();
target = Waypoints1.waypoints1[0];
}
void Update()
{
Vector3 dir = target.position - transform.position;
transform.Translate(dir.normalized * speed *
Time.deltaTime, Space.World);
Movimiento de enemigos
Códigos de programación
If
(Vector3.Distance(transform.position,target.position)<=0.1f
)
{
GetNextWaypoint();
}
}
void GetNextWaypoint()
{
/*if (wavepointIndex >=
Waypoints1.waypoints1.Length-1)
{//Destroy(gameObject);
return;
}*/ wavepointIndex++;
target =
Waypoints1.waypoints1[wavepointIndex];
return;
}
}
Movimiento de enemigos
Códigos de programación
public class Vida : MonoBehaviour
{ [SerializeField] Slider healthbar; // se invoca un
slider.
public string htht = "";//se usa para
poder nombrar una escena cualquiera.
[SerializeField] float Daño = 30f; // se
define un daño.
public float heath; // se declara una
flotante para la vida.
// Start is called before the first frame
update
void Awake()
{ heath = 100f; // antes de iniciar la flotante tendrá un valor
definido.
}
void Start() { }
void Update()
{
healthbar.value = heath;
Debug.Log(heath); // se declara que el valor del slider
será igual al de la flotante heart.
if (heath <= 0)
Script de vida
Códigos de programación
{
SceneManager.LoadScene(htht);
// si heart llega a ser 0 se carga la escena definida.
}
}
public void OnCollisionEnter(Collision collision)
{ if (collision.gameObject.CompareTag("Enemigo"))
{ heath -= Daño;
}
//cualquier objeto que tenga este scripT en
caso de colisionar con un enemigo la flotante
heart será restada con con la variable daño.
}
}
Script de vida
Códigos de programación
public void Salir()
{
print("Saliendo del jugo");
Application.Quit();
}
//cualquier botón que posea este print hará que
la aplicación se cierre.
}
public class controlador : MonoBehaviour
{
public void cambiarEscena(string nombre)
{
print("cambio a la escena " + nombre);
SceneManager.LoadScene(nombre);
}
// una función que nos permita que una variable nombres
decida cuál será la escena próxima a cargar.
Cambio de escena.
Códigos de programación
public class MOVIMIENTOCAMARA : MonoBehaviour
{ [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 moverán de
acuerdo al producto entre la velocidad previamente
declarada, una variable estándar 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;
} }
MOVIMIENTO DE LA CÁMARA
Preguntas
1. Cuantos referentes de mecánicas se mencionan
2. Cual es la única clase de enemigo que tiene una propiedad extra
3. Cuantos niveles de juego hay
4. Mencionar 2 tipos de torre
5. Como se llama el juego
Repositorio y
Gameplay
https://github.com/Kriptonauta001/FrankenLabs
https://www.youtube.com/watch?v=LfRf_K90Kpw&feature=youtu.be

Más contenido relacionado

Similar a Franken labs (20)

Brain damage 2
Brain damage 2Brain damage 2
Brain damage 2
 
Desert space
Desert spaceDesert space
Desert space
 
Presentación de Neugier Battles
Presentación de Neugier BattlesPresentación de Neugier Battles
Presentación de Neugier Battles
 
Pre entrega
Pre entregaPre entrega
Pre entrega
 
Pre entrega
Pre entregaPre entrega
Pre entrega
 
Entrega final
Entrega finalEntrega final
Entrega final
 
IV-CreacionEscenarios.pptx
IV-CreacionEscenarios.pptxIV-CreacionEscenarios.pptx
IV-CreacionEscenarios.pptx
 
Pre entrega - PDOO
Pre entrega - PDOOPre entrega - PDOO
Pre entrega - PDOO
 
Backlog
BacklogBacklog
Backlog
 
PSI entrega
PSI    entregaPSI    entrega
PSI entrega
 
Pre-entrega fundamentos de programación
Pre-entrega fundamentos de programaciónPre-entrega fundamentos de programación
Pre-entrega fundamentos de programación
 
PSI preentrega
PSI   preentregaPSI   preentrega
PSI preentrega
 
TALLER VIDEOJUEGO 2D
TALLER VIDEOJUEGO 2DTALLER VIDEOJUEGO 2D
TALLER VIDEOJUEGO 2D
 
Entrega final - PDOO - Tower defense
Entrega final - PDOO - Tower defenseEntrega final - PDOO - Tower defense
Entrega final - PDOO - Tower defense
 
Introducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGLIntroducción a las librerías PyGame y PyOpenGL
Introducción a las librerías PyGame y PyOpenGL
 
Final Tower Defense
Final Tower DefenseFinal Tower Defense
Final Tower Defense
 
Presentación final PDOO
Presentación final PDOOPresentación final PDOO
Presentación final PDOO
 
Rodents Pre entrega
Rodents Pre entregaRodents Pre entrega
Rodents Pre entrega
 
Halo
HaloHalo
Halo
 
Final juego PDOO
Final juego PDOOFinal juego PDOO
Final juego PDOO
 

Último

Arquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der RoheArquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der Roheimariagsg
 
Quinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdfQuinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdfPapiElMejor1
 
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfLAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfBrbara57940
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOManuelBustamante49
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxbarbaracantuflr
 
plantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialplantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialAndreaMlaga1
 
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...MayerlyAscanioNavarr
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddabuitragoi
 
Arquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth BermúdezArquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth BermúdezNaza59
 
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)LeonardoDantasRivas
 
TIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánicoTIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánicoWilsonChambi4
 
Maquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdfMaquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdforianaandrade11
 
Normas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratisNormas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratisbrasilyamile
 
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura ModernaLe Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Modernasofpaolpz
 
Jesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturaJesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturajesusgrosales12
 
Proceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoProceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoJorge Fernandez
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfasnsdt
 
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHEAPORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHEgonzalezdfidelibus
 
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfSlaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfslaimenbarakat
 

Último (20)

Arquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der RoheArquitectura Moderna Le Corbusier- Mies Van Der Rohe
Arquitectura Moderna Le Corbusier- Mies Van Der Rohe
 
Quinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdfQuinto-Cuaderno-del-Alumno-optimizado.pdf
Quinto-Cuaderno-del-Alumno-optimizado.pdf
 
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdfLAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
LAMODERNIDADARQUITECTURABYBARBARAPADILLA.pdf
 
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYOPDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
PDU - PLAN DE DESARROLLO URBANO DE LA CIUDAD DE CHICLAYO
 
Presentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptxPresentacion de 100 psicologos dijeron.pptx
Presentacion de 100 psicologos dijeron.pptx
 
plantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especialplantilla-de-messi-1.pdf es muy especial
plantilla-de-messi-1.pdf es muy especial
 
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
Guía de actividades y rúbrica de evaluación - Unidad 3 - Escenario 4 - Rol de...
 
diseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidaddiseño de plantas agroindustriales unidad
diseño de plantas agroindustriales unidad
 
Arquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth BermúdezArquitectura moderna / Nazareth Bermúdez
Arquitectura moderna / Nazareth Bermúdez
 
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
Arquitectos del Movimiento Moderno (Historia de la Arquitectura)
 
TIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánicoTIPOS DE LINEAS utilizados en dibujo técnico mecánico
TIPOS DE LINEAS utilizados en dibujo técnico mecánico
 
Maquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdfMaquetas-modelos-prototipos-Mapa mental-.pdf
Maquetas-modelos-prototipos-Mapa mental-.pdf
 
Normas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratisNormas de convivencia para imprimir gratis
Normas de convivencia para imprimir gratis
 
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura ModernaLe Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
Le Corbusier y Mies van der Rohe: Aportes a la Arquitectura Moderna
 
Jesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitecturaJesus Diaz afiche Manierismo .pdf arquitectura
Jesus Diaz afiche Manierismo .pdf arquitectura
 
Proceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimientoProceso de percepción visual y de reconocimiento
Proceso de percepción visual y de reconocimiento
 
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdfCERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
CERTIFICACIÓN DE CAPACITACIÓN PARA EL CENSO - tfdxwBRz6f3AP7QU.pdf
 
1.La locomoción de los seres vivos diseño
1.La locomoción de los seres vivos diseño1.La locomoción de los seres vivos diseño
1.La locomoción de los seres vivos diseño
 
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHEAPORTES Y CARACTERISTICAS DE LAS OBRAS DE  CORBUSIER. MIES VAN DER ROHE
APORTES Y CARACTERISTICAS DE LAS OBRAS DE CORBUSIER. MIES VAN DER ROHE
 
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdfSlaimen Barakat - SLIDESHARE TAREA 2.pdf
Slaimen Barakat - SLIDESHARE TAREA 2.pdf
 

Franken labs

  • 1.
  • 2. TowerVania Juan José Mira Álvarez Javier Santiago Arango Iván Felipe Osorio
  • 4. 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)
  • 5. Backlog ● 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.
  • 6. Backlog ● 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.
  • 7. Backlog Estado del Backlog: 10/15 Porcentaje del Backlog: 67 %
  • 8. Sinopsis 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.
  • 9. Referentes de juego: TD Los tower defense (TD) son un subgénero de videojuego de estrategia en el que el objetivo es defender los territorios o las posesiones de un jugador mediante la obstrucción de los atacantes enemigos, que generalmente se logra mediante la colocación de estructuras defensivas en su trayectoria de ataque o a lo largo de ella.
  • 10. Referentes de juego: Mecánicas -Apartado estético. -Mecánicas de posicionamiento y control de hordas. -Relaciones entre torres. -Ritmo de juego. -Diseño lowpoly. -Adición de trampas y problemas de estado para enemigos.
  • 11. Referentes de juego: Estética ● Paleta de colores. ● Diseño sonoro. ● Narrativa cómica y relajada. ● Estética y lore general de los personajes. ● Narrativa y caracterización.
  • 12. Diseño de nivel 1 Punto donde se ubican las torres. Punto de llegada de los enemigos. Punto de spawn enemigo
  • 13. Diseño de nivel 2 Punto donde se ubican las torres. Punto de llegada de los enemigos. Punto de spawn enemigo
  • 14. Diseño de nivel 3 Punto donde se ubican las torres. Punto de llegada de los enemigos. Punto de spawn enemigo
  • 15. Concept art final de los enemigos Monje Sabueso Aldeano ● Monje: Enemigo con la capacidad de curar las tropas que se encuentran en su radio de acción, con poca vida y daño. Velocidad media ● Aldeano: Enemigo estándar del juego. Aptitudes medias en vida, velocidad y salud. ● Sabueso: Enemigo de gran daño y velocidad, pero con poca vida.
  • 16. Concept art final de los enemigos Panadero Horda enardecida ● Panadero: Enemigo con mucha vida y daño, a expensas de poca velocidad. ● Horda de aldeanos: 3 enemigos estándar del juego. Aptitudes medias en vida, velocidad y salud multiplicadas por 3.
  • 17. Concept art final de las torres
  • 18. Concept art final de las torres
  • 19. Concept art final de las torres
  • 20. Concept art final de las torres Concept art del Tronco del eslabón perdido, la Torre Lápida del fantasma y la Torre Marciana
  • 21. HUD Diseño Preliminar Puntaje Barra de salud Botones de modificación de torres (Mejora, compra y eliminación)
  • 22. Herencia de clases: Clase de enemigo Enemigo: -vida -velocidad_de_mov -dano_final -dano_a_soldados -magia Monje Panadero Aldeano Sabueso Horda Curar Clases Propiedades especiales
  • 23. Herencia de clases: Clase de Torre Torre: -precio -precio_de_mejora -precio_al_destruir -dano_proyectil -rango_de_accion -tiempo_de_disparo -tiempo_de_mejora -efecto_del_disparo Torre drácula Tronco pantano Cementerio Torre tesla Torre marciana Venen o Lentitud Revivir enemigos Obelisco Generar tropas Clases Propiedades especiales
  • 24. Diagrama de clases: Enemigo Enemigo -vida : entero -velocidad_de_mov : flotante -dano_final : entero -dano_a_soldados : entero -magia : booleano +Atacar(dano_a_soldados:entero, magia:booleano) +Usar_magia(magia:booleano) +Desplazarse(velocidad_de_mov)
  • 25. Diagrama de clases: Clase torre Torre -precio:entero -precio_de_mejora: entero -precio_al_destruir: entero -dano_proyectil: entero -rango_de_accion: colisionador -tiempo_de_disparo: flotante -tiempo_de_mejora: flotante -efecto_del_disparo: booleano +Construir(precioTorre:entero) : booleano +Mejorar(precioMejora:entero, tiempoMejora:flotante) : booleano +Destruir(precioDestruir:entero) : booleano +Disparar(danoProyectil:entero,tiempoDisparo:flotante, efectoDisparo:booleano) : entero
  • 26. Códigos de programación public class WaveSpawner : MonoBehaviour { [SerializeField] private Wave[] waves; private static int EnemiesAlive = 0; //public Transform enemyPrefab; public Transform spawnPoint; private float countdown = 5f; private int waveNumber = 1; [SerializeField] private float timeBetweenWaves = 5f; //[SerializeField] private int waveIndex = 0; public int WaveNumber { get => waveNumber; set => waveNumber = value; } void Update() { if (EnemiesAlive>0) { return; } if (countdown<=0f) { StartCoroutine(SpawnWave()); countdown = timeBetweenWaves; return; } Spawner de oleadas
  • 27. Códigos de programación countdown -= Time.deltaTime; } IEnumerator SpawnWave() { Wave wave = waves[waveIndex]; EnemiesAlive = wave.Count; for (int i = 0; i < wave.Count; i++) { SpawnEnemy(wave.EnemyPrefab); yield return new WaitForSeconds(1f / wave.Rate); } waveIndex++; /*for (int i = 0; i < waveNumber; i++) { SpawnEnemy(); } waveNumber++;*/ } void SpawnEnemy(GameObject EnemyPrefab) Spawner de oleadas
  • 29. Códigos de programación public class MovimientoEnemigo1 : MonoBehaviour { [SerializeField] private float speed = 10f; private Transform target; private int wavepointIndex = 0; private Enemigo enemigo; void Start() { t enemigo = GetComponent<Enemigo>(); target = Waypoints1.waypoints1[0]; } void Update() { Vector3 dir = target.position - transform.position; transform.Translate(dir.normalized * speed * Time.deltaTime, Space.World); Movimiento de enemigos
  • 30. Códigos de programación If (Vector3.Distance(transform.position,target.position)<=0.1f ) { GetNextWaypoint(); } } void GetNextWaypoint() { /*if (wavepointIndex >= Waypoints1.waypoints1.Length-1) {//Destroy(gameObject); return; }*/ wavepointIndex++; target = Waypoints1.waypoints1[wavepointIndex]; return; } } Movimiento de enemigos
  • 31. Códigos de programación public class Vida : MonoBehaviour { [SerializeField] Slider healthbar; // se invoca un slider. public string htht = "";//se usa para poder nombrar una escena cualquiera. [SerializeField] float Daño = 30f; // se define un daño. public float heath; // se declara una flotante para la vida. // Start is called before the first frame update void Awake() { heath = 100f; // antes de iniciar la flotante tendrá un valor definido. } void Start() { } void Update() { healthbar.value = heath; Debug.Log(heath); // se declara que el valor del slider será igual al de la flotante heart. if (heath <= 0) Script de vida
  • 32. Códigos de programación { SceneManager.LoadScene(htht); // si heart llega a ser 0 se carga la escena definida. } } public void OnCollisionEnter(Collision collision) { if (collision.gameObject.CompareTag("Enemigo")) { heath -= Daño; } //cualquier objeto que tenga este scripT en caso de colisionar con un enemigo la flotante heart será restada con con la variable daño. } } Script de vida
  • 33. Códigos de programación public void Salir() { print("Saliendo del jugo"); Application.Quit(); } //cualquier botón que posea este print hará que la aplicación se cierre. } public class controlador : MonoBehaviour { public void cambiarEscena(string nombre) { print("cambio a la escena " + nombre); SceneManager.LoadScene(nombre); } // una función que nos permita que una variable nombres decida cuál será la escena próxima a cargar. Cambio de escena.
  • 34. Códigos de programación public class MOVIMIENTOCAMARA : MonoBehaviour { [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 moverán de acuerdo al producto entre la velocidad previamente declarada, una variable estándar 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; } } MOVIMIENTO DE LA CÁMARA
  • 35. Preguntas 1. Cuantos referentes de mecánicas se mencionan 2. Cual es la única clase de enemigo que tiene una propiedad extra 3. Cuantos niveles de juego hay 4. Mencionar 2 tipos de torre 5. Como se llama el juego