id Tech 6 es un motor de juego multiplataforma desarrollado por id Software . Es el sucesor de id Tech 5 y se utilizó por primera vez para crear el videojuego Doom de 2016. Internamente, el equipo de desarrollo también utilizó el nombre en clave id Tech 666 para referirse al motor. [1] La versión para PC del motor se basa en Vulkan API y OpenGL API.
John Carmack comenzó a hablar sobre su visión con respecto al motor que sucedería a id Tech 5 varios años antes de que este último debutara en Rage , pero luego de su salida de id Software en 2014, Tiago Sousa fue contratado para reemplazarlo como programador principal de renderizado en la empresa.
El 24 de junio de 2009, id Software fue adquirida por ZeniMax Media . Más tarde, en 2010, se anunció que la tecnología de id Software estaría disponible únicamente para otras empresas que también pertenecieran a ZeniMax Media. [2] A esta adquisición le siguió id Tech 7 .
En 2008 y mientras id Tech 5 aún no estaba completamente formado, John Carmack dijo que el próximo motor de id Software estaría mirando hacia una dirección donde el trazado de rayos y los gráficos raster clásicos se mezclarían. [3] El motor funcionaría mediante la proyección de rayos de la geometría representada por vóxeles (en lugar de triángulos) almacenados en un octree . [4] Carmack afirmó que este formato también sería una forma más eficiente de almacenar los datos 2D, así como los datos de geometría 3D, debido a que no tiene problemas de empaquetamiento y bordes. [3] El objetivo del motor sería virtualizar la geometría de la misma manera que id Tech 5 virtualizaba las texturas. [5] [6] Esto sería un cambio con respecto a los motores anteriores que en su mayor parte usan sistemas basados en malla. Sin embargo, también explicó durante QuakeCon 08 , que el hardware que sería capaz de id Tech 6 aún no existía en ese momento. [7]
En julio de 2011, Carmack explicó que id Software estaba comenzando a investigar para el desarrollo de id Tech 6. [8] Se desconoce si la visión de Carmack del motor en ese momento todavía era la misma que describió en 2008.
Finalmente, los planes para un enfoque de renderizado con raycasting basado en vóxeles se abandonaron en favor de la rasterización convencional basada en malla.
Se estaba desarrollando una versión preliminar del cuarto juego principal de Doom en id Tech 5, pero id Software reinició el desarrollo a fines de 2011 y principios de 2012, después de que Bethesda expresara sus preocupaciones sobre su dirección creativa y tecnológica. Cuando se reinició el desarrollo, se decidió comenzar con el código base de Rage basado en id Tech 5 , pero dar "grandes saltos hacia atrás en ciertas áreas de la tecnología" y "[fusionar] las características de Doom con Rage". [9]
Doom se mostró por primera vez al público durante la QuakeCon 2014 , donde se confirmó que se ejecutaba en una versión temprana de id Tech 6. [10] Los objetivos de los desarrolladores al crear el motor se describieron como poder ejecutar juegos atractivos a 1080p a 60 fps, pero también reintroducir la iluminación dinámica en tiempo real que se eliminó en gran medida de id Tech 5. [11] El motor todavía usa texturas virtuales (denominadas "MegaTextures" en id Tech 4 y 5), pero son de mayor calidad y ya no restringen la apariencia de la iluminación y las sombras en tiempo real. [12] [13] También se ha confirmado la renderización basada en la física . [14] Un análisis técnico de Doom encontró que el motor admite desenfoque de movimiento , profundidad de campo bokeh , floración HDR , mapeo de sombras , mapas de luz, volúmenes de irradiancia, iluminación basada en imágenes , FXAA , iluminación volumétrica /humo, entornos destructibles , física del agua, dispersión subsuperficial de la piel , anti-aliasing SMAA y TSSAA , oclusión direccional , reflejos del espacio de pantalla , mapas normales , partículas aceleradas por GPU que están correctamente iluminadas y sombreadas, sincronización vertical de triple búfer que actúa como sincronización rápida, niebla volumétrica unificada (cada luz, sombra, iluminación indirecta la afecta, incluidas las cáusticas del agua/dispersión de luz subacuática), superficie de agua teselada (sobre la marcha sin teselación de GPU . [ cita requerida ] Las cáusticas se generan dinámicamente y se derivan de la superficie del agua) y aberración cromática . [15] El 11 de julio de 2016, id Software lanzó una actualización para el juego que agregó soporte para Vulkan. [16]
Tras la salida de Carmack de id Software, Tiago Sousa, que había trabajado como ingeniero gráfico principal de I+D de varias versiones de CryEngine en Crytek , fue contratado para dirigir el desarrollo de la representación. [17] [18] Pete Hines de Bethesda ha comentado que si bien id Tech 6 reutiliza el código escrito por Carmack, la mayoría de las decisiones tomadas sobre la dirección del motor se tomaron después de su partida. [13]
Lo que John ve útil en el trazado de rayos es un modelo de datos muy específico que ha creado llamado "octrees de vóxeles dispersos" que le permiten almacenar inmensas cantidades de datos de una manera a la que se puede acceder fácilmente mediante métodos de trazado de rayos (...) Este nuevo modelo de datos y algoritmo en el que se está trabajando para id Tech 6 permitiría, según John, cantidades casi infinitas de detalles geométricos en el mundo sin los problemas que se ven con los motores de teselación o tratar de almacenar gigabytes de datos localmente.
Sigo pensando que todavía queda una generación más en la que virtualizaremos la geometría con id Tech 6 y haremos cosas verdaderamente revolucionarias. (...) Sé que podemos dar un impulso a la próxima generación si podemos virtualizar la geometría como virtualizamos las texturas; podemos hacer cosas que nadie ha visto antes en los juegos.
Este nuevo modelo de datos y algoritmo en el que se está trabajando para id Tech 6 permitiría, según John, cantidades casi infinitas de detalles geométricos en el mundo sin los problemas observados con los motores de teselación o el intento de almacenar gigabytes de datos localmente.
id Tech 6, por ejemplo, probablemente no estará codificado en Java ni en ningún lenguaje protegido. También estará diseñado para hardware que no existe en este momento. Con la entrada de nuevos jugadores de gráficos discretos en el campo (Larrabee, Fusion, etc.), Carmack sabe que el espacio de PC es relevante, y ahí es donde estará mirando cuando piense en codificar su próximo motor.
"Y estamos en investigación para los gráficos de id Tech 6, desarrollo de contenido... sí, estoy súper ocupado", dijo.