Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Un motor de videojuego es un trmino que hace referencia a una serie de rutinas de programacin que permiten el diseo, la creacin y la representacin de un
videojuego. Del mismo modo existen motores de juegos
que operan tanto en consolas de videojuegos como en
sistemas operativos. La funcionalidad bsica de un motor es proveer al videojuego de un motor de renderizado
para los grcos 2D y 3D, motor fsico o detector de colisiones, sonidos, scripting, animacin, inteligencia articial, redes, streaming, administracin de memoria y un
escenario grco. El proceso de desarrollo de un videojuego puede variar notablemente por reutilizar o adaptar un mismo motor de videojuego para crear diferentes
juegos.[1]
Hoy en da existen una gran variedad de motores completos y motores grcos como OGRE 3D que es un motor grco gratuito con open-source para que el usuario
pueda crear aplicaciones desde el lenguaje C++. Desarrolladoras grandes de videojuegos como Epic, Valve y Crytek han lanzado al pblico sus motores o SDKs para que
los usuarios interesados en el desarrollo de videojuegos
puedan descubrir como se elaboran y as tener una introduccin amplia a la industria y el desarrollo. Otros ejemplos de motor de juego son el motor grco Doom Engine, Quake Engine, y GoldSrc, desarrollado por Valve y
el cual fue utilizado para crear el exitoso juego Half-Life
1; otros motores famosos son Source, tambin creado por
VALVe, y BLAM! Engine, desarrollado por Bungie, y en
el cual se cre la famosa saga de Halo.
1.1
1.4
Objetos 3D
Los assets pueden ser traducidos como elementos que sern introducidos al videojuego. Estos elementos incluyen
Modelos 3D, personajes, texturas, materiales, animaciones, scripts, sonidos, y algunos elementos especcos de
cada motor. Cada motor trabaja de una manera distinta a
otros lo cual puede aceptar Assets que otros motores no
pueden manejar, sin embargo los ejemplos mencionados
antes, son elementos que todos los motores de hoy en da
usan.
1.5
Es una forma de renderizacin especialmente para terreno en un videojuego. Videojuegos de nueva generacin como Gears Of War, Halo 4, Battleeld 4, Crysis 3, Un heightmap creado con Terragen
utilizan esta tcnica para crear terreno de manera suavizada y realista.. Esta tcnica se puede utilizar para otros
modelos pero es exclusivo para modelos High-Poly puesto que se especializa en deformar con curvas.
1.6
Culling
Codicado que logra que los objetos que no se ven en determinado cuadro de la animacin por causa de objetos
que los obstaculizan (como una pared) no tomen tiempo
de renderizado. As se reduce la cantidad de trabajo del
motor. El Culling es ms fcil de implementar en juegos
en donde la visin es controlada, como los RTS, en com- El resultado del Heightmap utilizado en Terragen en una superparacin con los FPS. Un mtodo de Culling puede ser cie 3D
utilizando rboles BSP.
1.7
Heightmaps: Los Heightmaps son mapas que funcionan a escalas de grises al igual que sus hermanos displacement maps. Los heightmaps estn ms
codicados para deformar una supercie High-Poly
o HOS mediante escala de grises y pixeles y solo
modican la altura. El color negro representa una
1.11
altura nula o sea que no es modicada, y mientras El Phong Shading toma ms tiempo de procesamiento
ms blanco sea el pixel representa ms altura a la que el Vertex Shading pero su resultados son mucho mesupercie.
jores en cuestin de suavizado de texturas.
1.8
Tesselation
1.9
Iluminacin (lighting)
Vertex Shading (Sombreado de Vrtice, Gouraud La segunda manera se hace por medio de tomar todo el
shading): solicita al motor de renderizado un color marco y quitarle los bordes dentados, pero esto requiere
para cada vrtice, luego por medio de interpolacin de mucha memoria.
se renderiza cada pxel por la distancia en relacin
con su respectivo vrtice.
Vertex and Pixel Shaders (Vrtices y Sombreo de
Pixeles): Con este mtodo se pueden extraer y utili Phong Shading: es similar al Gouraud Shading, trazar directamente las caractersticas y facilidades de
bajan con la textura, solo que el Phong Shading usa
la tarjeta de video, sin tener que utilizar mucho la
a los pxeles en lugar de lo vrtices.
API. Pero no es utilizable en todas las tarjetas.
1.13 Sonido
Creative Labs ahora ha proporcionado sus extensiones
manejadores de sonido EAX para DirectX, y la nueva iniciativa de OpenAL (biblioteca audio abierta). OpenAL,
como suena, es un API para los sistemas de los sonidos
de la misma manera que OpenGL es un API.
Para el procesado de sonido es muy similar al procesado de los modelos, muchas veces un software los procesa
antes de pasar al hardware respectivo, por ejemplo DirectSound hace al sonido para la Tarjeta de sonido lo que
Direct3D hace al modelado antes de llegar al la Tarjeta
3D. Esto es llamado premezcla en el software.
1.12 Scripting Systems (Sistemas de scrip- La inteligencia articial de determinado juego puede torting)
narse muy compleja, primero se debe denir la lnea base
del comportamiento de los NPC (Non Player Characters Personajes no Jugables), primero debe denirse qu hace el NPC (patrulla, guarda, etc.), luego se delimita su
visin del mundo, que es lo es el NPC puede ver del
mundo del juego; se debe tomar en cuenta que el personaje no slo estar en medio del mundo del juego sino
que tambin interactuar con l, despus vienen las rutinas de Toma de Decisin: si el NPC est patrullando, y
El scripting le permite al diseador tomar mando de la hay un sonido, debe darle importancia o no?, investiga
escena y manipularla, como colocar objetos o eventos que su origen o no?, etc.
Pre-scripted Cinematics: usada normalmente en
una situacin que necesita la explicacin en una manera controlada. Para presentar las escenas de la historia, ahora se utilizada el cortar-escenas que presenta la historia en vdeo digital y luego por medio
de transiciones se pasa a las grcas reales del juego.
5
Es un sistema de reglas para las acciones que responden
(o inician) y que el jugador debe responder, esto es un
concepto ms general de IA.
Motores de videojuego
Vase tambin
Anexo:Motores de juego
DirectX
OpenAL
OpenGL
Referencias
5.1
Texto
5.2
Imgenes
Archivo:Commons-emblem-question_book_orange.svg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/1/1f/
Commons-emblem-question_book_orange.svg Licencia: CC BY-SA 3.0 Colaboradores: <a href='//commons.wikimedia.org/wiki/File:
Commons-emblem-issue.svg' class='image'><img alt='Commons-emblem-issue.svg' src='https://upload.wikimedia.org/wikipedia/
commons/thumb/b/bc/Commons-emblem-issue.svg/25px-Commons-emblem-issue.svg.png' width='25' height='25' srcset='https:
//upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/38px-Commons-emblem-issue.svg.png
1.5x,
https://upload.wikimedia.org/wikipedia/commons/thumb/b/bc/Commons-emblem-issue.svg/50px-Commons-emblem-issue.svg.png 2x'
data-le-width='48' data-le-height='48' /></a> + <a href='//commons.wikimedia.org/wiki/File:Question_book.svg' class='image'><img
alt='Question
book.svg'
src='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/25px-Question_
book.svg.png' width='25' height='20' srcset='https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/
38px-Question_book.svg.png 1.5x, https://upload.wikimedia.org/wikipedia/commons/thumb/9/97/Question_book.svg/50px-Question_
book.svg.png 2x' data-le-width='252' data-le-height='199' /></a> Artista original: GNOME icon artists, Jorge 2701
Archivo:Heightmap.png Fuente: https://upload.wikimedia.org/wikipedia/commons/5/57/Heightmap.png Licencia: Public domain Colaboradores: No machine-readable source provided. Own work assumed (based on copyright claims). Artista original: No machine-readable
author provided. A3r0 assumed (based on copyright claims).
Archivo:Heightmap_rendered.png Fuente: https://upload.wikimedia.org/wikipedia/commons/2/2f/Heightmap_rendered.png Licencia:
Public domain Colaboradores: Image:Heightmap.png Artista original: ?
Archivo:Scorched_3D_1_screenshot_roam1.JPG Fuente: https://upload.wikimedia.org/wikipedia/commons/d/db/Scorched_3D_1_
screenshot_roam1.JPG Licencia: GPL Colaboradores: http://www.scorched3d.co.uk/screenshots/39/screenshot-39.1-3-large.jpg Artista
original: Gavin Camp [1]
Archivo:WireSphereHiTass.MaxDZ8.jpg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/f/fc/WireSphereHiTass.
MaxDZ8.jpg Licencia: Public domain Colaboradores: Snapshot from a program I've written. Artista original: MaxDZ8
Archivo:WireSphereLowTass.MaxDZ8.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/c/cd/WireSphereLowTass.
MaxDZ8.jpg Licencia: Public domain Colaboradores: Snapshot from a program I've written. Artista original: MaxDZ8
Archivo:WireSphereMaxTass.MaxDZ8.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/3/31/WireSphereMaxTass.
MaxDZ8.jpg Licencia: Public domain Colaboradores: Snapshot from a program I've written. Artista original: MaxDZ8
Archivo:WireSphereMinTass.MaxDZ8.jpg Fuente: https://upload.wikimedia.org/wikipedia/commons/9/92/WireSphereMinTass.
MaxDZ8.jpg Licencia: Public domain Colaboradores: Snapshot from a program I've written. Artista original: MaxDZ8
Archivo:WireSphereStdTass.MaxDZ8.jpg
Fuente:
https://upload.wikimedia.org/wikipedia/commons/f/f2/WireSphereStdTass.
MaxDZ8.jpg Licencia: Public domain Colaboradores: Snapshot from a program I've written. Artista original: MaxDZ8
Archivo:X_mark.svg Fuente: https://upload.wikimedia.org/wikipedia/commons/a/a2/X_mark.svg Licencia: Public domain Colaboradores: Trabajo propio Artista original: User:Gmaxwell
5.3