retos tecnológicos en videojuegos jesús de santos garcía equipo de tecnología pyro studios
TRANSCRIPT
![Page 1: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/1.jpg)
Retos Tecnológicos en Videojuegos
Jesús de Santos García
Equipo de Tecnología
Pyro Studios
![Page 2: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/2.jpg)
Retos Tecnológicos en Videojuegos
• Filosofía general de esta presentación– Pocos detalles técnicos (referencias al final de la
presentación)– Abarcar el mayor numero de áreas posible– Dar una visión general del tipo de problemas técnicos
a los que nos enfrentamos los programadores de videojuegos
– No estrictamente problemas técnicos• ¿Qué tipo de “retos tecnologicos”?
– Puramente técnicos– Problemas de tratamiento de datos– Complejidad humana en el proceso
![Page 3: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/3.jpg)
Retos Tecnológicos en Videojuegos
• En la siguiente hora– Tecnología gráfica– Física– IA– Multithreading– Desarrollo de Herramientas– Metodologías / Procesos de Trabajo
• Resto– Preguntas
![Page 4: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/4.jpg)
Retos Gráficos
• Potencia gráfica cada vez mayor. • Ritmo de crecimiento superior a la Ley de Moore
– GPU: cada vez mas funcionalidad de propósito – CPU: cada vez mas cores paralelos
http://www.reghardware.co.uk
![Page 5: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/5.jpg)
Retos Gráficos• Potencia gráfica de cada plataforma
– PC• Shader Model 3.0• Shader Model 4.0• OpenGL 2.0, DX9, DX10
– XBox 360• 3 PowerPC 3.2GHz x 2 threads hardware• Tarjeta ATI – SM 3.0 - 500Mhz• Memoria unificada 512Mb• ~DX9.5
– PlayStation3• 1 PPU (PowerPC 3.2Ghz) + 6 SPU (3.2Ghz)• Tarjeta nVidia – SM 3.0 – 550Mhz• 256Mb Video / 256Mb Sistema• libgcm / ~OpenGL ES
– Wii• PowerPC 729Mhz• Tarjeta ATI 243Mhz (Gamecube)• 64Mb• ~OpenGL
![Page 6: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/6.jpg)
Retos Gráficos
• Aprovechar todo el potencial disponible
• Cada vez podemos asimilar más técnicas provenientes del mundo del Cine 3D– Materiales (Shaders)– Modelado– Iluminación– Sombras– Animación
![Page 7: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/7.jpg)
Gráficos - Materiales• RenderMan
– Render empleado por Pixar para todas sus películas. La especificación es pública y ha sido empleado en un gran número de películas.
– RenderMan Shading Language: un lenguaje para describir las propiedades visuales de los materiales (plástico, cristal…)
![Page 8: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/8.jpg)
Gráficos - Materiales
• Ejemplo de RSL
surface metal( float Ka = 1; float Ks = 1;
float roughness = 0.1;)
{
normal Nf = faceforward(normalize(N), I);
vector V = - normalize(I);
Oi = Os;
Ci = Os * Cs * (Ka * ambient() + Ks * specular(Nf, V, roughness));
}
![Page 9: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/9.jpg)
Gráficos - Materiales
• Los videojuegos empezaron el camino de los shaders hace mucho tiempo.
• Es ahora, en esta generación, cuando realmente estamos llegando a la libertad disponible en el cine. Fin de la época de los Pseudoshaders
• HLSL, GLSL, CG
![Page 10: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/10.jpg)
Gráficos - Materiales• HLSL// // Directional Fragment Shader //float4 metal_fp( dirVertexOutput IN,
uniform float Ks, uniform float SpecExpon, uniform float3 LightDir) : COLOR
{ float3 Nn = normalize(IN.WorldNormal); float3 Ln = -normalize(LightDir); float3 Vn = normalize(IN.WorldView); float3 Hn = normalize(Vn + Ln); float spec = pow(dot(Hn, Nn), SpecExpon); float3 color = Ks * spec; return float4(color, 1.0);
}
![Page 11: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/11.jpg)
Gráficos - Materiales
• En el pasado– Prácticamente un material común para todos
los objetos. – Quizá algún material específico– Artistas ajustan el aspecto visual mediante
parámetros de ese material• Textura• Color por vértice
– Aspecto muy uniforme
![Page 12: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/12.jpg)
Gráficos - Materiales
• En esta generación– Materiales específicos para cada uso. Podemos
emplear materiales distintos para un mismo personaje por ejemplo: pelo, piel, ojos, metal
– Ajuste de parámetros específicos del material– Librerías de materiales– Un montón de herencia proveniente del cine, que por
supuesto hay que optimizar
![Page 13: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/13.jpg)
Gráficos - Materiales
• Efectos de postproceso– Un nuevo campo en este generación– Soporte de imágenes en coma flotante– Disponible todo el soporte de materiales– Ejemplos:
• Desenfoque• Motion Blur• Gamma/Color correction• Flares / Glares
![Page 14: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/14.jpg)
Gráficos - Materiales
![Page 15: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/15.jpg)
Gráficos - Materiales
![Page 16: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/16.jpg)
Gráficos - Modelado
• Técnicas de modelado para tiempo real– Bump Mapping.
Jim Blinn (1978) – Optimizada dio como
resultado Normal Mapping.
– Usada prácticamente en todas las superficies de esta generacion
– Información proveniente de un modelo de alta poligonización
![Page 17: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/17.jpg)
Gráficos - Modelado
• Evolución del Bump Mapping– Desplazamiento real de geometría.
Displacement Mapping– Ray Tracing implementado en el shader– No aplicable a todas las superficies (costoso)
• Solo aquellos partes importantes (por ejemplo las más cercanas, cinemáticas)
• En superficies más aptas para esta técnica, como por ejemplo los terrenos
![Page 18: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/18.jpg)
Gráficos - Modelado
• Displacement Mapping
![Page 19: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/19.jpg)
Gráficos - Modelado
• Gracias a estas técnicas, los modeladores solo crean una malla visual– Sin restricción de ningún tipo
• Polígonos• Texturas / Mapeado
– Zbrush
• Esa malla es convertida luego a otra de menor detalle– Alto Detalle ~ Malla + Bump + Displacement– Proceso automatizable (asistido)
![Page 20: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/20.jpg)
Gráficos - Modelado
• Subdivisión de superficies– Complemento ideal
Displacement Mapping– Compresión / Reducción
Bandwidth– Complicado de
implementar en software– El siguiente paso necesario
a implementar por hardware en la industria
– Fin de los polígonos
![Page 21: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/21.jpg)
Gráficos - Modelado
• Subdivisión de superficies
Modelo de http://developer.nvidia.com
![Page 22: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/22.jpg)
Gráficos - Iluminación
• Uno de los grandes retos actuales
• Técnicas habituales– Iluminación estática pegada en texturas:
lightmaps. Generada offline. Baking– Luces dinámicas ordenadas por importancia
• Luces por píxel• Luces por vértice• Luces por objeto
![Page 23: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/23.jpg)
Gráficos - Iluminación
• Retos en iluminación– Iluminación dinámica
• Mapas de opacidad• Precálculos de visibilidad• Información de transmisión de luz (PRT)
– Ambient occlusion– Luces de área
• Cube Maps• Spherical Harmonics• Cielos
![Page 24: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/24.jpg)
Gráficos - Sombras
• Tema tradicionalmente complicado.– Muchos años luchando en este área.– Muchos años por luchar
• Implementación más sencilla con restricciones conocidas– Proyección en el suelo
• Juegos de lucha• Juegos de coches
– Volúmenes de sombras precalculados
![Page 25: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/25.jpg)
Gráficos - Sombras
• Reto tecnológico– Toda la iluminación dinámica
• Auto sombras• Sin casos particulares
– Tras un periodo confuso de técnicas, el cine marca una vez mas el camino a seguir: Shadow Mapping
• Lance Williams (1978)• Simple• Eficiente• Soportado por hardware
![Page 26: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/26.jpg)
Gráficos - Sombras
• Shadow Mapping
![Page 27: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/27.jpg)
Gráficos - Sombras
![Page 28: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/28.jpg)
Gráficos – Animación
• Morphos– Animación facial– Soporte HW
• Esqueletos / Bones– Misma técnica desde 10 años– Nuevos modelos
• Retargeting• Generación dinámica de
animaciones
![Page 29: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/29.jpg)
Gráficos
• En resumen– Gran parte de técnicas heredadas del mundo
del cine– Poder creativo en manos del artista– El principio básico sigue funcionando: no
tiene que ser realista, tiene que parecerlo. Y si es posible, de la manera mas sencilla.
![Page 30: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/30.jpg)
Retos Tecnológicos en Videojuegos
• En la siguiente hora– Tecnología gráfica– Física– IA– Multithreading– Desarrollo de Herramientas– Metodologías / Procesos de Trabajo
• Resto– Preguntas
![Page 31: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/31.jpg)
Física• Responsabilidad del sistema Físico
– Interacción del jugador con el entorno– Interacción entre objetos– Usos específicos según el tipo de videojuego: telas, vehículos– Ragdolls
• Por lo general el sistema físico emplea una representación del mundo independiente a la visual– KDTree– BSP– OBBTree– KDopTree
![Page 32: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/32.jpg)
Física
• La física de un videojuego es un campo en el que el empleo de middleware es una norma habitual– Havok– AGEIA / PhysX
• Un camino que acabaran siguiendo prácticamente todos los subsistemas de un videojuego– ¿Para qué reinventar la rueda si otro la vende mas
barata?
![Page 33: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/33.jpg)
Retos Tecnológicos en Videojuegos
• En la siguiente hora– Tecnología gráfica– Física– IA– Multithreading– Desarrollo de Herramientas– Metodologías / Procesos de Trabajo
• Resto– Preguntas
![Page 34: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/34.jpg)
Inteligencia Artificial
• Campo con increíble potencial– Poco explotado hasta la fecha– El puesto de programador de IA era algo poco
reconocido hasta hace poco– La potencia actual permite empezar a desarrollar
inteligencia artificial de verdad. – Comportamientos emergentes
• Principal área de desarrollo del propio juego– Según vaya evolucionando el concepto de
middleware los programadores del juego estarán mayormente en este campo
![Page 35: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/35.jpg)
Inteligencia Artificial
• Entidad / Actor– Elemento principal– Comunicación mediante mensajes / eventos– Máquinas de estados
![Page 36: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/36.jpg)
Inteligencia Artificial
• Es práctica habitual recurrir a lenguajes más eficientes en este campo que C/C++– Lenguajes de script propios– Lua– Python– Lenguajes funcionales
![Page 37: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/37.jpg)
Inteligencia Artificial
• Un lenguaje paralelizable es altamente deseable – Queremos cientos de actores ejecutándose
individualmente• Cada uno es un cerebro implementado en un
procesador virtual– Comunicación con otros cerebros mediante mensajes
• Ejecución en una máquina virtual– Dominio diferente al del motor– Virtualización de recursos– Replicación de entidades por red
• Analogía con un sistema operativo
![Page 38: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/38.jpg)
Inteligencia Artificial• UnrealScript
// This is the automatic state to executeauto state Idle {
// When touched by another actor… function Touch( actor Other ) {
log( "I was touched, so I’m going to Attacking" ); GotoState( ‘Attacking’ ); Log( "I have gone to the Attacking state" );
} Begin:
log( "I am idle…" ); sleep( 10 ); goto ‘Begin’;
} // Attacking state. state Attacking state Attacking{ Begin:
Log( "I am executing the attacking state code" ); //...
}
![Page 39: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/39.jpg)
Retos Tecnológicos en Videojuegos
• En la siguiente hora– Tecnología gráfica– Física– IA– Multithreading– Desarrollo de Herramientas– Metodologías / Procesos de Trabajo
• Resto– Preguntas
![Page 40: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/40.jpg)
Multithreading
• Reto principal– Arquitecturas con varios núcleos
• La evolución de los microprocesadores está cambiando– No se evoluciona creando micros con mayor
frecuencia de cálculo– Se crean micros con varios núcleos que
trabajan en paralelo
![Page 41: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/41.jpg)
Sistema
• La concurrencia hardware es una realidad a día de hoy– PC
• procesadores con 2 núcleos, con 4 núcleos…
– XBox 360• 3 procesadores con 2 threads por hardware = 6
unidades de ejecución en paralelo
– PlayStation3• 1 procesador principal (PPU) + 6 procesadores
(SPU) de cálculo
![Page 42: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/42.jpg)
Sistema
• Estamos ante una nueva revolución a nivel de software
• Es necesario adaptar las técnicas de programación actuales para sacar provecho de la concurrencia.
• Adaptar el motor de un videojuego a estas técnicas nuevas para poder sacar provecho.
“The free luch is over” – Herb Sutter
![Page 43: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/43.jpg)
Sistema• Objetivo
– Descomponer el trabajo realizado a lo largo de un fotograma en muchas tareas pequeñas
– Conseguir una aplicación escalable a n núcleos
– Portabilidad siempre interesante
![Page 44: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/44.jpg)
Sistema
• Riesgos– El nuevo paradigma es difícil de llevar a cabo con los
lenguajes actuales. • Lenguajes funcionales al rescate? Prolog, Haskell
– C/C++ sigue siendo el principal lenguaje para crear videojuegos
– Diseños con una gran cantidad de bloqueos ineficientes y muchas veces innecesarios
– El resultado son arquitecturas complejas y con un alto riesgo
• Primera generación de juegos de Xbox360 solo empleaba un núcleo
– No existe una solución clara a día de hoy.
![Page 45: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/45.jpg)
Retos Tecnológicos en Videojuegos
• En la siguiente hora– Tecnología gráfica– Física– IA– Multithreading– Desarrollo de Herramientas– Metodologías / Procesos de Trabajo
• Resto– Preguntas
![Page 46: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/46.jpg)
Herramientas
• La parte más importante en todo el proceso de producción del videojuego
• El verdadero reto actual en la producción de videojuegos
• Interface de la tecnología para los artistas• Una tecnología potente no vale para nada sin
unas herramientas que expongan la potencia a los artistas
• Esta es posiblemente la pagina mas importante de la presentación
![Page 47: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/47.jpg)
Herramientas
• Evolución en la complejidad de los datos en videojuegos– Commandos Strike Force (Pyro Studios)
• 31000 ficheros• 12 GB
– NextGen en desarrollo (Pyro Studios)• 65462 ficheros• 17.7 GB
![Page 48: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/48.jpg)
Herramientas
• Características deseables en cualquier herramienta “decente”– Interacción entre las herramientas y el motor
lo mas rápida posible– Visualización directa en el motor del juego– Recarga en caliente
• Texturas• Modelos• Lógica
![Page 49: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/49.jpg)
Herramientas
• Ejemplo– Editor de partículas
![Page 50: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/50.jpg)
Herramientas
• Video de ejemplo
![Page 51: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/51.jpg)
Retos Tecnológicos en Videojuegos
• En la siguiente hora– Tecnología gráfica– Física– IA– Multithreading– Desarrollo de Herramientas– Metodologías / Procesos de Trabajo
• Resto– Preguntas
![Page 52: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/52.jpg)
Metodologías / Procesos de Trabajo
• Principales problemas a resolver en esta área– Problemas de comunicación en equipos
grandes• Optimizarla
– Importancia de las personas en el equipo– Difusión del conocimiento en equipos
![Page 53: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/53.jpg)
Metodologías / Procesos de Trabajo
• Herramientas para mejorar el flujo de trabajo y comunicación– Wiki
• Más eficiente que documentos sueltos• Comunicación entre departamentos
– Mensajería interna– RSS
• Más eficiente que el mail
![Page 54: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/54.jpg)
Metodologías / Procesos de Trabajo
• Concepto de compilación continua– Una máquina dedicada exclusivamente a compilar la
ultima versión del juego• Directamente del repositorio de código• Compilación en las diversas configuraciones• Ejecución de “test de regresión”• Compilación de datos• Empaquetado
– Siempre existe una última versión del juego en la máquina de compilación
– Importante para mejorar la sensación de progresión. Moral del equipo
![Page 55: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/55.jpg)
Metodologías / Procesos de Trabajo
• Metodologías “Agile”– Nuevas filosofías de trabajo con el objetivo de
incrementar la productividad• Scrum
– Dos ciclos de desarrollo
» Sprint: 2 - 3 semanas
» Scrum diario
![Page 56: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/56.jpg)
Video Tecnología
• Demo para probar tecnología
• Estrictamente tecnología
• No jugable
• Stress a todos los subsistemas
![Page 57: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/57.jpg)
Resumen
• Realización de un videojuego cada vez más y más compleja.
• Mucha herencia proveniente del cine• Evolución del HW muy superior a lo “asimilable”• Desarrollo de videojuegos con un alto factor de
riesgo tecnológico• Reducción del riesgo mediante middleware• Importancia de las herramientas durante la
producción• Nueva revolución de software: paralelismo• Nuevas metodologías de trabajo
![Page 58: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/58.jpg)
Fin de la presentación
• ¿Preguntas?
– Esta presentación con todos los links y más información en:• http://entland.homelinux.com/blog
![Page 59: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/59.jpg)
Referencias
• Real-Time Rendering– http://www.realtimerendering.com/
• D3D10 Unleashed: New Features and Effects – d3d10 unleashed - new features and effects.zip
• Spherical Harmonic Lighting: The Gritty Details – http://www.research.scea.com/gdc2003/spherical-
harmonic-lighting.html
• Generalized Displacement Maps – http://research.microsoft.com/users/xtong/
gdm_electronic.zip
![Page 60: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/60.jpg)
Referencias
• Hardware Shadow Mapping– http://developer.nvidia.com/object/hwshadowmap_paper.html
• Practical Dynamic Parallax Occlusion Mapping– http://ati.amd.com/developer/SIGGRAPH05/Tatarchuk-
ParallaxOcclusionMapping-Sketch-print.pdf
• Subdivision Surface Theory– http://www.gamasutra.com/features/20000411/
sharp_pfv.htm • The RenderMan Companion: A Programmer's Guide to
Realistic Computer Graphics – http://www.amazon.com/RenderMan-Companion-Programmers-
Realistic-Computer/dp/0201508680
![Page 61: Retos Tecnológicos en Videojuegos Jesús de Santos García Equipo de Tecnología Pyro Studios](https://reader033.vdocuments.site/reader033/viewer/2022061303/54f897d74a795996568b461c/html5/thumbnails/61.jpg)
Referencias
• The Free Lunch Is Over: A Fundamental Turn Toward Concurrency in Software – http://www.gotw.ca/publications/concurrency-ddj.htm
• Software and the Concurrency Revolution – http://www.gotw.ca/resources/Software%20and
%20Concurrency%20-%20OGDC.pdf• Agile Game Development - GDC2007 Tutorial
– http://www.agilegamedevelopment.com/2007/03/session-and-tutorial-slides-are-posted.html