Motor de Videojuegos.

Transcripción

Motor de Videojuegos.
Motor de Videojuegos.


En un comienzo se diseñaban los videojuegos para un
hardware específico, usando directamente instrucciones de
los diversos microprocesadores.
Si se deseaba que el videojuego fuera jugable en otro equipo,
se debía reescribir el código.



Mientras evolucionaba la programación y el hardware
(consolas / pc), era más fácil diseñar videojuegos.
Además cada vez importaba menos si se diseñaban juegos
para una CPU o para otra.
Comenzaron a crearse herramientas de dibujo más sencillas,
etc.



Usan drivers para las tarjetas gráficas, de forma
que son la interfaz entre la aplicación software
(videojuego) y el adaptador gráfico hardware.
Proveen una librería de elementos gráficos
simples para poder así producir gráficos
complejos.
APIs Gráficas: DirectX, OpenGL…



Se basó de un API de Gráficos 3D llamada Reality Lab,
y una vez que Microsoft compró la empresa que
desarrollaba el software en 1995, lo implementó
como motor gráfico para Windows 95.
Colección de APIs para la plataforma Windows y
algunas consolas como Dreamcast, XBox y XBox360.
Provee APIs para gráfica 2D y 3D, sonido,
video, input y redes.
1. Introduce los datos de entrada (primitivas).
2. Opera sobre los vértices de forma individual.
3. Realiza operaciones con primitivas.
4. Almacena los datos en memoria.
5. Convierte la imagen 3D en pixeles.
6. Realiza operaciones con los pixeles.
7. Combina la salida de pixeles con patrones de
profundidad para construir el resultado final.



Desarrollada originalmente por Silicon Graphics
Inc. en 1992, actualmente por el grupo Khronos.
Provee sólo funciones gráficas, abstrayéndose de
las distintas tarjetas gráficas.
Es Multiplataforma: Mac OS, Windows,
GNU/Linux, PS3…
Aplicación (Videojuego)
API Gráfica (DirectX, OpenGL)
Driver
Hardware (Tarjeta Gráfica)


Es una API especializada para videojuegos, que
contiene varios componentes y herramientas para el
desarrollo de éstos.
Entre los componentes:
◦
◦
◦
◦
◦

Motor de Render.
Motor de Física y Colisiones.
Motor de Sonido.
Gestor de Redes.
Motor de I.A.
Lo más importante es el motor gráfico, que se apoya
en las APIs gráficas.


En un principio los videojuegos se diseñaban desde cero.
La experiencia de los diseñadores hizo que se
comenzara a reutilizar material
En los 90’ tras el éxito de
Doom y Quake, diseñados por
id Software, surge el desarrollo
de motores de videojuegos, en
un principio sólo diseñados
para FPS.
IdTech3:
RenderWare:
Source Engine:






Facilita el desarrollo.
Abstracción de la plataforma.
Separación de motor y contenidos.
Permite enfatizar en la parte artística.
Permite el rápido desarrollo de videojuegos.
Facilita la realización de secuelas.

Plataforma:
◦ PC: Windows, Linux, Mac OS.
◦ Consola: Xbox 360, PS2, PS3, Wii.
◦ Móviles: Zune, Windows Mobile, iPhone, Symbian.

Lenguaje:
◦ C++, C#, Java, Python.

Tipo de Videojuego:
◦ FPS, RTS, MMORPG, Fighting Game, Racing Game.

Comercial:
◦ Ventaja: Soporte, muchas herramientas adicionales.
◦ Desventaja: Precio, sujeto a lo que ofrecen.

Open Source:
◦ Ventaja: Precio, posibilidad de modificación.
◦ Desventaja: Sin soporte técnico “oficial”, falta de
herramientas.





Comerciales:
Torque Game Engine Advance
($295).
3D Game Studio ($1.250).
Quake III Engine ($250.000 +
5% de royalties).
Warcraft III Engine:
($3.750.000)








Open Source:
Irrlicht.
Ogre.
Panda 3D.
NeoAxis.
Semi-Comercial ( El nuevo
enfoque)
UDK.
XNA.
Aplicación (Videojuego)
Engine Gráfico
API Gráfica (DirectX, OpenGL)
Driver
Hardware (Tarjeta Gráfica)


Proporciona funciones gráficas, se encarga de la
visibilidad, gestión de mallas, entre otras cosas.
Debe proporcionar técnicas para optimización de
recursos visuales.







Basado en pluggins.
Escenarios: mapas de alturas y BSP,
Iluminación y sombras.
Animación: Skeletal, Morph.
Efectos especiales: Cielo, Agua, Niebla.
Scripts: Materiales, Partículas, Compositores.
Shaders: Vertex y Pixel Shaders de alto nivel.






Simula modelos de física, utilizando variables de
tipo velocidad, masa, etc.
Detección de Colisiones.
Gravedad en el mundo.
Cuerpos rígidos y dinámicos.
Aplicación de Fuerzas.
Uniones entre cuerpos.




Encargado de reproducir la banda sonora del
videojuego y efectos de sonido.
Música de Background.
Sonido 3D dependiendo de la posición, velocidad
y dirección.
Capaz de soportar múltiples formatos: Ogg
Vorbis, Wav, Midi…

Cada vez es más importante el concepto de Red, ya
que no es lo mismo interactuar con enemigos
computarizados que interactuar con otros jugadores
en el mismo mundo.

Debe proveer las funcionalidades:
◦ Tanto de servidor como de cliente.
◦ Tanto para LAN como para Internet.
◦ Para los nuevos protocolos de red, ej: IPv6.

Estabilidad y escalabilidad
son conceptos claves.




Necesitamos “realidad” en nuestro videojuego.
Encargado de dotar ciertos elementos del videojuego
con comportamientos seudo-inteligentes.
Técnicas simples: Máquinas de estados y algoritmos
de búsquedas.
Nuevas técnicas: redes neuronales y algoritmos
genéticos.

Máquinas de Estados.
Patrullar
Descansar
Huir
Atacar
Perseguir





Hoy en día un motor de videojuegos es más que esto, además
debe proveer:
Encriptación, para eliminar piratería.
Manejo con nuevos periféricos (lásers, cámaras para realidad
aumentada, gps, etc.).
Leer una cantidad de formatos considerable.
En resumen, debe estar al día con la tecnología y los
requerimientos de la sociedad gammer.
TGEA 3D
Ogre3D
Source Engine
Source Engine
Unreal Technology
(UnrealKismet , the
visual scripting
system)
Unreal Technology



DirectX y OpenGL.
http://www.slideshare.net/guest5506a9/directxy-open-gl-presentation
Motor de juegos.
http://www.esi.uem.es/jccortizo/motores.html
Programación de Videojuegos.
http://sabia.tic.udc.es/gc/Contenidos%20adicional
es/trabajos/Juegos/ProgramacionVideojuegos/Pro
gramacion%20de%20videojuegos.htm

Documentos relacionados