2. arquitectura del videojuego
-
Upload
instituto-arcos -
Category
Education
-
view
2.492 -
download
3
description
Transcript of 2. arquitectura del videojuego
![Page 2: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/2.jpg)
2.1 Metodología
![Page 3: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/3.jpg)
¿Por qué una metodología?
16%
53%
31%
Exitosos
Cuestionados
Cancelados
Proyectos
Fuente: www.logicstudio.net
![Page 4: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/4.jpg)
Razones de por qué los proyectos fallan.
Fuente: www.logicstudio.net
0% 5% 10% 15%
Requerimientos incompletos
Fata de involucramiento del usuario
Falta de recursos
Falta de soporte ejecutivo
Expectativas no realistas
![Page 5: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/5.jpg)
2.2 Orientación a Objetos
![Page 6: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/6.jpg)
Orientación a Objetos
“El mundo real está compuesto de objetos que interactúan.”
![Page 7: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/7.jpg)
Programación Orientada a Objetos (POO)
Se usan objetos para solucionar problemas, que son estructuras lógicas que representan elementos o entidades del mundo real.
Se usan nombres que permiten hacer una rápida asociación con el correspondiente objeto.
![Page 8: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/8.jpg)
Definiciones
Objetos:
– Mundo Real: Compuesto de objetos físicos y simbólicos.
– POO: Elementos simbólicos que representan objetos del mundo real.
Clase:
– “Un tipo de objeto”, descripción que especifica características comunes a un objeto de un tipo en común.
![Page 9: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/9.jpg)
Definiciones
Instancia de objeto:
– Objeto específico de una Clase que se puede relacionar con otras instancias del mismo u otro tipo.
– Se le conoce como el “objeto” en sí.
– Por los atributos una instancia es diferente a otra.
![Page 10: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/10.jpg)
![Page 11: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/11.jpg)
Definiciones
• Objeto real: Moto.
• Clase: “Moto”.
• Instancia1: – Moto Kawasaki, Amarilla, 250 cc, peso máximo 300 kg, 200 km
velocidad máxima.
• Instancia 2: – Moto Scooter YY-150T-12, 150 cc, peso máximo 120 kg, 80 km
velocidad máxima.
![Page 12: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/12.jpg)
Orientación a Objetos
Expresa una solución como un conjunto de objetos, que colaboran entre ellos para realizar tareas.
Es más fácil conceptualizar los problemas de esta manera.
Es más fácil llevar la conceptualización a un programa en sí.
![Page 13: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/13.jpg)
Orientación a Objetos
Cavernicola1 Cavernicola2 Soldado1
Soldado2
Soldado3
Cavernicola3
Jugador1 Jugador2
Fuego1
Fuego2 RifleJugador1
Tiempo1
PuntajeGanado1 PuntajeGanado2
Bala1Jugador2
![Page 14: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/14.jpg)
2.3 Diagramas UML
![Page 15: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/15.jpg)
Diagramas UML
Fuente: http://spacepenguinproject.wordpress.com/
![Page 16: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/16.jpg)
Diagramas UML
Fuente: http://www.sunshineray.com/490project/Designmodel.html
![Page 17: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/17.jpg)
Diagramas UML
UML es un lenguaje de modelamiento, y un diagrama UML sirve para modelar las relaciones entre las clases.
Permite modelar de forma visual lo que luego se querrá diseñar en código.
Como ventaja, lo que se diseñará será más entendible por terceros.
![Page 18: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/18.jpg)
Cómo están relacionados ?
![Page 19: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/19.jpg)
Relaciones entre clases
Las relaciones de clases más utilizadas son: Herencia.
Composición
Agregación
Asociación.
Representarán la forma de trabajar entre ellas.
![Page 20: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/20.jpg)
En cada relación hay un nivel de dependencia, que se denomina cardinalidad.
– uno o muchos: 1..* (1..n)
– 0 o muchos: 0..* (0..n)
– número fijo: m (m denota el número).
Relaciones entre clases
![Page 21: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/21.jpg)
Indica que la subclase hereda los métodos y atributos especificados por una super clase.
Ej:
Los Terran de Starcraft tienen distintos tipos de unidades, pero todas tienen acciones similares: se mueven y atacan, y tienen características similares: valor de armadura, daño, energía de vida actual y energía de vida máxima. Por lo que debiesen haber clases bases.
Herencia
![Page 22: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/22.jpg)
Herencia
Fuente: http://library.thinkquest.org/C0120962/java/section3/
![Page 23: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/23.jpg)
Herencia
![Page 24: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/24.jpg)
Herencia
![Page 25: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/25.jpg)
Una clase base contiene métodos y atributos que son genéricos para sus clases hijas.
Ej. Todo medio de transporte puede moverse y tiene características similares (clase transporte), pero cada medio de transporte hace distintas cosas: el auto es para la familia, en la micro se paga, un taxi te lleva a la casa, etc.
Herencia
![Page 26: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/26.jpg)
El objeto base se construye a partir del objeto incluido, por lo que el objeto base “contiene” el objeto incluido.
Ejemplo:
Una tienda de rol, «contiene» armas, comida, poderes, etc.
Las clases manager caen en esta categoría, ya que «contienen» elementos.
Composición
![Page 27: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/27.jpg)
Composición
![Page 28: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/28.jpg)
El objeto base “utiliza” al incluido para su funcionamiento, por lo que las agregaciones entre clases se presentan cuando una clase necesita algún dato de otra para realizar su misión.
Un ejemplo típico es un enemigo con seguimiento, o una cámara con seguimiento, los cuales necesitan la posición del player para determinar su movimiento.
Agregación
![Page 29: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/29.jpg)
Agregación
![Page 30: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/30.jpg)
Simplemente asocia objetos que colaboran entre sí.
En la práctica, sino se necesita ninguna referencia de dicho objeto y hay una relación, es de asociación.
Un ejemplo simple son los personajes NPC en los juegos de rol que nos otorgan algún tipo de información acerca del mundo.
Asociación
![Page 31: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/31.jpg)
Otro ejemplo son las relaciones entre el player o un enemigo y la bala, debido a que la relación directa de la bala es con el manejador de balas, pero el ejecutor del disparo debe entregar de alguna forma su posición y ángulo en que se encuentra.
Asociación
![Page 32: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/32.jpg)
2.4 Arquitectura
![Page 33: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/33.jpg)
• Una vez conocidas las clases que intervendrán en el proyecto del videojuego, y las relaciones que hay entre ellas es necesario agruparlas, con respecto a su función, tipo o relación con otras clases, de esto es lo que trata la arquitectura.
• Solamente haremos la arquitectura de la lógica del videojuego. Los otros elementos como los componentes visuales, se hace cargo el motor.
Arquitectura
![Page 34: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/34.jpg)
Agrupar entre clases
![Page 35: 2. arquitectura del videojuego](https://reader033.fdocuments.co/reader033/viewer/2022051209/547d14c25806b508408b47ce/html5/thumbnails/35.jpg)
Las relaciones entre clases, sirven para modelar el videojuego, y entender visualmente cómo interactúan las distintas clases.
Por otro lado, si se desea extender el software, sólo se debe extender el modelo e identificar con qué clases se relacionará.
«Una imagen vale más que mil palabras»
Conclusión