0% encontró este documento útil (0 votos)
73 vistas22 páginas

02 Arquitectura de Videojuegos

El documento introduce los conceptos básicos de la arquitectura de un videojuego. Explica que un videojuego tiene componentes como gráficos, sonidos, objetos y contenedores de objetos. También describe que el bucle principal de un juego actualiza el estado, procesa las acciones de los jugadores y los NPC, realiza cálculos de física y maneja el tiempo para mantener una tasa de actualización constante. Además, señala que la arquitectura de un juego debe definir subsistemas, clases, responsabilidades y contratos.

Cargado por

MarcoSolimano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
73 vistas22 páginas

02 Arquitectura de Videojuegos

El documento introduce los conceptos básicos de la arquitectura de un videojuego. Explica que un videojuego tiene componentes como gráficos, sonidos, objetos y contenedores de objetos. También describe que el bucle principal de un juego actualiza el estado, procesa las acciones de los jugadores y los NPC, realiza cálculos de física y maneja el tiempo para mantener una tasa de actualización constante. Además, señala que la arquitectura de un juego debe definir subsistemas, clases, responsabilidades y contratos.

Cargado por

MarcoSolimano
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como PPTX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 22

UNIDAD 1: INTRODUCCION A LOS VIDEOJUEGOS

SESIN 2: Arquitectura Bsica de un Videojuego


REFLEXION:

Qu tiene o utiliza un juego?

Qu hace, cuando y con que


frecuencia?
LOGRO DE LA SESIN

Al trmino de la sesin el estudiante analiza y determina los


elementos y componentes necesarios en el desarrollo general de un
videojuego permitiendo disear una Arquitectura de Videojuego
desde un punto de vista analtico y general.

Temario:
1. Diseo de alto nivel
2. Componentes
3. MainLoop
4. Manejo del Tiempo
5. Elementos del Diseo
1. DISEO DE ALTO NIVEL

Cosas que el juego tiene

Front-end: Interaccin con el usuario, mens, mtodos de entrada.

Grficos: animacin, fondo.

Sonidos: efectos especiales, msica.

Objetos: En el juego: elementos, plataformas, personajes HUD: puntajes,


vidas, tiempo.

Contenedores de objetos: Niveles, reas, mapas. Eventos de entrada.


1. DISEO DE ALTO NIVEL

Cosas que el juego hace

Una vez por nivel/juego:


Carga los elementos grficos y de sonido.
Construye los objetos. Puebla los contenedores de objetos.

Todo el tiempo:
Considerar eventos de entrada.
Actualizar objetos.
Dibujar los grficos.
Reproducir los sonidos.
2. COMPONENTES

Orientacin a Objetos

Abstraccin.
Encapsulamiento.
Modularidad.
Polimorfismo.
Herencia.
2. COMPONENTES

Orientacin a Objetos

Podemos disear un juego con un enfoque de capas.

El juego est compuesto por capas, donde cada capa tiene


objetos.

Otros componentes del juego sern:


Manejadores (sonido, grficos, eventos de entrada)
Motor del juego (incluye el main loop)
2. COMPONENTES
2. COMPONENTES

Manejador de eventos de entrada: maneja los eventos de entrada


y los pone a disposicin del motor del juego, capas y objetos.

Motor del juego: se encarga de manejar, actualizar y dibujar


capas.

Capas: se encargan de construir, actualizar y dibujar sus objetos.

Objetos: elementos del juego como pueden ser, personajes,


elementos del universo, fondo del juego, etc.

Manejadores de grficos/sonidos/etc: encargados de cargar los


grficos/sonidos y dems datos necesarios en el juego.
3. MAIN LOOP
3. MAIN LOOP

Actualizar

Es la etapa donde se altera el estado del juego.

El estado del juego es un conjunto de variables que mantienen la


informacin de cada elemento del juego.

Incluyen la informacin de cada objeto del juego, posiciones,


valores de recursos, puntaje, variables globales, etc.
3. MAIN LOOP

Procesar las acciones de los jugadores

Las acciones alteran el estado del juego.

Dichas acciones se corresponden con los eventos de entrada.

Se interpretan los valores de las variables de los dispositivos y se


traducen en acciones. Mover, atacar, etc. Es til tener funciones
para cada accin.
3. MAIN LOOP

Procesar las acciones de los NO jugadores (NPC)

Llamamos no jugadores a las entidades manejadas el computador.

Tienen sus propias acciones pero no son controladas por entradas.


Se utiliza Inteligencia Artificial.

Cumplen con el siguiente ciclo.


1. Percibir: obtienen informacin til de lo que los rodea.
2. Pensar: eligen una accin.
3. Actuar: actualizan el estado del juego.
3. MAIN LOOP

Fsica

Para que? Mover los objetos sobre la pantalla

Cinemtica: Sin tener en cuenta a las fuerzas externas.

Dinmica: Teniendo en cuenta el efecto de las fuerzas.

Colisiones entre objetos.


1. Deteccin de colisiones: Ocurri una colisin?
2. Resolucin de colisiones: Qu hacer?
4. MANEJO DEL TIEMPO

Al principio se usaba el reloj del sistema. La velocidad del juego


dependa directamente de la velocidad del procesador.

La siguiente aproximacin fue:


setTickerEvent ( 30/s )
when( tickEvent ) {
update()
render()
}

Las actualizaciones por segundo disminuan si los tiempos de


update y render demoraba mucho. Por lo que el juego se enlenteca.
4. MANEJO DEL TIEMPO

Manejo del tiempo hoy

Suponiendo que tenemos los siguientes mtodos:


Update (): actualizar todos los objetos del juego.
Render (): dibuja todos los objetos del juego.
Time (): obtiene la hora actual en ms.
Sleep (ms): suspende por ms cantidad de ms.

Y la siguiente restriccin y objetivo:


Ups - meta de actualizaciones por segundo (restriccin).
Fps = Ups (objetivo)
4. MANEJO DEL TIEMPO

Manejo del tiempo hoy


4. MANEJO DEL TIEMPO

Manejo del tiempo hoy


5. ELEMENTOS DEL DISEO

Temas a definir:

Decisiones de alto nivel la arquitectura


Cual es la arquitectura a seguir?
Qu bibliotecas se utilizarn?

Divisin del trabajo entre el equipo


Quin trabaja en qu parte del juego?
Qu es lo que necesitan para coordinar?
5. ELEMENTOS DEL DISEO

Definir Subsistemas

Son una unidad lgica de funcionalidad.


A menudo reutilizables en mltiples juegos.
Los detalles de implementacin se ocultan.
API describe la interaccin con el resto del sistema.
Forma natural para descomponer el trabajo.
Cada programador podra decidir como implementar, pero
todo el equipo debe ponerse de acuerdo sobre la API.
5. ELEMENTOS DEL DISEO

Especificar Clases, Responsabilidades, Contratos.

Clases: elementos importantes en el subsistema.


Responsabilidades: lo que hace la clase.
Contratos: especificacin de los mtodos.
Qu parmetros?
Qu valores se devuelve el mtodo?
Qu hace el mtodo?
Colaboraciones: interaccin entre clases para lograr un resultado.
Las colaboraciones que se dan dentro de un subsistema
pueden obviarse en procesos de desarrollo giles. Son tiles
los diagramas de flujo y de actividad para los procesos de
actualizacin del loop.
EJEMPLO DE ARQUITECTURA DE VIDEOJUEGOS

También podría gustarte