Motores gráficos <ul><li>Un motor grafico es la parte de un programa que controla, gestiona y actualiza los gráficos 3D en...
Motor de un videojuego <ul><li>Un  motor de videojuego  es una serie de rutinas de programación que permiten el diseño, la...
Modelado <ul><li>La etapa de modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escen...
Renderizado <ul><li>Se llama rénder al proceso final de generar la imagen 2D o animación a partir de la escena creada. Est...
Animación <ul><li>Los objetos se pueden animar en cuanto a </li></ul><ul><li>Transformaciones básicas en los tres ejes (XY...
Tipos motores  <ul><li>Crystal Space </li></ul><ul><li>Desarrollado por Jorrit Tyberghein, basado en renderizado en portal...
Fly3D <ul><li>Desarrollado por Paralelo Computaçao, basado en renderitzado por árboles BSP, PVS y portales, entre sus cara...
Unreal <ul><li>Motor gráfico del juego Unreal desarrollado por la empresa Epic MegaGames basado en una extensión del rende...
<ul><li>En el tema de texturas incorpora Texture mapping, mapas de sombras, mapas de niebla, textura detallada para defini...
Génesis3D <ul><li>Desarrollado por Eclipse Entertainment, esta basado en renderizado en portales, BSP y radiosidad. </li><...
Torque (V12) <ul><li>Motor gráfico utilizado en el juego Tribes 2 de Dinamix basado en renderizado en portales. </li></ul>...
Quake 2 <ul><li>Es el motor grafico del Quake 2, desarrollado por John Carmak de Id.Software. Se basa en el renderizado po...
RIOT  <ul><li>El RIOT es un motor en tiempo real del juego 3D de Surreal Software </li></ul><ul><li>Tiene perspectiva somb...
V3X  <ul><li>V3X (extensiones del vector 3D) es un motor del juego 3D del grupo Realtech VR. </li></ul><ul><li>Como caract...
C4 <ul><li>El motor C4 ofrece a tecnología más avanzada de los gráficos 3D. </li></ul><ul><li>Incluyendo el sonido 3D y la...
Irrlicht <ul><li>El motor de Irrlicht un motor 3D multiplataforma  de alto rendimiento de código abierto para crear aplica...
JPCT <ul><li>JPCT es un motor gráfico 3D con API para Java. Requiere Java 1.1 o superior y puede ser usado para hacer apli...
Apocalyx <ul><li>Apocalyx es un sencillo engine escrito en OpenGL, con algunas características interesantes, como son el i...
Assets (Activos)  <ul><li>Son los modelos, animaciones, sonidos, IA, físicas. Son los elementos que forman el juego en sí,...
Application Programming Interface (Interfaz de Programación de Aplicaciones)   <ul><li>Es un sistema de rutinas, de protoc...
Objetos 3D  <ul><li>Los objetos se almacenan por puntos en un mundo 3D, llamados vértices. Los vértices van formando políg...
Patches (Parches) <ul><li>Son perfectos para describir geometrías, sobre todo cuando se trata de curvas, pues la expresan ...
Culling  <ul><li>Codificado que logra que los objetos que no se ven en determinado cuadro de la animación por causa de obj...
BSP Tree Hierarchy (BSP Árbol de Jerarquía)  <ul><li>Es un método para determinar qué superficies de un mundo, y qué objet...
Retesselation  <ul><li>Técnica usada por la característica de TruForm de ATI que consiste en tomar un modelo basado en tri...
Vertex Lighting  <ul><li>Se determinan cuantos polígonos cruzan el vértice, se toma el total de todas las orientaciones de...
Flat Shading Lighting (Iluminación de Sombreado Plano)   <ul><li>Consiste en que cada polígono represente un valor leve qu...
Vertex Shading y Phong Shading <ul><li>Vertex Shading  (Sombreado de Vértice): solicita al motor de renderizado un color p...
Light Map Generation y Textura <ul><li>Light Map Generation  (Generación del mapa de luz): se usa una segunda capa de text...
Mapeo MIP y  Texturas Múltiples <ul><li>Mapeo MIP : consiste en preprocesar las texturas creando múltiples copias del mism...
Bump Mapping y Antialiasing <ul><li>Bump Mapping : técnica vieja de texturas que tratan de mostrar como la luz se refleja ...
Vertex and Pixel Shaders y  Stencil Shadowing   <ul><li>Vertex and Pixel Shaders  (Vértices y Sombreo de Pixeles): Con est...
Caché de textura <ul><li>El manejo del caché de textura es imprescindible para que el juego se desarrolle rápido (y para c...
LOD y  Depth Testing   <ul><li>LOD  (nivel de detalle): el sistema de nivel de detalle esta relacionada con la complejidad...
Sobre Dibujado y  Scripting Systems   <ul><li>Sobre Dibujado : es la cantidad de veces que se ha dibujado un píxel en un f...
Pre-scripted Cinematics y Visual Scripting Systems  <ul><li>Pre-scripted Cinematics : usada normalmente en una situación q...
Sonido y Music Tracks in Games   <ul><li>Para el procesado de sonido es muy similar al procesado de los modelos, muchas ve...
Inteligencia Artificial y Emergent game play   <ul><li>Inteligencia Artificial : es la característica más importante que s...
Motores 3D Accesibles <ul><li>Hacer un Motor 3D es muy complejo, como el Entidad 3d. Este motor esta enfocado a crear  Sho...
Source Engine <ul><li>Source es un motor gráfico desarrollado por la empresa americana Valve. Source se origino a partir d...
<ul><li>GoldSrc fue creado en el año 1997. Fue el primer motor gráfico para juegos de Valve, ya que la compañía había sido...
<ul><li>La gran maniobra de Valve dio pie a la creación un sinfín de expansiones y variantes del título original, algunos ...
<ul><li>Varios años después y casi sin avisar, el anunciamiento de un nuevo Half-Life fue realizado en el E3 del año 2003,...
Upcoming SlideShare
Loading in …5
×

Presentación videojuegos

1,231 views
1,156 views

Published on

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,231
On SlideShare
0
From Embeds
0
Number of Embeds
6
Actions
Shares
0
Downloads
12
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Presentación videojuegos

  1. 1. Motores gráficos <ul><li>Un motor grafico es la parte de un programa que controla, gestiona y actualiza los gráficos 3D en tiempo real. </li></ul><ul><li>Entre los motores mas utilizados destacan el Quake III y el unreal tournament. </li></ul><ul><li>Se puede utilizar un mismo motor grafico para diseñar varios juegos. </li></ul><ul><li>Es una de las partes mas importas a la hora de desarrollar juegos 3D. </li></ul><ul><li>En un juego de coches se tendría en cuenta: formulas de velocidad, la fricción, vectores sistemas de movimiento, entre otros. </li></ul><ul><li>En un juego donde disparas el motor crea un vector del recorrido de la bala y sabe donde impactara. </li></ul><ul><li>Los motores facilitan la programación de juegos y aplicaciones de diseño sin necesidad de enfrentarse desde cero al lenguaje de programación en cuestión. </li></ul>
  2. 2. Motor de un videojuego <ul><li>Un motor de videojuego es una serie de rutinas de programación que permiten el diseño, la creación y la representación de un videojuego. </li></ul><ul><li>La analogía con el motor de un automóvil es ilustrativa: el motor debajo del capó no es visible pero le da la funcionalidad al automóvil que es la de transportar. La misma analogía permite explicar algunos de los aspectos que generalmente maneja un motor de juego: las texturas y los modelos 3D serían la carrocería, pintura y exteriores. </li></ul><ul><li>Del mismo modo que carrocería, pintura y exteriores de un automóvil no son funcionales sin un motor al que son añadidos, los gráficos y los guiones del juego no funcionan sin un motor de juego. Un ejemplo de motor de juego seria el motor gráfico del juego Doom. (1993) </li></ul>
  3. 3. Modelado <ul><li>La etapa de modelado consiste en ir dando forma a objetos individuales que luego serán usados en la escena. Existen diversos tipos de geometría para modelador con NURBS y modelado poligonal. Además, aunque menos usado, existe otro tipo llamado &quot;modelado basado en imágenes. Consiste en convertir una fotografía a 3D mediante el uso de diversas técnicas. </li></ul><ul><li>A pesar de haber muchos paquetes de modelado y animación 3D, los cuatro más populares: </li></ul><ul><li>Maya. Es el software de modelado más popular en la industria. Es utilizado por multitud de importantes estudios de efectos visuales en combinación con RenderMan, el motor de rénder fotorrealista de Pixar. </li></ul><ul><li>3D Studio Max. Fue originalmente escrito por Kinetix como el sucesor de 3D Studio para DOS. Más tarde Kinetix se fusionaría con la última adquisición de Autodesk, Discreet Logic. Es el líder en el desarrollo 3D de la industria del videojuego y es muy utilizado a nivel amateur. </li></ul><ul><li>Softimage XSI- El contrincante más grande de Maya. En 1987, se convirtió rápidamente en el programa de 3D más popular de ese período. </li></ul><ul><li>Lightwave 3D. Fue desarrollado por la compañía de Kansas NewTek Inc. en 1989. El software consta de dos partes, Modeler desarrollado por Stuart Ferguson en 1986 y Layout desarrollado por Allen Hastings en 1989. Más tarde evolucionó en un avanzado paquete de modelado animación, VFX y render para diversas plataformas. Es utilizado en multitud de estudios para efectos visuales y animación de cine y televisión </li></ul>
  4. 4. Renderizado <ul><li>Se llama rénder al proceso final de generar la imagen 2D o animación a partir de la escena creada. Esto puede ser comparado a tomar una foto o en el caso de la animación, a filmar una escena de la vida real. Generalmente se buscan imágenes de calidad fotorrealista, y para este fin se han desarrollado muchos métodos especiales. Las técnicas van desde las más sencillas, como el rénder de alambre ( wireframe rendering ), pasando por el rénder basado en polígonos, hasta las técnicas más modernas como el Scanline Rendering , el Raytracing , la radiosidad o el Mapeado de fotones. </li></ul><ul><li>El software de rénder puede simular efectos cinematográficos como el lens flare , la profundidad de campo, o el motion blur (desenfoque de movimiento). Estos artefactos son, en realidad, un producto de las imperfecciones mecánicas de la fotografía física, pero como el ojo humano está acostumbrado a su presencia, la simulación de dichos efectos aportan un elemento de realismo a la escena. Se han desarrollado técnicas con el propósito de simular otros efectos de origen natural, como la interacción de la luz con la atmósfera o el humo. Ejemplos de estas técnicas incluyen los sistemas de partículas que pueden simular lluvia, humo o fuego, el muestreo volumétrico para simular niebla, polvo y otros efectos atmosféricos, y las cáusticas para simular el efecto de la luz al atravesar superficies refractantes. </li></ul><ul><li>El proceso de rénder necesita una gran capacidad de cálculo, pues requiere simular gran cantidad de procesos físicos complejos. La capacidad de cálculo se ha incrementado rápidamente a través de los años, permitiendo un grado superior de realismo en los rénders. Estudios de cine que producen animaciones generadas por ordenador hacen uso, en general, de lo que se conoce como render farm (granja de rénder) para acelerar la producción de fotogramas. </li></ul>
  5. 5. Animación <ul><li>Los objetos se pueden animar en cuanto a </li></ul><ul><li>Transformaciones básicas en los tres ejes (XYZ), Rotación, Escala o Traslación. </li></ul><ul><li>Forma(shape): </li></ul><ul><ul><li>Mediante esqueletos: a los objetos se les puede asignar un esqueleto, una estructura central con la capacidad de afectar la forma y movimientos de ese objeto. Esto ayuda al proceso de animación, en el cual el movimiento del esqueleto automáticamente afectara las porciones correspondientes del modelo. Véase también animación por cinemática directa ( Forward Kinematic animation ) y animación por cinemática inversa ( Inverse Kinematic animation ). </li></ul></ul><ul><ul><li>Mediante deformadores: ya sean lattices (cajas de deformación) o cualquier deformador que produzca por ejemplo deformación sinusoidales. </li></ul></ul><ul><ul><li>Dinámicas: para simulaciones de ropa, pelo, dinámicas rígidas de objeto. </li></ul></ul><ul><li>La animación es muy importante dentro de los gráficos por que en estas animaciones se intenta realizar el mero realismo, por lo cual se trabajan muchas horas. </li></ul>
  6. 6. Tipos motores <ul><li>Crystal Space </li></ul><ul><li>Desarrollado por Jorrit Tyberghein, basado en renderizado en portales, BSP, Zbuffering y radiosidad. Entre todas sus principales características destacamos la gran portabilidad y la gran escalabilidad proporcionada por el sistema de plugins y, además, bajo licencia LGPL. </li></ul><ul><li>Las plataformas soportadas son UNIX (Linux, y Solaris), DOS, Macintosh, Amiga,Windows, BeOS, NextStep, Rhapsody y ports OpenStep. </li></ul><ul><li>Las apis soportadas son OpenGL para Windows, Linux, Beos, Macintosh y OS/2,Direct3D para Windows y Glide para Linux y Windows. </li></ul><ul><li>Renderizado en Sectores y Portales, BSP, Z-Buffer, Sistema de partículas, terrenos,radiosidad, C-buffer y superficies curvas y superficies reflectantes. </li></ul><ul><li>Respecto las luces, soporta Lightmaps, Bumpmapping, Phong y Gouraud, luces dinámicas, multicolores y radiosidad precalculada para los Lightmaps. </li></ul><ul><li>Los formatos con los que trabaja son 3DS, MD2 (Quake 2), OBJ, POV y ASE. Trabaja las texturas con Texture mapping, Mipmapping, Texturas procedurales,dinámicas y multitextura. </li></ul><ul><li>Incorpora el lenguaje script Python y LUA. </li></ul><ul><li>Su sistema de visibilidad esta basado en una combinación de portales, octrees, arboles BSP y C-buffer. </li></ul><ul><li>Incorpora, a más, detección de colisiones basado en estructures jerárquicas de cajas englobantes, jerarquía de objetos, meshes progresivas con LOD, Sprites 2D y 3D, Superficies de Bezier, Motor de simulación de modelage dinámico (librería física). </li></ul>
  7. 7. Fly3D <ul><li>Desarrollado por Paralelo Computaçao, basado en renderitzado por árboles BSP, PVS y portales, entre sus características destacamos la escalabilidad proporcionada por su sistema de plugins. </li></ul><ul><li>La plataforma que soporta es Windows. Licencia libre sin coste y acceso a todo el código fuente. </li></ul><ul><li>El renderizado se basa en árboles BSP, PVS (Potencial Visibility Set) y Sistema de partículas. </li></ul><ul><li>Implementa luces estáticas y dinámicas, sombras dinámicas soft-shadows, mapas de sombras dinámicas, Lightmaps y iluminación por vértice especular y difusa para objetos dinámicos. </li></ul><ul><li>Incorpora textura detallada y multitextura. </li></ul><ul><li>Otras características son sistema de plugins (DLL’s), sistema de detección de colisiones, Exportador / importador de 3Dstudio MAX, LOD para caras curvadas, Quake 3importador (geometría, texturas y superficies curvas), Inteligencia artificial (A*optimizado) y meshes animadas. </li></ul>
  8. 8. Unreal <ul><li>Motor gráfico del juego Unreal desarrollado por la empresa Epic MegaGames basado en una extensión del renderizado en portales conocido como Dynamic Scene Graph Technology (DSG), BSP y radiosidad. Su principal característica es la gran escalabilidad (muy modular). </li></ul><ul><li>El motor, sin embargo, puede utilizarse en términos de desarrollo de juegos sin costo adicional, por lo que para trabajos y desarrollos que hagan uso del motor gráfico sin tratar la parte de render (como son los desarrollos y proyectos de IA e interfaces) el motor es una herramienta posible. </li></ul><ul><li>Utiliza el sistema DSG ( Dynamic Scene Graph Technology ) que és una extensión natural del renderizado en portales, interpolación de meshes, radiosidad, árboles BSP, LOD, superficies curvas y superficies reflectantes. </li></ul><ul><li>Incorpora luces multicolores, dinámicas, Lightmaps, Raytracing y enveloped lighting. Soporta nativamente el formato DXF. </li></ul>
  9. 9. <ul><li>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 (océanos, lava, etc.), 12 niveles de mipmapping, animación de texturas (animadas), Texturas procedurales, dinámicas y multitextura. </li></ul><ul><li>Trabaja con lenguaje script propio nombrado UnrealScript, que consiste en un lenguaje de scripting semi-compilado para acceder a la lógica del juego y usar el potencial del motor gráfico propietario. La idea detrás de este scripting permite trabajar en una interfaz de alto nivel para controlar los objetos en un juego. </li></ul><ul><li>Las ventajas de este scripting radican en la velocidad del proceso de desarrollo y en la flexibilidad y capacidad de extensión de un proyecto, teniendo como desventajas la cuestión de la velocidad al tratarse de pre-compilados. </li></ul><ul><li>El desarrollo de juegos y herramientas que hacen uso del motor gráfico de Unreal se lleva a cabo con UnrealED, el editor de mapas para el motor grafico de Epic Games que es utilizado en juegos como Unreal , Unreal Tournament , Rune , Deus EX ..etc. </li></ul><ul><li>Con UnrealED es posible crear gran variedad de mapas y construir con total libertad, por ejemplo paisajes urbanos, el espacio, vehículos, agua, etc, además de implementar efectos como el sonido, música, luces, controlar la gravedad, etc. </li></ul><ul><li>De entre otros detalles destacamos: detección de colisiones cilíndrica, Superficies curvas con LOD, Mapas de entorno, Inteligencia Artificial avanzada (path- finding y sistema de navegación), Sistema físico adaptable, Sprites 3D, Sonido digital 3D. </li></ul>
  10. 10. Génesis3D <ul><li>Desarrollado por Eclipse Entertainment, esta basado en renderizado en portales, BSP y radiosidad. </li></ul><ul><li>La única plataforma soportada es Windows. </li></ul><ul><li>Las apis soportadas son  Direct3D y Glide. Renderizado por Portales, árboles BSP, radiosidad y LOD. Incorpora luces multicolores y dinámicas. </li></ul><ul><li>Puede trabajar nativamente con el formato de ficheros de animación de 3Dstudio MAX. Además destacamos Sprites 3D, sombras dinámicas, jerarquía de objetos, detección de colisiones. </li></ul>
  11. 11. Torque (V12) <ul><li>Motor gráfico utilizado en el juego Tribes 2 de Dinamix basado en renderizado en portales. </li></ul><ul><li>Fue desarrollado para las plataformas. </li></ul><ul><li>Se basa en Renderizado en sectores y portales, sistema de partículas y terrenos. En el tema de luces encontramos Lightmaps animados, luces por vértice y multipaso. </li></ul><ul><li>Soporta Texture mapping y mipmapping, multitexturas, textura detallada, mapas de entorno y texturas animadas. Incorpora también meshes progresivas con LOD (niveles de detalle), Plugins para scripting, detección de colisiones, sombras proyectadas de objetos (recorte contra el entorno), exportadores a 3Dstudio MAX y Milkshape y Plugins 3Dstudio MAX. </li></ul>
  12. 12. Quake 2 <ul><li>Es el motor grafico del Quake 2, desarrollado por John Carmak de Id.Software. Se basa en el renderizado por árboles BSP y radiosidad. </li></ul><ul><li>Desarrollado para plataformas Windows, Linux y Macintosh soportando las apis OpenGL, también existe un port para Direct3D. </li></ul><ul><li>Trabaja los renderizados con arboles BSP y radiosidad. Incorpora luces dinámicas, multicolores, Lightmaps. Implementa su lenguaje de script llamado QuakeC, así como el uso de DLLs. Trabaja con su formato propio llamado MD2, muy extendido entre diferentes motores gráficos y diferentes editores. </li></ul>
  13. 13. RIOT <ul><li>El RIOT es un motor en tiempo real del juego 3D de Surreal Software </li></ul><ul><li>Tiene perspectiva sombreada, el traz de la textura. Ayuda para Windows95 y tarjetas de la PC 3D. Objetos animados jerárquicos 3D. </li></ul><ul><li>Paisajes de Morphing. Efectos de iluminación en tiempo real y filtración ligera volumétrica. Red excesiva o módem de la ayuda multiplayer usando DirectPlay. </li></ul>
  14. 14. V3X <ul><li>V3X (extensiones del vector 3D) es un motor del juego 3D del grupo Realtech VR. </li></ul><ul><li>Como características destacar perspectiva sombreada, el traz de la textura. Texturas animadas. Ayuda para 8bit, 15 o 16bit y profundidad de color 32bit. Cámaras fotográficas múltiples. Omnidirectionnal múltiple o luces directas con niebla. Objetos múltiples. Pintores o representación del z-buffer intermediario.Detección de la colisión (esferas o cajas o ambas). Efectos de la despedida. Representación de LOD: los objetos sombreados los más lejanos serán sombreados completamente. Sprites 3D para las llamaradas y las explosiones de la lente. El convertidor para 3D el objeto y la animación del estudio 3DS archivo de ayuda, el FF, el pcx, el GIF, el bmp, el tga, el flc y las texturas del png. </li></ul><ul><li>cálculo sano 3D. </li></ul>
  15. 15. C4 <ul><li>El motor C4 ofrece a tecnología más avanzada de los gráficos 3D. </li></ul><ul><li>Incluyendo el sonido 3D y la música, comunicaciones de la red, los dispositivos de entrada, memoria y la gerencia de recurso, y mucho más. Las herramientas de diseño llanas se construyen en el motor sí mismo del juego, permitiendo mayor productividad y la regeneración instantánea a los diseñadores y a los programadores. Iluminación dinámica y sombras del full-scene. </li></ul><ul><li>Todas las luces y sombras se rinden en tiempo real en la escala global.Ayuda para infinito completamente dinámico, el punto, y las luces del punto.Se apoyan las sombras suaves proyectadas y las sombras plantilla-basadas.  Ayuda extensa para los programas de la cima y los shaders del píxel. </li></ul><ul><li>Sistemas completamente extensibles de la partícula. Fuego en tiempo real y efectos eléctricos. Simulación superficial flúida en tiempo real. Marcas superficiales en geometría arbitraria. Efectos sonoros 3D. Canales ilimitados de la música que fluyen con la colocación y el encadenamiento. Efectos audio ambientales de EAX incluyendo la reverberación y la obstrucción. </li></ul>
  16. 16. Irrlicht <ul><li>El motor de Irrlicht un motor 3D multiplataforma  de alto rendimiento de código abierto para crear aplicaciones en tiempo real 3D. Sus características principales son ser fácil de utilizar, extremadamente rápido extensible y libre de fallos. </li></ul><ul><li>El motor es absolutamente flexible, y es posible escribir aplicaciones de  de diverso uso. Algunos son: usos complejos de la simulación 3D, shooter games en primera y tercera persona,escenas de interior y/o al aire libre, juegos en tiempo real de la estrategia, juegos 2D ... </li></ul><ul><li>Todas las cosas estándar y todos los efectos especiales del motor de Irrlicht pueden ser utilizado sin la necesidad de estudiar su documentación por días. El programador puede cambiar e influenciar casi todo en el motor pues es fácil de utilizar. </li></ul><ul><li>Estabilidad extrema . La mayoría de las bibliotecas para los usos en tiempo real fallan cuando el usuario hace algo que el programador de la biblioteca no esperó. Esto es diferente en el motor de Irrlicht. Imprime una advertencia y continúa, siempre intentando guardar en el funcionamiento. </li></ul><ul><li>     </li></ul><ul><li>Porciones de importadores incorporados . El motor puede cargar directamente las porciones de formatos del archivo común sin necesidad de utilizar convertidores o exportadores, aumentando tiempo de desarrollo. </li></ul><ul><li>Independencia del API : de OpenGL y de DirectX, e incluso un dispositivo nulo. Los dispositivos pueden ser cambiado durante tiempo de pasada. </li></ul><ul><li>Ningunas dependencias de otras bibliotecas . El motor no necesita ningunas otras bibliotecas y sdks que se instalarán. No para programar con el motor y no para usar el motor como usuario del extremo. </li></ul>
  17. 17. JPCT <ul><li>JPCT es un motor gráfico 3D con API para Java. Requiere Java 1.1 o superior y puede ser usado para hacer aplicaciones y applets. Soporta software de renderizado así como hardaware de renderizado vía OpenGL( Java 1.4) </li></ul><ul><li>  Algunas características destacables son la multiplataforma gracias a basarse en java, su gratuidad de uso así como luces ambientales, difusas y especulares, w-buffer de 32 bits... </li></ul>
  18. 18. Apocalyx <ul><li>Apocalyx es un sencillo engine escrito en OpenGL, con algunas características interesantes, como son el interface de scripting LUA, simulacion del agua, de ropa... </li></ul>
  19. 19. Assets (Activos) <ul><li>Son los modelos, animaciones, sonidos, IA, físicas. Son los elementos que forman el juego en sí, el código hace funcionar los assets. </li></ul>
  20. 20. Application Programming Interface (Interfaz de Programación de Aplicaciones) <ul><li>Es un sistema de rutinas, de protocolos y de herramientas para desarrollar programas de aplicación. Un buen API hace más fácil desarrollar un programa proporcionando todos los bloques del desarrollo del programa. El programador pone los bloques juntos. </li></ul><ul><li>Entre estos los más importantes son el DirectX (de Microsoft) y el OpenGL (que trabaja con la mayoría de los sistemas operativos). </li></ul>
  21. 21. Objetos 3D <ul><li>Los objetos se almacenan por puntos en un mundo 3D, llamados vértices. Los vértices van formando polígonos; cuanto más polígonos posea un objeto, más complicado se hace, lleva más tiempo de procesamiento pero es más detallado. El juego no necesita saber cuantos objetos hay en memoria o como el Render va a mostrarlos, solo le interesa que el render los despliegue de la forma correcta, y que el modelo este en el cuadro correcto de la animación. </li></ul>
  22. 22. Patches (Parches) <ul><li>Son perfectos para describir geometrías, sobre todo cuando se trata de curvas, pues la expresan mediante fórmulas matemáticas logrando colocar puntos en el mundo del juego. </li></ul>
  23. 23. Culling <ul><li>Codificado que logra que los objetos que no se ven en determinado cuadro de la animación 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 más fácil de implementar en juegos en donde la visión es controlada como los RTS en comparación con lo FPS. Un método de Culling puede ser por “Árboles BSP” </li></ul>
  24. 24. BSP Tree Hierarchy (BSP Árbol de Jerarquía) <ul><li>Es un método para determinar qué superficies de un mundo, y qué objetos, están realmente en la escena en momento dado, dada su localización en el mundo. Esto se utiliza a menudo para los objetos del desecho, y también para entresacarlos para reducir el proceso del AI (Inteligencia Artificial) y de la animación. </li></ul>
  25. 25. Retesselation <ul><li>Técnica usada por la característica de TruForm de ATI que consiste en tomar un modelo basado en triángulos y transformarlo en uno de High-Order Surfaces para alisarlo y de nuevo pasarlo a un modelo de Triángulos. </li></ul>
  26. 26. Vertex Lighting <ul><li>Se determinan cuantos polígonos cruzan el vértice, se toma el total de todas las orientaciones de los polígonos y se asigna la normal al vértice. Para cada vértice, un polígono dado reflejará la iluminación en una forma levemente distinta. La ventaja es que al hardware le toma menos tiempo el procesarlo, pero este tipo de iluminación no produce sombras. </li></ul>
  27. 27. Flat Shading Lighting (Iluminación de Sombreado Plano) <ul><li>Consiste en que cada polígono represente un valor leve que se pase al polígono completo que genere una imagen plana del mismo, a esta imagen también se le asigna un color determinado. </li></ul>
  28. 28. Vertex Shading y Phong Shading <ul><li>Vertex Shading (Sombreado de Vértice): solicita al motor de renderizado un color para cada vértice, luego por medio de interpolación se renderiza cada píxel por la distancia en relación con su respectivo vértice. </li></ul><ul><li>Phong Shading : es similar al Gouraud Shading, trabajan con la textura, solo que el Phong Shading usa a los píxeles en lugar de lo vértices. </li></ul>
  29. 29. Light Map Generation y Textura <ul><li>Light Map Generation (Generación del mapa de luz): se usa una segunda capa de textura (mapa de luz) que dará el efecto de iluminación a los modelos, es un efecto excelente pero debe tomarse antes del renderizado pero si se tienen Luces Dinámicas se debe estar regenerando los mapas en cada Frame de animación lo que toma mucha cantidad de memoria. </li></ul><ul><li>Textura : es esencial para que las escenas 3D se vean reales, en si las texturas son imágenes que se rompen en los distintos polígonos del modelo, muchas imágenes tomarán mucho espacio en la memoria por eso se debe usar técnicas de compresión. </li></ul>
  30. 30. Mapeo MIP y Texturas Múltiples <ul><li>Mapeo MIP : consiste en preprocesar las texturas creando múltiples copias del mismo cada una la mitad del anterior, esto porque si la textura solo es pegada al polígono cada textura es a cada píxel y tomara más tiempo de render; así cada Texel (elemento de Textura) toma menos espacio. </li></ul><ul><li>Texturas Múltiples : requiere múltiples renderizados por lo que para obtener buen resultado se necesita una tarjeta con Acelerador de Gráficos, provee mejor calidad que el simple mapeo. Se puede colocar una imagen sobre otra (más transparente) para dar el sentido de movimiento pulso o hasta sombra. </li></ul>
  31. 31. Bump Mapping y Antialiasing <ul><li>Bump Mapping : técnica vieja de texturas que tratan de mostrar como la luz se refleja en el objeto. Solo hasta hace poco se vuelto a retomar. </li></ul><ul><li>Antialiasing : El anti-aliasing revisa los polígonos y difuminará las bordes y vértices, para que los bordes no se vean como dentados. Esta técnica se puede hacer de dos maneras. La primera se realiza de modo individual, entremezclando polígonos para sobreponerlos unos delante de otros. </li></ul>
  32. 32. Vertex and Pixel Shaders y Stencil Shadowing <ul><li>Vertex and Pixel Shaders (Vértices y Sombreo de Pixeles): Con este método se pueden extraer y utilizar directamente las características y facilidades de la tarjeta de video, sin tener que utilizar mucho la API. Pero no es utilizable en todas las tarjetas. </li></ul><ul><li>Stencil Shadowing (Plantilla de Sombreado): la idea es renderizar una vista de un modelo desde la perspectiva de la fuente de luz y después utilizar esto para crear o para generar un polígono con la forma de esta textura sobre las superficies afectadas por el modelo. Así se obtiene una iluminación que parece real. Pero es costosa, porque usted está creando texturas “en vuelo”, y hace múltiple render de la misma escena. </li></ul>
  33. 33. Caché de textura <ul><li>El manejo del caché de textura es imprescindible para que el juego se desarrolle rápido (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 haría que en cada cuadro se refresquen las texturas dando más lentitud. Todo se trata de cargar la menor cantidad de veces una misma textura, pero eso también depende del API que se utilice. Otra técnica es la compresión de texturas, comprimir texturas es como comprimir MP3, los algoritmos de compresión logran una relación 4:1 que no es mucho pero ayuda. </li></ul>
  34. 34. LOD y Depth Testing <ul><li>LOD (nivel de detalle): el sistema de nivel de detalle esta relacionada con la complejidad geométrica de los modelos. Algunos sistemas necesitan que se hagan múltiples versiones del modelo, para que dependiendo de cuan cerca se este del modelo así será su cantidad de polígonos. Otros sistemas ajustan dinámicamente esta característica pero en este caso da más carga al CPU . </li></ul><ul><li>Depth Testing (prueba de profundidad): Con esto se empieza a eliminar los píxeles ocluidos y se pone en práctica el concepto de sobre dibujado. La prueba de profundidad es una técnica utilizada para determinar que objetos están delante de otros en la misma localización del píxel. </li></ul>
  35. 35. Sobre Dibujado y Scripting Systems <ul><li>Sobre Dibujado : es la cantidad de veces que se ha dibujado un píxel en un frame. Se basa en la cantidad de elementos existentes en la tercera dimensión (profundidad). </li></ul><ul><li>Scripting Systems (Sistemas de scripting) </li></ul><ul><li>El scripting le permite al diseñador tomar mando de la escena y manipularla, como colocar objetos o eventos que el jugador no controla. En muy complicado, se necesita de una mente muy metódica y lógica, la mayoría de estos scripts se basan en lenguaje C. </li></ul>
  36. 36. Pre-scripted Cinematics y Visual Scripting Systems <ul><li>Pre-scripted Cinematics : usada normalmente en una situación que necesita la explicación en una manera controlada. Para presentar las escenas de la historia, ahora se utilizada el cortar-escenas que presenta la historia en vídeo digital y luego por medio de transiciones se pasa a las gráficas reales del juego. </li></ul><ul><li>Visual Scripting Systems : como lo dice su nombre, permite manejar el script en un ambiente gráfico en lugar de un código escrito, se maneja un carácter real en un ambiente del juego real. </li></ul>
  37. 37. Sonido y Music Tracks in Games <ul><li>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. </li></ul><ul><li>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 </li></ul><ul><li>Music Tracks in Games (pistas de audio): Hay dos formas de manejar el sonido. Uno es por medio de archivos .wav (o similares), lo cual emite un muy buen sonido, pero se requiere de mucha memoria. Por otro lado se pude utilizar archivos midi, esto reduce la necesidad de memoria, pero los sonidos no son tan buenos. </li></ul>
  38. 38. Inteligencia Artificial y Emergent game play <ul><li>Inteligencia Artificial : es la característica más importante que se le atribuye a un motor al lado de la representación de modelos o Render. AI provee de estimulo al juego, es critico en la parte de la Forma de juego (game play). </li></ul><ul><li>Emergent game play (Forma de Juego Emergente): consiste en programar al AI con un conjunto de reglas que le permitan al programa adherir situaciones que el programador no previera. </li></ul>
  39. 39. Motores 3D Accesibles <ul><li>Hacer un Motor 3D es muy complejo, como el Entidad 3d. Este motor esta enfocado a crear Shooters (juegos de disparos). No se puede crear cualquier tipo de juego, pero no solo a shooters esta orientado. Juegos de aventura, acción, shooter, etc, todo es posible con Entidad3D. </li></ul><ul><li>Algunas personas se aprovechan de que estés desesperado por crear juegos de buena calidad, y te venderán motores muy caros, como 3D Game Studio. La versión más barata y la menos recomendable te sale en unos $500 pesos. </li></ul><ul><li>Cada motor tiene sus pros y sus contras tal como game studio no es muy bueno creando MMORPGs ( Juego masivo multijugador de rol ) </li></ul>
  40. 40. Source Engine <ul><li>Source es un motor gráfico desarrollado por la empresa americana Valve. Source se origino a partir del motor gráfico GoldSrc el cual es una versión modificada del código del motor Quake World que a su vez es un desarrollo posterior del motor Quake engine. </li></ul>
  41. 41. <ul><li>GoldSrc fue creado en el año 1997. Fue el primer motor gráfico para juegos de Valve, ya que la compañía había sido recién fundada. Se basaba en texturas lisas de no más de 16 bits de color, sombras dinámicas, físicas nulas y modelos detallados (para la era en que creció).Sus ventajas fueron numerosas, la posibilidad de trabajar tanto con Direct3D como con OpenGL, unos requerimientos ínfimos para la época en comparación con lo que era capaz de mostrar en pantalla y unas posibilidades enormes a la hora de mostrar eventos de activación en pantalla que a día de hoy se ha convertido en marca de la casa. Se dio a conocer en noviembre de 1998 con el lanzamiento de Half-Life el cual tuvo un gran éxito. </li></ul>
  42. 42. <ul><li>La gran maniobra de Valve dio pie a la creación un sinfín de expansiones y variantes del título original, algunos realizados por ellos mismos y otros por third-parties. Opposin Force y Blue Shift fueron creadas por Gearbox Software como expansiones del título original, que ampliaban el argumento del juego original con nuevos puntos de vista del suceso de Black Mesa,pero el verdadero éxito del programa fueron los juegos independientes multijugador que redefinieron el género para su uso online y que a día de hoy sigue siendo el título más jugado fue sin duda Counter-Strike, seguido de Day of Defeat, que despertó el interés por el combate histórico y las representaciones de la segunda guerra mundial, abriendo el camino para futuros títulos similares como las sagas Medal of Honor y Call of Duty. </li></ul>
  43. 43. <ul><li>Varios años después y casi sin avisar, el anunciamiento de un nuevo Half-Life fue realizado en el E3 del año 2003, con la presentación de un nuevo engine totalmente nuevo que iba a volver a revolucionar a la industria. El Motor Source estaba en camino, aunque hubo un pequeño traspiés a la hora de su salida ya que se filtró el juego en la red, por lo que se rehicieron y mejoraron partes del juego para que su venta no se viera afectada por este problema, por lo que al final, acabó saliendo en 2004.El motor fue concebido para correr en DirectX 9, con un uso magistral de shaders que permite efectos dinámicos de luz y sombras, que unidos a la construcción de terrenos minimizando costes al usar texturas y modelos de baja resolución en la lejanía, se pudo volver a disfrutar de unos increíbles gráficos con unos requerimientos mínimos. </li></ul>

×