id Tech 4 - id Tech 4

id Tech 4
Reverente (Doom) .jpg
Doom 3 , el juego principal del motor id Tech 4
Desarrollador (es) software de identificación
Repositorio github.com/id-Software/DOOM-3-BFG
Escrito en C ++
Plataforma Microsoft Windows , OS X , Linux , PlayStation 3 , PlayStation 4 , Xbox , Xbox 360 , Xbox One , Nintendo Switch , Nvidia Shield
Predecesor id Tech 3
Sucesor id Tech 5
Licencia GNU GPL-3.0 o posterior
Sitio web github .com / id-Software / DOOM-3-BFG Edita esto en Wikidata

id Tech 4 , conocido popularmente como el motor Doom 3 , es un motor de juego desarrollado por id Software y utilizado por primera vez en el videojuego Doom 3 . El motor fue diseñado por John Carmack , quien también creó motores de juegos anteriores, como los de Doom y Quake , que son ampliamente reconocidos como avances significativos en el campo. Este motor de juego basado en OpenGL también se ha utilizado en Quake 4 , Prey , Enemy Territory: Quake Wars , Wolfenstein y Brink . id Tech 4 tiene licencia según los términos de la Licencia Pública General GNU v3.0 o posterior .

Historia

id Tech 4 comenzó como una mejora de id Tech 3 . Durante el desarrollo, inicialmente fue solo una reescritura completa del renderizador del motor , mientras que aún conservaba otros subsistemas, como el acceso a archivos y la administración de memoria. La decisión de pasar de C a la C ++ lenguaje de programación necesaria una reestructuración y reescribir del resto del motor; hoy, mientras que id Tech 4 contiene código de id Tech 3, gran parte de él ha sido reescrito.

En la QuakeCon 2007, John Carmack , el principal desarrollador de motores gráficos en id, le dijo a LinuxGames : "Quiero decir, no me comprometeré con una fecha, pero las cosas de Doom 3 serán de código abierto". Y al igual que sus predecesores, John Carmack ha dicho que id Tech 4 se lanzará como código abierto .

En la QuakeCon 2009, Carmack dijo que planeaba presentar una petición a ZeniMax Media para que liberara la fuente de id Tech 4 tras el lanzamiento de Rage . Como parte de su discurso de apertura para la QuakeCon 2011, confirmó que el código fuente de Doom 3 saldrá a finales de año, después del lanzamiento de Rage.

El 16 de noviembre de 2011, Carmack anunció en Twitter que estaba escribiendo un nuevo código para el lanzamiento de fuente abierta de Doom 3, porque "los abogados todavía están nerviosos por el tema de las patentes en torno al 'reverso de Carmack'". Esto se refiere a una implementación de algoritmos de volumen de sombra con búfer de esténcil .

El 22 de noviembre de 2011, Carmack lanzó el código fuente de Doom 3 bajo GNU GPL-3.0-o posterior en GitHub . La fuente no incluye ninguno de los códigos 'Carmack's Reverse'. Según Carmack, se hicieron pequeños ajustes al código para evitar cualquier infracción.

Hardware

El requisito original de id Tech 4 era que necesitaba una unidad de procesamiento de gráficos (GPU) de alta gama con sombreadores de píxeles y vértices totalmente programables, como Nvidia GeForce 3 o ATI Radeon 8500 , con al menos 64 MB de VRAM. Para el E3 de 2002, la GPU recomendada era "100% compatible con DirectX 9.0b", como la Radeon 9700 con 128 MB de VRAM. Si bien las funciones DirectX 9.0 de la Radeon 9700 no son necesarias para renderizar el juego, se necesitaban su arquitectura avanzada, bus de memoria de 256 bits y eficiencia para ejecutar Doom 3 con gran detalle y velocidad de reproducción. El modo de gráficos "Ultra" incluido en Doom 3 ni siquiera se ejecutaría en las tarjetas gráficas populares disponibles en 2004, requiriendo al menos 512 MB de memoria de video para mostrarse correctamente y a velocidades reproducibles, lo que significa que era básicamente inutilizable en el momento de liberación.

id Tech 4 resultó en la obsolescencia de los chips gráficos DirectX 7, como las generalizadas GeForce 2 y Radeon 7200 , así como los conjuntos de chips más antiguos como RIVA TNT2 y Rage 128 , y el procesamiento de software (con Intel GMA integrado ). Hasta la llegada de id Tech 4, una CPU potente podía compensar de alguna manera una tarjeta de video más antigua. Si bien John Carmack inicialmente advirtió a los jugadores que no compraran la GeForce 4 MX (que los consumidores ocasionales a menudo confundían con la GeForce 4 Ti con capacidad para DirectX 8, aunque era en el mejor de los casos una GeForce 2 mejorada ), su adopción algo generalizada obligó a id Software a agregarla. la lista de tarjetas compatibles. Ha habido casos de entusiastas que obligaron a Doom 3 a ejecutarse en chips gráficos no compatibles, como el obsoleto Voodoo 2 , pero estos no pueden representar la iluminación por píxel y el mapeo de golpes.

Características

Los efectos de sombreado del motor unificado de iluminación y sombreado se muestran en la cara y el cuerpo de los zombies en esta captura de pantalla de Doom 3.

Gráficos

Id Tech 4 agregó varias características gráficas nuevas ausentes en su predecesor, id Tech 3 . Estos incluyeron mapeo normal y resaltado especular . Se agregaron más características en el desarrollo de juegos sucesivos, y en juegos aún inéditos que usan id Tech 4, se agregaron nuevas características o se planea agregarlas pronto.

La principal innovación de id Tech 4 fue el uso de iluminación por píxel completamente dinámica , mientras que anteriormente, los motores 3D se habían basado principalmente en iluminación por vértice o mapas de luz precalculados y sombreado Gouraud . Si bien los efectos dinámicos habían estado disponibles antes (como las luces dinámicas en movimiento), este efecto simplemente cambió el brillo de los vértices del polígono, y los colores del píxel simplemente se interpolaron entre los tres colores de los vértices de su polígono.

Este enfoque totalmente en tiempo real utilizado en Doom 3 , combinado con el uso de volúmenes de sombras, permitió una iluminación y sombras más realistas que en la generación anterior de motores de identificación. El método utilizado para crear los volúmenes de sombra es objeto de una patente de Creative , que Creative otorgó permiso de identificación para usar en el motor Doom 3 , a cambio de ser compatible con las tecnologías de sonido avanzadas EAX de Creative .

Los modelos utilizados en los juegos de motor de id Tech 4 están animados con animación esquelética . El motor puede combinar varias animaciones para producir una máscara que se mueva correctamente para esas animaciones. Debido a que esta es la CPU, Identificación hizo algunos trabajos optimizando esto mediante el uso de Intel 's extensiones Streaming SIMD (SSE).

Tecnología de renderizado MegaTexture

La versión original del motor id Tech 4 fue diseñada para ambientes algo oscuros y fue criticada por su incapacidad percibida para manejar áreas exteriores diurnas extremadamente grandes. La tecnología MegaTexture abordó este problema al introducir un medio para crear amplias escenas al aire libre. Al pintar una sola textura masiva (32,768 × 32,768 píxeles , aunque se ha extendido a dimensiones más grandes en versiones recientes de la tecnología MegaTexture) que cubre todo el mapa de polígonos y el terreno altamente detallado, se pueden lograr los efectos deseados. La MegaTextura también puede almacenar información física sobre el terreno, como la cantidad de tracción en ciertas áreas o indicar qué efecto de sonido se debe reproducir al caminar sobre partes específicas del mapa. es decir, caminar sobre una roca sonará diferente a caminar sobre el césped. El primer juego que utiliza MegaTexture es Enemy Territory: Quake Wars , basado en el motor Tech 4. Todos los juegos de id Tech 5 e id Tech 6 usan MegaTexture, con la excepción de The Evil Within, que usa un nuevo renderizador. Brink , que usa una versión muy modificada de id Tech 4, también usa texturas virtuales. Si bien la implementación es diferente de MegaTexture, se inspiró en ella.

Técnicas de renderizado utilizadas en id Tech 4

Scripting

id Tech 4 tiene un lenguaje de secuencias de comandos completo que se puede usar al crear mods , y se usa en Doom 3 para controlar monstruos, armas y eventos de mapas. Este lenguaje de secuencias de comandos es similar a C ++.

Además del lenguaje de secuencias de comandos principal, idTech 4 también tiene otro lenguaje de secuencias de comandos que se utiliza para las GUI, tanto los menús como el HUD , y también para las GUI integradas en el mundo del juego. Estas GUI en el juego son lo suficientemente poderosas como para que puedas, por ejemplo, ejecutar otro juego como Doom 1 dentro del mundo del juego.

A pesar de este nivel adicional de scripting, también es posible crear mods usando C ++ para construir código nativo.

Sonido

Como resultado del acuerdo con Creative con respecto a la patente de los volúmenes de sombra, el motor id Tech 4 es compatible con OpenAL , incluidas las extensiones EAX específicas de Creative Technology . El trabajo para incluir el soporte de OpenAL fue realizado por Creative Technology, no por id.

Redes

El motor utiliza un modelo cliente-servidor tradicional . Inicialmente se planeó tener un modelo de redes peer-to-peer . Esta parte del motor funciona de una manera fundamentalmente similar al equivalente de id Tech 3 , sin embargo, id Tech 4 expone mucho más del protocolo de red a los desarrolladores de mods.

Aunque Doom 3 solo admite 4 jugadores (y 8 en el paquete de expansión Resurrection of Evil ), el motor id Tech 4 se puede usar con más jugadores que este, con Quake 4 y Enemy Territory: Quake Wars, ambos admitiendo significativamente más jugadores.

Juegos que usan id Tech 4

Prey utilizó una versión modificada de id Tech 4 que permitía efectos como portales, gravedad variable y caminar por la pared.

En comparación con id Tech 3 ( motor Quake III Arena ) e id Tech 2 ( motor Quake II ) anteriores y ampliamente utilizados , id Tech 4 ha tenido menos éxito en la concesión de licencias a terceros. Esto es especialmente evidente en comparación con sus contemporáneos más cercanos, Unreal Engine 2 (2002) y Unreal Engine 3 (2006) de Epic Games . id Software no estaba dispuesto a licenciar su motor más nuevo antes de que se completara su "juego principal" Doom 3 . Sin embargo, el largo tiempo de desarrollo inesperado de Doom 3 entre 2002 y 2004 significó que no podían competir con Unreal Engine 2 de Epic Games durante ese período. Muchos de los que obtuvieron la licencia de Unreal Engine 2 pudieron realizar el cambio a Unreal Engine 3 más fácilmente.

Si bien id Tech 4 había tomado una nueva dirección con su iluminación dinámica por píxel , esta característica poco convencional tenía requisitos de hardware más estrictos e inicialmente solo era útil en "juegos espeluznantes" (hasta la adición de MegaTexture ), mientras que un número cada vez mayor de desarrolladores preferían motores convencionales. que podría generar grandes áreas al aire libre. También fue notable la relativa falta de escalabilidad descendente de id Tech 4 en comparación con los motores FPS de la competencia; id Tech 4 generalmente requería una GPU compatible con DirectX 8.0, como una GeForce 3 ; el motor de origen rival (que se desarrolló a partir del motor GoldSrc anterior ) aún podría ejecutarse en las GPU DirectX 7 más antiguas y extendidas (aunque sin usar sombreadores).

Juegos que utilizan una licencia propietaria

Juegos que utilizan una licencia de código abierto

Ver también

Referencias

enlaces externos