Anda di halaman 1dari 11

COMPARATIVA DE

MOTORES GRFICOS
PARA VIDEOJUEGOS
Jordi Cat v.1.0: 27-04-2002
Jordi Cat v.2.0: 06-05-2002
Revisado lex Mndez: 08-05-2002
2
TABLA DE CONTENIDOS
PROBLEMA..................................................................................................................... 3
ALTERNATIVAS ............................................................................................................ 3
DECISIN........................................................................................................................ 5
CONCLUSIN................................................................................................................. 6
ANEXO............................................................................................................................. 7
DESCRIPCIN CARACTERSTICAS....................................................................... 7
Crystal Space............................................................................................................. 7
Fly 3D....................................................................................................................... 7
Unreal........................................................................................................................ 8
Genesis 3D................................................................................................................ 8
Torque (V12)............................................................................................................. 9
Quake 2..................................................................................................................... 9
TABLA DE CARACTERSTICAS ........................................................................... 10
3
PROBLEMA
Estamos interesados en implementar mtodos de iluminacin global, como por ejemplo
las obscurances, en tiempo real, dentro de un motor grfico pensado para videojuegos.
De esta manera este documento refleja el anlisis de las diferentes propuestas y tiene
como objetivo la eleccin del que ms se adecue a nuestras necesidades.
ALTERNATIVAS
Con la finalidad de elegir el motor grfico en el que implementar los temas de
iluminacin global hacemos un anlisis de diferentes paquetes. Los candidatos son:
Crystal Space
Fly3D
Unreal
Genesis3D
Torque (V12)
Quake 2
A continuacin se comentan brevemente las diferentes posibilidades. Es preciso
comentar que en el Anexo se detallan las diferentes caractersticas de cada uno de ellos.
Crystal Space
Desarrollado por Jorrit Tyberghein, basado en renderizado en portales, BSP, Z-
Buffering y radiosidad. Entre todas sus principales caractersticas destacamos la gran
portabilidad y la gran escalabilidad proporcionada por el sistema de plugins y,
adems, bajo licencia LGPL.
Las plataformas soportadas son UNIX (Linux, y Solaris), DOS, Macintosh, Amiga,
Windows, BeOS, NextStep, Rhapsody y ports OpenStep.
Direccin www.crystal.sourceforge.net
Fly3D
Desarrollado por Paralelo Computaao, basado en renderitzado por rboles BSP, PVS y
portales, entre sus caractersticas destacamos la escalabilidad proporcionada por su
sistema de plugins.
La plataforma que soporta es Windows.
Licencia libre sin coste y acceso a todo el cdigo fuente.
4
Direccin www.fly3d.com.br
Unreal
Motor grfico del juego Unreal desarrollado por la empresa Epic MegaGames basado
en una extensin del renderizado en portales conocido como Dynamic Scene Graph
Technology (DSG), BSP y radiosidad. Su principal caracterstica es la gran
escalabilidad (muy modular).
Se encuentra disponible para las plataformas Linux, Windows, Macintosh, Playstaion 2
y Xbox.
Para desarrollar con este motor se tiene que adquirir una licencia (USD 250.000 -
USD 500.000) que da acceso a todo el cdigo fuente, a las herramientas y juegos.
Direccin www.epicgames.com
Genesis3D
Desarrollado por Eclipse Entertainment basado en renderizado en portales, BSP y
radiosidad.
La nica plataforma soportada es Windows.
Bajo licencia libre y derecho a modificar el cdigo fuente, a cambio de tener que
mostrar el logotipo del motor en las aplicaciones que lo utilicen o bien bajo licencia
comercial de coste USD 10,000 por ttulo, para que no salga el logotipo de genesis 3D
y cdigo abierto.
Direccin www.genesis3d.com
Torque (V12)
Motor grfico utilizado en el juego Tribes 2 de Dinamix basado en renderizado en
portales.
Desarrollado para las plataformas, tanto el cliente como el servidor, Windows, Mac OS
9/X y en preparacin Linux.
Es necesaria licencia (USD 100) que da acceso al cdigo fuente.
Quake 2
Es el motor grafico del videojuego Quake 2, desarrollado por John Carmak de Id.
Software. Se basa en el renderizado por rboles BSP y radiosidad.
Soporta plataformas Windows, Linux i Macintosh.
Su Licencia oscila entorno los 250.000 USD que da acceso al codigo fuente.
5
DECISIN
Nos basamos en las siguientes caractersticas para decidir el motor que utilizaremos en
el desarrollo:
Mnimo coste de obtencin de licencia
Conocimiento previo.
Portabilidad.
Escalabilidad.
Los diferentes aspectos son comentados a continuacin:
El coste de los motores depende del tipo de licencia bajo la que se distribuye.
Analizando las posibilidades observamos que tenemos tres tipos de licencia: Libre,
LGPL y propias. Con licencia libre tenemos el Fly3D, con licencia LGPL tenemos
el Crystal Space y bajo licencia propia encontramos el Unreal, Quake 2 y el
Genesis3D.
El motor de Unreal como ha sido comentado anteriormente se encuentra bajo
licencia propia, en este caso implica que para poder desarrollar con este motor se
debe adquirir una licencia que da acceso al cdigo fuente, herramientas y juegos.
Esta licencia puede costar del orden de USD 500.000, con lo que sobrepasa
enormemente cualquier presupuesto de la universidad. Un caso parecido es el
del motor de Quake 2, cuya licencia es de USD 250.000.
Con el Genesis3D tenemos dos tipos de licencias propias, una libre y otra
comercial. El primer caso nos encontramos con que al desarrollar una aplicacin
con este motor nos aparecer al inicio de esta el logotipo de este, y adems el
cdigo est sujeto a la licencia por consiguiente nuestro cdigo ser libre. En el
segundo caso no nos aparece el logotipo y el cdigo que desarrollemos no est
sujeto a la licencia libre, y su costo suma USD 10.000 por ttulo producido.
Bajo licencia totalmente libre tenemos el Fly3D por lo que podemos modificar
el cdigo fuente y podemos utilizar parte de este para nuestros propsitos, sin
tener que quedar afectados por ningn tipo de licencia.
Por ltimo encontramos el Crystal Space que se encuentra bajo licencia LGPL
1
,
por tanto podemos modificar el cdigo libremente bajo ciertas condiciones.
Conocimiento previo: Varios de los componentes del equipo de grficos en Girona
y Castelln han utilizado previamente el motor de juegos Crystal Space, lo que
supone un ganancia en tiempo de desarrollo al tener que estudiar de forma mnima
el motor.

1
LGPL: Lesser General Public License, o Licencia Pblica General Menor es una licencia de costo libre
pero que asegura que cualquier modificacin del cdigo o cualquier librera aadida slo puede ser
distribuida mediante la misma licencia LGPL. Para ms informacin ver
http://www.gnu.org/copyleft/lesser.html.
6
La Portabilidad, un factor que en parte nos condiciona por el hecho de poder
desarrollar de una manera independiente de la plataforma. De esta forma tendremos
un amplio abanico de sistemas donde escoger
El motor ms portable es el Crystal Space dando soporte para nueve
plataformas, seguido por Unreal, cinco plataformas, y Torque y Quake 2, tres
plataformas.
La escalabilidad del motor nos permite extender las posibilidades de ste
aadiendo nuevas funciones y caractersticas por medio de plugins y/o mdulos
externos.
De ms a menos tenemos Unreal, Crystal Space y Fly3D que estn basados en
sistemas de plugins con la finalidad de extender sus funcionalidades.
CONCLUSIN
Haciendo un pequeo resumen observamos que Crystal Space rene las condiciones
para ser el motor de juegos elegido. Primero, no supone ningn coste econmico, ya que
tiene licencia LGPL y sus condiciones no nos aportan ningn problema, ya que las
funcionalidades que nosotros aadamos pueden, en caso de ser distribuidas, ser LGPL
igualmente. Segundo, es muy portable, lo que nos permite escoger la plataforma de
desarrollo. En tercer lugar es muy escalable. En ltimo lugar, y determinante para su
eleccin, tenemos un conocimiento previo del motor, lo que supone ganancia en tiempo
al no tener que estudiarlo previamente.
7
ANEXO
DESCRIPCIN CARACTERSTICAS
Crystal Space
Las plataformas soportadas son UNIX (Linux, y Solaris), DOS, Macintosh, Amiga,
Windows, BeOS, NextStep, Rhapsody y ports OpenStep.
Las apis soportadas son OpenGL para Windows, Linux, Beos, Macintosh y OS/2,
Direct3D para Windows y Glide para Linux y Windows.
Renderizado en Sectores y Portales, BSP, Z-Buffer, Sistema de partculas, terrenos,
radiosidad, C-buffer y superficies curvas y superficies reflectantes.
Respecto las luces, soporta Lightmaps, Bumpmapping, Phong y Gouraud, luces
dinmicas, multicolores y radiosidad precalculada para los Lightmaps.
Los formatos con los que trabaja son 3DS, MD2 (Quake 2), OBJ, POV y ASE.
Trebaja las texturas con Texture mapping, Mipmapping, Texturas procedurales,
dinmicas y multitextura.
Incorpora el lenguaje script Python y LUA.
Su sistema de visibilidad esta basado en una combinacin de portales, octrees, arboles
BSP y C-buffer.
Incorpora, a ms, deteccin de colisiones basado en estructures jerrquicas de cajas
englobantes, jerarqua de objetos, meshes progresivas con LOD, Sprites 2D y 3D,
Superficies de Bezier, Motor de simulacin de modelage dinmico (librera fsica).
Fly 3D
Las plataformas que soporta es Windows con OpenGL y Direct3D.
El renderizado se basa en rboles BSP, PVS (Potencial Visibility Set) y Sistema de
partculas.
Implementa luces estticas y dinmicas, sombras dinmicas soft-shadows, mapas de
sombras dinmicas, Lightmaps y iluminacin por vrtice especular y difusa para objetos
dinmicos.
Incorpora textura detallada y multitextura.
8
Otras caractersticas son sistema de plugins (DLLs), sistema de deteccin de colisiones,
Exportador / importador de 3Dstudio MAX, LOD para caras curvadas, Quake 3
importador (geometra, texturas y superficies curvas), Inteligencia artificial (A*
optimizado) y meshes animadas.
Unreal
Se encuentra disponible sobre las plataformas Linux, Windows, Macintosh, Playstaion
2 y Xbox.
Utiliza el sistema DSG ( Dynamic Scene Graph Technology ) que s una extensin
natural del renderizado en portales, interpolacin de meshes, radiosidad, rboles BSP,
LOD, superficies curvas y superficies reflectantes.
Incorpora luces multicolores, dinmicas, Lightmaps, Raytracing y enveloped lighting.
Soporta nativamente el formato DXF
En el tema de texturas incorpora Texture mapping, mapas de sombras, mapas de niebla,
textura detallada para definir objetos muy detallados, texturas procedurales, texturas en
tiempo real de ondas (ocanos, lava, etc.), 12 niveles de mipmapping, animacin de
texturas (animadas), Texturas procedurales, dinmicas y multitextura.
Trabaja con lenguaje script propio nombrado UnrealScript.
De entre otros detalles destacamos: deteccin de colisiones cilndrica, Superficies
curvas con LOD, Mapas de entorno, Inteligencia Artificial avanzada (path-finding y
sistema de navegacin), Sistema fsico adaptable, Sprites 3D, Sonido digital 3D.
Genesis 3D
La nica plataforma soportada s Windows con las apis Direct3D y Glide.
Renderizado por Portales, rboles BSP, radiosidad y LOD.
Incorpora luces multicolores y dinmicas.
Puede trabajar nativamente con el formato de ficheros de animacin de 3Dstudio
MAX.
Texture mapping, textura translcida, morphing de texturas, texturas animadas y
procedurales.
Adems destacamos Sprites 3D, sombras dinmicas, jerarqua de objetos, deteccin de
colisiones.
9
Torque (V12)
Desarrollado para las plataformas, tanto el cliente como el servidor, Windows, Mac OS
9/X y en preparacin Linux, con los siguientes apis OpenGL para Mac y Linux y
OpenGL y DirectX para windows.
Se basa en Renderizado en sectores y portales, sistema de partculas y terrenos.
En el tema de luces encontramos Lightmaps animados, luces por vrtice y multipaso.
Soporta Texture mapping y mipmapping, multitexturas, textura detallada, mapas de
entorno y texturas animadas.
Incorpora tambin meshes progresivas con LOD (niveles de detalle), Plugins para
scripting, deteccin de colisiones, sombras proyectadas de objetos (recorte contra el
entorno), exportadores a 3Dstudio MAX y Milkshape y Plugins 3Dstudio MAX.
Quake 2
Desarrollado para plataformas Windows, Linux y Macintosh soportando las apis
OpenGL, tambin existe un port para Direct3D.
Trabaja los renderizados con arboles BSP y radiosidad.
Incorpora luces dinmicas, multicolores, Lightmaps.
Implementa su lenguaje de script llamado QuakeC.
Trabaja con su formato propio llamado MD2, muy extendido entre diferentes motores
grficos y diferentes editores.
10
TABLA DE CARACTERSTICAS
CrystalSpace Quake2 V12 Unreal Fly3D Genesis3D

RENDERIZADO

Zbuffer rendering S
Portal rendering S S DSG S S
BSP rendering S S S S S
Radiosity S S S S
Stereo rendering No
Z-sorting No
Span-buffer No
Fogging S S S S S
Level of Detail S S S S S
Halo / Corona S S S
Anti-aliasing S
Motion blur No
Lens flare S S
Mirrors S S S S
Particle system S S S
Landscape/Voxel
S (Motor
terrenos) / No S S
Patch/curved surf S S S
Reflective
surfaces S S

LUCES

Colored lighting S S S S S
Point Lighting S S S
Dynamic Lighting S S S S S
Lightmap
Rendering S S S S
Phong Shading S
Bump mapping S S
Gouraud-shading S No
3D sprites S S S S

APIS

OpenGL S S
S
WIN,MAC Through port S No
Direct3D
Optional port for
windows Port S (WIN) Through port S S
Glide S S
QuickDraw3D No

TEXTURAS

Texture mapping S S S S S
Persp. Texture S S S
MIP-mapping S S S
11
Sub-pixel map S S S
Procedural
textures S S S

OTROS

Degrees of
freedom 6
Network support Low-level S S S S Low-level
Hierarchical obj. S S
Collision detect
Hierarchical
bounding box S
3D sound S S S S S
Cartoon No S
Scene graph No
Language C++ C++ C++
Scripting
Language S (Python y LUA)QuakeC S UnrealScript No No
Platform All All
Win, Mac,
Linux Win, Mac All Windows
Source S S S S No
Cost LGPL $250.000 apr. $100 $500.000 apr Libre Libre o $10.000
File formats
3DS, MD2
(Quake), OBJ,
POV, ASE
MD2

DXF 3DS, MD2
(Quake)

Anda mungkin juga menyukai