Documente Academic
Documente Profesional
Documente Cultură
8 de noviembre de 2013
Contenido
Introduccin........................................................................................................ 3
Qu es un motor de visualizacin de videojuego?.............................................3
Breve historia de la evolucin de los motores de videojuegos............................5
Arquitectura general del motor de visualizacin para videojuegos.....................7
Capa de hardware............................................................................................ 8
Capa de Drivers............................................................................................... 9
Capa Sistema Operativo.................................................................................. 9
Capa de SDKs y Middlewares...........................................................................9
Capa independiente de la plataforma............................................................10
Subsistemas principales................................................................................ 10
Biblioteca matemtica................................................................................... 10
Estructura de datos y algoritmos...................................................................10
Gestin de memoria...................................................................................... 10
Depuracin y logging..................................................................................... 11
Gestor de recursos......................................................................................... 11
Motor de rendering........................................................................................ 11
Renderizado de bajo nivel.............................................................................. 11
Scene graph/culling y optimizaciones............................................................11
Efectos visuales............................................................................................. 12
Front-end....................................................................................................... 12
Herramientas de depuracin.........................................................................12
Motor de fsica............................................................................................... 13
Interfaces de usuario..................................................................................... 13
Networking y multijugador............................................................................. 13
Subsistema de juego...................................................................................... 13
Audio.............................................................................................................. 14
Subsistemas especficos de juego..................................................................14
Conclusiones..................................................................................................... 14
Referencias....................................................................................................... 15
Introduccin
Los videojuegos han evolucionado bastante desde aquel primer videojuego
llamado Pong lanzado a la venta en 1972. Los videojuegos de aquella lejana
poca se caracterizaban por su sencillez en los grficos. En la actualidad el
desarrollo y capacidades del software y hardware han alcanzado niveles
inimaginables y en consecuencia a esto los videojuegos han mejorado la calidad
de grficos. [1]
En este trabajo se desarrolla el tema de los motores de visualizacin para
videojuegos ya que el motor es el eje fundamental para desarrollar videojuegos.
Los temas que se tratan son los siguientes; definicin de motores grficos, historia
y evolucin de los motores grficos, funcionamiento de los motores.
Cabe mencionar que un motor grfico es el que utiliza grficas simples (no
grficas en 3D, ni grficas basadas en texto), esto quiere decir que un motor
grfico no puede mostrar imgenes las imgenes 3D reales pero lo que hace
dicho motor es simular efectos 3D mediante la manipulacin de los grficos en 2D.
En el libro titulado: Desarrollo de videojuegos. Arquitectura del motor de
videojuegos se dice que el trmino de motor de videojuego surgi a mediados de
los 90s con la aparicin del famoso juego de accin en primera persona Doom,
desarrollado por la compaa id Software bajo la direccin de John Carmack. Esto
se sustenta por el hecho de que Doom fue diseado con una arquitectura
orientada a reutilizacin mediante una separacin adecuada de distintos mdulos
de los componentes fundamentales. Por ejemplo el sistema de renderizado
grfico, el sistema de deteccin de colisiones o el sistema de audio, y los
elementos ms artsticos, como por ejemplo los escenarios virtuales o las reglas
que gobernaban al propio juego.[1]
Con el motor de juego diseado de esta forma se facilitaba demasiado la
reutilizacin del software y el concepto de motor de videojuego tom ms fuerza y
se hizo popular, con esto los desarrolladores de videojuegos se vieron
beneficiados ya que comenzaron a utilizar los mdulos de videojuegos licenciados
para crear los suyos, no necesitaban hacerlo todo desde cero ya que el ncleo,
por llamar as al motor de videojuego, no era modificado, lo nico que se
modificaba era el arte y las reglas que deba seguir el juego.
Hoy en da los videojuegos son ms realistas con efectos increbles y compiten
casi a la par con la industria cinematogrfica, todo esto se logra gracias a los
motores 3D. El motor 3D ayuda a manejar todo lo que est detrs de las
animaciones en tres dimensiones pero hacer un motor 3D no es nada trivial, por
suerte existen personas que generosamente dejan al pblico los motores que ellos
han creado, tambin existe quien vende motores muy caros pero con ellos se
pueden lograr videojuegos de mucho mejor calidad.
A grandes rasgos, las etapas que se siguen para crear un videojuego son las
siguientes:
1. Elaboracin del guion o historia.
Ya que se tiene el guion se desglosan las siguientes partes:
1.
2.
3.
4.
Despus de haber completado todo este proceso se hace una pregunta muy
importante: De cunto tiempo se dispone para realizar el videojuego?
En 1994 aparecen juegos como Heretic y Hexen con un motor mejorado basado
en Doom, entre una de las mejoras, al jugador ya se le permita mirar hacia arriba
o abajo.
En 1995 hay una nueva revolucin con la aparicin de Quake. Aqu ya todo era en
3D, desde los objetos, enemigos y sin limitaciones con los ngulos de las paredes
o los suelos.
En 1997 llega Quake II con un nuevo motor y es de los pioneros en implementar la
aceleracin de grficos por hardware.
6
nunca de manera inversa. Est diseado de esta manera para que se puedan ir
aadiendo ms capas progresivamente si as se requiere, as no se afecta las
capas que ya estn construidas. [1]
En la figura 4 se pueden observar los principales mdulos que forman parte de la
arquitectura.
Capa de hardware
Esta capa consiste en la plataforma en donde se ejecutar el motor del juego. En
esta capa se describen y especifican cosas especiales que se deben de tomar en
8
cuenta para cada plataforma en donde se ejecutar el motor de juego. Esto con la
finalidad de optimizar el rendimiento del juego .
Capa de Drivers
Esta capa contiene los componentes de software de bajo nivel que sirven para
gestionar y que los dispositivos de hardware funcionen correctamente.
Subsistemas principales
Esta capa est llena de utilidades o bibliotecas de utilidades que dan el soporte al
motor de juegos. Se listan los subsistemas que tienen mayor relevancia:
Biblioteca matemtica
Esta biblioteca proporciona al programador muchas utilidades para tratar
operaciones que contengan vectores, matrices, operaciones de lneas, rayos,
esferas y cualquier otra figura geomtrica. Obviamente se necesitan todas estas
operaciones ya que el desarrollo del motor de juegos est basado en algoritmos
matemticos.
Gestin de memoria.
Asigna y libera la memoria de forma eficiente.
10
Depuracin y logging
Este subsistema se encarga de facilitar depuraciones y volcados de logs para su
anlisis.
Gestor de recursos
En esta capa se proporciona una interfaz para gestionar eficientemente la
memoria y carga de los diferentes recursos como pueden ser: recurso esqueleto,
recurso colisin, mundo, recursos modelo 3D, recurso de textura, entre otros.
Motor de rendering
El motor de rendering es de las partes ms importantes y tambin de las ms
complejas, es por eso que tambin tienen una arquitectura en capas y las capas
que la conforman son las siguientes:
11
Efectos visuales
Como su nombre lo indica en esta capa se proporcionan distintos efectos que se
pueden agregar al videojuego, por ejemplo, agua, niebla, etc.
Front-end
Esta parte se encarga de dibujar contenido 2D sobre el escenario en 3D, por
ejemplo, cuando se despliega un men dentro del juego. La cama front-end
tambin incorpora componentes para reproducir vdeos, secuencias cinemticas,
etc.
Herramientas de depuracin
Estas herramientas tienen el objetivo de depurar y optimizar el motor de juego
para obtener el mejor rendimiento posible. Las herramientas ms relevantes son
las siguientes:
Motor de fsica
En esta parte se tratan las colisiones para dar realismo al juego ya que si no se
trataran de manera especial cuando colisionan dos objetos, estos se transpasaran
entre s. Este sistema de detecciones lleva a cabo las siguientes tareas:
1. Deteccin de colisiones, nos indica por medio de una variable lgica si
existe o no colisin.
2. Determinacin de la colisin, se calcula el punto de interseccin de la
colisin.
3. Respuesta de la colisin, determina las acciones que se deben seguir como
consecuencia de la colisin.
Interfaces de usuario
Este mdulo funciona mediante el tratamiento de eventos, estos eventos estn
asociados comnmente con eventos que realiza el usuario como pueden ser la
pulsacin de una tecla, movimiento del joystick, entre otros.
En otras palabras es el componente de entrada/salida del jugador, como resultado
de las salidas puede ser la vibracin del control al realizar una accin.
Networking y multijugador
Los juegos ms actuales ya incorporan el sistema de multijugador por medio de
una red, esto contiene el soporte para que varios jugadores interacten al mismo
tiempo. El mdulo de networking se encarga de gestionar la informacin que se
transmite entre varios usuarios por medio de sockets.
Subsistema de juego
Este subsistema es conocido mejor como gameplay, el cual contiene todos los
mdulos relativos al juego, es decir, contiene las propiedades del mundo virtual,
propiedades de los personajes, reglas que gobiernan el juego, objetivos y
mecnica que deben seguir los personajes.
En la figura 5 se muestra el diagrama conceptual de la arquitectura del subsistema
de juego.
Figura 5. Esquema conceptual de arquitectura general del subsistema de juego.
13
Audio
El objetivo de la capa de audio consiste en obtener un alto grado de fidelidad y
garantizar una buena experiencia desde el punto de vista auditivo.
Conclusiones
Hoy en da el motor de visualizacin de los videojuegos tiene una gran versatilidad
y los programadores pueden reconfigurar el hardware.
Los desarrolladores que se dedican a generar motores de juego le facilitan mucho
los programadores de juego ya que con un mismo motor de juego se pueden
desarrollar distintos videojuegos, el inconveniente sera que no habra mucha
diferencia entre los juegos.
14
Referencias
[1] Vallejo, D. 2012, Desarrollo de videojuegos: Arquitectura del Motor,
LibroVirual.org, 1 ed. 312pp
[2] Fabrizio Ferri-Benedetti, 2013. Qu es un motor grfico 3D?
<http://articulos.softonic.com/que-es-un-motor-grafico-o-motor-3d> [Con acceso el
6 de noviembre de 2013]
[3]<http://es.wikibooks.org/wiki/Creaci
%C3%B3n_de_videojuegos/Motores#Motores_gr.C3.A1ficos> [Con acceso el 7 de
noviembre de 2013]
[4] <http://en.wikipedia.org/wiki/Shoot%27Em-Up_Construction_Kit> [Con acceso
el 7 de noviembre de 2013]
[5]<http://sabia.tic.udc.es/gc/Contenidos
%20adicionales/trabajos/MotoresGraficos/motores
%20graficos/motoresgraficos.htm> > [Con acceso el 7 de noviembre de 2013]
[6<]<https://intranet.matematicas.uady.mx/personal/mramirez/website/madera/una
carPaper.pdf> > [Con acceso el 7 de noviembre de 2013]
15