Professional Documents
Culture Documents
1.1Assets
1.3Render (Renderizacin)
1.4Objetos 3D
1.6Culling
1.8Tesselation
1.9Iluminacin (lighting)
1.10Vertex Lighting
1.13Sonido
1.14Msica/Pistas de Audio
2Motores de videojuego
3Vase tambin
4Referencias
Assets[editar]
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 especficos 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.
Render (Renderizacin)[editar]
El render o renderizacin, es el proceso de la computadora en mostrar en pantalla el aspecto
visual de nuestro juego. El render se encarga de mostrar al jugador todo el poder grfico que
el desarrollador haya configurado en el motor, el render muestra todo lo que es el terreno o
BSP, modelos, animaciones, texturas y materiales. El render contribuye todo el aspecto visual
del juego.
Objetos 3D[editar]
son objetos "secundarios" podra decirse, que se agregan al escenario del
videojuego (Ej: Baos, puertas, rboles, muebles, adornos, etc) Los
Imagen
Vrtice
s
Notas
~5500
~2880
~1580
Detalle Mximo.
Jugador cerca del
objeto.
~670
140
Detalle Mnimo.
Jugador muy lejos
del objeto.
modelos pero es exclusivo para modelos High-Poly puesto que se especializa en deformar
con curvas.
Culling[editar]
Codificado 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 comparacin con
los FPS. Un mtodo de Culling puede ser utilizando rboles BSP.
El BSP (Binary Space Partioning) es el modelo o terreno base que nuestro videojuego siempre
va a renderizar en todo momento, el BSP se diferenca por ser la base de nuestro mundo o
nivel, es lo que conforma el ecosistema y estructura de nuestro nivel (Ej. Un desierto, un mar,
un castillo, un bosque etc) Un BSP se puede crear de muchas maneras pero hoy en da las
tcnicas ms utilizadas son mediante Brushes y Heightmaps.
Brushes: Los Brushes es una herramienta codificada del software del motor, no todos
los motores lo utilizan pero motores de nueva generacin como Unreal y CryEngine lo
utilizan y manejan High-Order surfaces para deformar la superficie mediante vrtices.
Tambin, se pueden crear BSPs con Brushes que crean figuras geomtricas simples
como: Cuadrado, Esfera, Cilindro, Cono, etc.
Heightmaps: Los Heightmaps son mapas que funcionan a escalas de grises al igual
que sus "hermanos" displacement maps. Los heightmaps estn ms codificados para
deformar una superficie High-Poly o HOS mediante escala de grises y pixeles y solo
modifican la altura. El color negro representa una altura nula o sea que no es modificada,
y mientras ms blanco sea el pixel representa ms altura a la superficie.
Tesselation[editar]
Tcnica usada por la caracterstica de TruForm de ATI que consiste en agregar ms polgonos
a un modelo o a una superficie convirtindolo en un objeto High-Poly para poder agregar ms
detalle visual.
Iluminacin (lighting)[editar]
La iluminacin es un proceso de renderizacin en la que el motor ilumina todo lo que sea 3D
ya sea por pixel o por vrtice. La iluminacin varia dependiendo la configuracin que haya
establecido el usuario al motor. La iluminacin puede ser de las cosas ms complejas al
desarrollar un videojuego puesto que una iluminacin cercana a lo "perfecto" puede dar un
aspecto visual al juego espectacular, pero claro que no es fcil de obtener. Por lo general la
iluminacin es influenciada por APIs, como DirectX y OpenGL, por obvias razones, versiones
ms nuevas de esta API demuestran mejores resultados de iluminacin. El sombreado es otro
factor sumamente importante y que reacciona mediante la luz, si el mundo obtiene buena
iluminacin tambin tendr un buen sombreado.
Vertex Lighting[editar]
Se determinan cuantos polgonos cruzan el vrtice, se toma el total de todas las orientaciones
de los polgonos (Normal) y se asigna la normal al vrtice. Para cada vrtice, un polgono
dado reflejar la iluminacin en una forma levemente distinta. La ventaja es que al hardware le
toma menos tiempo el procesarlo, pero este tipo de iluminacin no produce sombras.
Phong Shading: es similar al Gouraud Shading, trabajan con la textura, solo que el
Phong Shading usa a los pxeles en lugar de lo vrtices.
Light Map Generation (Generacin del mapa de luz): se usa una segunda capa de
textura (mapa de luz) que dar el efecto de iluminacin a los modelos, es un efecto
excelente pero debe tomarse antes del renderizado pero si se tienen Luces Dinmicas (o
sea luces que se mueven, encienden o apagan sin intervencin de programa) se debe
estar regenerando los mapas en cada Frame de animacin lo que toma mucha cantidad
de memoria (pero son de render rpido).
Textura: es esencial para que las escenas 3D se vean reales, en si las texturas son
imgenes que se rompen en los distintos polgonos del modelo, muchas imgenes
tomarn mucho espacio en la memoria por eso se debe usar tcnicas de compresin:
Mapeo MIP: consiste en preprocesar las texturas creando mltiples copias del mismo
cada una la mitad del anterior, esto porque si la textura solo es pegada al polgono cada
textura es a cada pxel y tomara ms tiempo de render; as cada Texel (elemento de
Textura) toma menos espacio.
Texturas Mltiples: requiere mltiples renderizados por lo que para obtener buen
resultado se necesita una tarjeta con Acelerador de Grficos, provee mejor calidad que el
simple mapeo. Se puede colocar una imagen sobre otra (ms transparente) para dar el
sentido de movimiento pulso o hasta sombra.
Bump Mapping: tcnica vieja de texturas que tratan de mostrar como la luz se refleja
en el objeto. Solo hasta hace poco se vuelto a retomar.
La segunda manera se hace por medio de tomar todo el marco y quitarle los bordes dentados,
pero esto requiere de mucha memoria.
Vertex and Pixel Shaders (Vrtices y Sombreo de Pixeles): Con este mtodo se
pueden extraer y utilizar directamente las caractersticas y facilidades de la tarjeta de
video, sin tener que utilizar mucho la API. Pero no es utilizable en todas las tarjetas.
El manejo del cache de textura es imprescindible para que el juego se desarrolle rpido (y
para cualquier motor), ya que si se presenta un constante swapping de las texturas en la
tarjeta el juego se vera lento y tedioso, algunos APIs descargan cada textura cuando esto
pasa, pero eso hara que en cada cuadro se refresquen las texturas dando ms lentitud. Todo
se trata de cargar la menor cantidad de veces una misma textura, pero eso tambin depende
del API que se utilice. Otra tcnica es la compresin de texturas, comprimir texturas es como
comprimir MP3, los algoritmos de compresin logran una relacin 4:1 que no es mucho pero
ayuda.
LOD (level of detail, nivel de detalle): el sistema de nivel de detalle est relacionada
con la complejidad geomtrica de los modelos. Algunos sistemas necesitan que se hagan
mltiples versiones del modelo, para que dependiendo de cuan cerca de este del modelo
as ser su cantidad de polgonos. Otros sistemas ajustan dinmicamente esta
caracterstica pero en este caso da ms carga al CPU
Depth Testing (prueba de profundidad): Con esto se empieza a eliminar los pxeles
ocluidos y se pone en prctica el concepto de sobre dibujado. La prueba de profundidad
es una tcnica utilizada para determinar que objetos estn delante de otros en la misma
localizacin del pxel.
Sonido[editar]
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.
Msica/Pistas de Audio[editar]
El sonido de un videojuego se llega a manejar de muchas maneras y esto depende de las
capacidades que tenga el motor. Hoy en da los motores de nueva generacin soportan
muchos formatos de sonido pero los ms populares son el ".wav" y ".ogg" y en algunas casos,
exigen configuraciones exactas dependiendo el motor. La administracin de pistas de audio
larga son amplias puesto que motores de nueva generacin permiten modificacin para poder
meter un "looping" a la pista, modificar el tono, etc.
Motores de videojuego[editar]
Nombre
Lenguaje de programacin
3D Rad
C#
C++
Aleph One
C++
Allegro library
Angel2D
C++
Ardor3D
Java
Axiom Engine
C#
Blender
C++
Build engine
Cafu Engine
C++
ClanLib
C++
Cocos2d
Construct Classic
Event Based
Nombre
Lenguaje de programacin
Core3D
Objective-C
CRM32Pro SDK
C/C++
Crystal Space
C++
Cube
C++
Cube 2
C++
Delta3d
C++
Dim3
C++
Java
HTML5Javascript PHP
Dreemchest
C++
Duality
C#
Eclipse Origins
Visual Basic 6
Nombre
Lenguaje de programacin
ENIGMA
C++
Env3D
Java
Exult
C++
FLARE
C++
C++
Flixel
ActionScript
GameMaker: Studio
Delphi
GameKit (OgreKit)
C++
GamePlay3D
C++
Gamvas
JavaScript
Grit
C++
C++
HGamer3D
Haskell
Nombre
Lenguaje de programacin
Horde3D
C++
HPL 1 engine
C++
id Tech 1 (Doom)
id Tech 1 (Quake)
id Tech 2
id Tech 3
id Tech 4
C++
Indielib
C++
ioquake3
IwGame Engine
C++
Jake2
Java
JGame
Java, Actionscript 3
jMonkeyEngine
Java
Jogre
Java
Nombre
Lenguaje de programacin
Java
Kobold2D
Objective-C
Libgdx
Java
Linderdaum Engine
C++
LVE
Lua
LWJGL
Java
Maratis
C++
melonJS
Javascript
Moai SDK
C++
Multiverse Foundation
Nebula Device
C++
NetGore
C#
Nombre
Lenguaje de programacin
NME
Haxe
nxPascal
Object Pascal
OpenSimulator
C#
ORX
C/C++
Oxygine
C++
Panda3D
C++
PixelLight
C++
Polycode
C++
PLIB
C++
Pyrogenesis
C++
Retribution Engine
C++
SFML
C++
Sge2d
Source
StormEngineC
JavaScript
Spring
C++
StepMania
C++
Stratagus
Torque3D
C++
Turbulenz
TypeScript
Wire3D
C++
WorldForge
C++
Nombre
Lenguaje de programacin
ZenGL
Pascal
ZGameEditor
Delphi
Unity3D
C#
Unreal Engine
C++
WiMi5
HTML5
Nombre
Lenguaje de programacin
Vase tambin[editar]
Anexo:Motores de juego
DirectX
OpenAL
OpenGL