Articulo de referencia

id Tech 4

{{cite web|url=https://github.com/id-Software/DOOM-3-BFG|title=id Tech 4 Source Code|website=[[GitHub]] |date=March 30, 2020|access-date=September 11, 2015|archive-date=April 18...

id Tech 4 , originalmente conocido como el motor de 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 juego anteriores, como los de Doom y Quake , 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 está licenciado bajo los términos de la Licencia Pública General GNU v3.0 o posterior , y hasta la fecha es el último motor de id Tech que se ha liberado como código abierto.

Historia

id Tech 4 comenzó como una mejora de id Tech 3. Durante su desarrollo, inicialmente fue solo una reescritura completa del motor de renderizado , aunque conservando otros subsistemas, como el acceso a archivos y la gestión de memoria. La decisión de cambiar del lenguaje de programación C al C++ requirió una reestructuración y reescritura del resto del motor; hoy en día, si bien id Tech 4 contiene código de id Tech 3, gran parte de él ha sido reescrito. [ 3 ]

En la QuakeCon 2007, John Carmack , el desarrollador principal del motor gráfico de id Software, declaró a LinuxGames : «No me comprometeré con una fecha, pero el material de Doom 3 será de código abierto». Y al igual que sus predecesores, John Carmack ha afirmado que id Tech 4 se publicará como código abierto . [ 4 ]

En la QuakeCon 2009, Carmack dijo que planeaba solicitar a ZeniMax Media que publicara el código fuente de id Tech 4 tras el lanzamiento de Rage . [ 5 ] Como parte de su discurso principal en la QuakeCon 2011, confirmó que el código fuente de Doom 3 estaría disponible a finales de año, tras el lanzamiento de Rage . [ 6 ]

El 16 de noviembre de 2011, Carmack anunció en Twitter que estaba escribiendo código nuevo para la versión de código abierto de Doom 3, porque "los abogados aún se muestran reticentes ante el problema de patentes relacionado con 'el método inverso de Carmack'". [ 7 ] Esto se refiere a una implementación de algoritmos de volumen de sombras con búfer de plantilla .

El 22 de noviembre de 2011, Carmack publicó el código fuente de Doom 3 bajo la licencia GNU GPL-3.0 o posterior en GitHub . [ 8 ] El código fuente no incluye ningún código de 'Carmack's Reverse'. Según Carmack, se hicieron pequeños ajustes al código para evitar cualquier infracción. [ 9 ] Desde entonces, se han publicado varios proyectos de código abierto, como dhewm3, [ 10 ] Dante, [ 11 ] y RBDOOM-3-BFG. [ 12 ] En 2021, las DLL del juego Quake 4 se adaptaron para su uso con el motor de código abierto dhewm3 derivado del código fuente publicado de Doom 3 (con el trabajo también iniciado en Prey ); esto se ha utilizado desde entonces para portar el juego a AmigaOS 4. [ 13 ]

Hardware

El requisito original de id Tech 4 era que necesitaba una unidad de procesamiento gráfico (GPU) de gama alta con sombreadores de vértices y píxeles totalmente programables, como la Nvidia GeForce 3 o la ATI Radeon 8500 , con al menos 64 MB de VRAM. Para el E3 2002, la GPU recomendada era "100 % compatible con DirectX 9.0b", como la Radeon 9700 con 128 MB de VRAM. Si bien las características de DirectX 9.0 de la Radeon 9700 no son necesarias para renderizar el juego, su arquitectura avanzada, su bus de memoria de 256 bits y su eficiencia eran necesarias para ejecutar Doom 3 con alto nivel de detalle y a una velocidad jugable. [ 14 ] El modo gráfico "Ultra" incluido en Doom 3 ni siquiera funcionaría en tarjetas gráficas de gama alta en 2004, ya que el motor requería al menos 512 MB de memoria de vídeo para mostrarse correctamente y a velocidades jugables. [ 15 ]

id Tech 4 provocó la obsolescencia de los chips gráficos DirectX 7, como la popular GeForce 2 y la Radeon 7200 , así como de chipsets más antiguos como la RIVA TNT2 y la Rage 128 , y la renderización por software (con una Intel GMA integrada ). Hasta la llegada de id Tech 4, una CPU potente podía compensar en cierta medida una tarjeta de video antigua. Si bien John Carmack advirtió inicialmente a los jugadores que no compraran la GeForce 4 MX [ 16 ] (que los consumidores ocasionales a menudo confundían con la GeForce 4 Ti, compatible con DirectX 8, aunque en el mejor de los casos era una GeForce 2 mejorada ) , su adopción relativamente generalizada obligó a id Software a agregarla a la lista de tarjetas compatibles. Ha habido casos de entusiastas que han forzado a Doom 3 a ejecutarse en chips gráficos no compatibles, como la ya obsoleta Voodoo 2 , pero estas no pueden renderizar la iluminación por píxel ni el mapeo de relieve. [ 17 ]

Características

En esta captura de pantalla de Doom 3 , se aprecian los efectos de sombreado del motor unificado de iluminación y sombreado en la cara y el cuerpo de los zombis . Los mapas normales añaden detalles de sombra adicionales sin necesidad de añadir detalles al modelo.

Gráficos

Id Tech 4 añadió varias características gráficas nuevas que no estaban presentes en su predecesor, id Tech 3. Entre ellas se incluían el mapeado normal y el resaltado especular . Se añadieron más características en el desarrollo de los juegos posteriores.

Los modelos utilizados en los juegos de id Tech 4 se animan mediante animación esquelética . El motor puede combinar varias animaciones para producir una piel que se mueva correctamente para dichas animaciones. Dado que esto consume muchos recursos de la CPU, id trabajó en su optimización utilizando las extensiones Streaming SIMD (SSE) de Intel . [ 18 ]

Iluminación dinámica

Esta imagen muestra dos representaciones del mismo espacio, con y sin radiosidad . El sistema de iluminación dinámica de Doom 3 no simula la radiosidad, a diferencia de los mapas de luz precalculados de los motores anteriores de id Tech.

La principal innovación de id Tech 4 fue su uso de iluminación y volúmenes de sombras totalmente dinámicos por píxel , mientras que anteriormente, los motores 3D se habían basado principalmente en iluminación por vértice precalculada o mapas de luz y sombreado Gouraud , y las sombras eran falsas (como el punto oscuro que se desplaza debajo de los personajes en los juegos de id Tech 3) o inexistentes. id Tech 4 unificó la iluminación y las sombras, [ 19 ] algo ausente en los motores id Tech anteriores. Todas las fuentes de luz en Doom 3 son dinámicas, algo que el libro complementario The Making of Doom 3 describe como "El mayor dolor de cabeza para los diseñadores de niveles". [ 20 ] Si bien los efectos dinámicos ya estaban disponibles (como luces dinámicas en movimiento), este efecto simplemente cambiaba el brillo de los vértices del polígono, con los colores del píxel simplemente interpolados entre los tres colores de vértice de su polígono.

Este enfoque totalmente en tiempo real utilizado en Doom 3 , combinado con el uso de volúmenes de sombra, permitió una iluminación y sombras más realistas [ 21 ] que en la generación anterior de motores de id Software. El método utilizado para crear los volúmenes de sombra está protegido por una patente de Creative , que Creative otorgó a id Software permiso para usar en el motor de Doom 3 , a cambio de brindar soporte para las tecnologías de sonido avanzadas EAX de Creative . [ 22 ]

Tecnología de renderizado MegaTexture

La versión original del motor id Tech 4 fue diseñada para entornos algo oscuros y fue criticada por su supuesta incapacidad para manejar áreas exteriores diurnas extremadamente grandes. La tecnología MegaTexture (una forma de recorte de mapas ) abordó este problema. Al pintar una única textura masiva (inicialmente de 32.768 × 32.768 píxeles , luego extendida a dimensiones mayores en versiones posteriores) que cubre todo el mapa poligonal y el terreno altamente detallado, se pueden lograr los efectos deseados. MegaTexture 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 debe reproducirse al caminar sobre partes específicas del mapa. Por ejemplo, caminar sobre roca sonará diferente a caminar sobre hierba. [ 23 ] 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. [ 24 ] [ 25 ] Brink , que utiliza una versión muy modificada de id Tech 4, también utiliza texturizado virtual. [ 26 ] [ 27 ] Si bien la implementación es diferente de MegaTexture, se inspiró en ella. [ 28 ] [ 29 ]

Programación de scripts

id Tech 4 cuenta con un lenguaje de scripting completo que se puede utilizar al crear mods , y se usa en Doom 3 para controlar monstruos, armas y eventos del mapa. Este lenguaje de scripting es similar a C++. [ 30 ]

Además del lenguaje de scripting principal, idTech 4 también cuenta con otro lenguaje de scripting que se utiliza para las interfaces gráficas de usuario (GUI) , tanto para los menús como para el HUD , y también para las GUI integradas en el mundo del juego. [ 31 ] Estas GUI integradas en el juego son lo suficientemente potentes como para que, por ejemplo, se pueda ejecutar otro juego como el Doom original dentro del mundo del juego. [ 32 ]

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

Sonido

Como resultado del acuerdo con Creative sobre la patente de 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 la compatibilidad con OpenAL fue realizado por Creative Technology, no por id Software. [ 34 ]

Redes de contactos

El motor utiliza un modelo tradicional cliente-servidor . Inicialmente se planeó que tuviera un modelo de red peer-to-peer . [ 35 ] Esta parte del motor funciona de manera fundamentalmente similar a su equivalente en id Tech 3 ; sin embargo, id Tech 4 expone mucho más del protocolo de red a los desarrolladores de mods. [ 33 ]

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, ya que Quake 4 y Enemy Territory: Quake Wars admiten una cantidad significativamente mayor de jugadores.

Juegos que utilizan id Tech 4

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

Comparado con los anteriores y ampliamente utilizados id Tech 3 ( motor de Quake III Arena ) e id Tech 2 ( motor de Quake II ), id Tech 4 ha tenido menos éxito en la concesión de licencias a terceros. [ 36 ] 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 . [ 37 ] id Software no estaba dispuesto a licenciar su motor más nuevo antes de que su "juego principal" Doom 3 estuviera terminado. Sin embargo, el tiempo de desarrollo inesperadamente largo de Doom 3 de 2002 a 2004 significó que no pudieron competir con Unreal Engine 2 de Epic Games durante ese período. Muchos de los que licenciaron Unreal Engine 2 pudieron, por lo tanto, cambiar 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 exigentes y, en un principio, solo era útil en "juegos de terror" (hasta la adición de MegaTexture ), mientras que un número creciente de desarrolladores prefería motores convencionales que podían renderizar grandes áreas exteriores. También era 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 rival Source [ a ] aún podía ejecutarse en las GPU DirectX 7 más antiguas y extendidas, aunque sin el uso de sombreadores .

Juegos que utilizan una licencia propietaria

Juegos que utilizan una licencia de código abierto

Véase también

Notas

  1. Desarrollado a partir del motor GoldSrc , que a su vez deriva de id Tech 2.
  2. Comenzó como un esfuerzo por recrear Thief: The Dark Project dentro de Doom 3. [ 39 ] Se convirtió en un juego independiente una vez quese publicó el código fuente de Doom 3. [ 40 ]

Referencias

  1. "Código fuente de id Tech 4" . GitHub . 30 de marzo de 2020. Archivado del original el 18 de abril de 2019. Consultado el 11 de septiembre de 2015 .
  2. "Motor 3D: id Tech 4" . Archivado del original el 28 de enero de 2012. Consultado el 24 de septiembre de 2008 .
  3. "Preguntas y respuestas con John Carmack, E3 2002" . Archivado del original el 29 de septiembre de 2009.
  4. Carmack, John (7 de agosto de 2007). "No me comprometo a una fecha, pero el material de Doom 3 será de código abierto" . LinuxGames.com. Archivado del original el 3 de octubre de 2008.
  5. "La conferencia magistral de John Carmack: Cobertura en vivo de QuakeCon" . 13 de agosto de 2009. Archivado del original el 14 de agosto de 2009. Consultado el 14 de agosto de 2009 .
  6. "Id Software publicará el código fuente de Doom 3" . The Inquirer. 5 de agosto de 2011. Archivado del original el 7 de agosto de 2011. Consultado el 23 de agosto de 2015 .
  7. "Actualización de estado de John Carmack en Twitter" . 16 de noviembre de 2011. Archivado del original el 26 de agosto de 2021. Consultado el 18 de noviembre de 2011 .
  8. "Código fuente de Doom 3 en GitHub" . GitHub . 22 de noviembre de 2011. Archivado del original el 21 de julio de 2013. Consultado el 22 de noviembre de 2011 .
  9. "John Carmack tuitea sobre una solución alternativa para la infracción de código" . 17 de noviembre de 2011. Archivado del original el 16 de mayo de 2017. Consultado el 22 de noviembre de 2011 .
  10. Papadopoulos, John (17 de diciembre de 2026). "Versión final del puerto fuente de Doom 3, dhewm3, disponible para descargar, compatible con 4K, OpenAL y más" . DSO Gaming . Consultado el 9 de mayo de 2026 .
  11. Larabel, Michael (20 de noviembre de 2012). "Un año después, el desarrollo de Doom 3 de código abierto avanza lentamente" . Phoronix . Consultado el 9 de mayo de 2026 .
  12. Larabel, Michael (19 de diciembre de 2012). "Doom 3 BFG de código abierto adaptado a Linux" . Phoronix . Consultado el 9 de mayo de 2026 .
  13. "HunnoPPC trabaja en una adaptación de Quake 4 para AmigaOS 4.1" . Generation Amiga . 2 de enero de 2023. Consultado el 24 de marzo de 2023 .
  14. "La Radeon 9700 de ATI toma la delantera en rendimiento" . Archivado del original el 21 de septiembre de 2009. Consultado el 25 de septiembre de 2012 .
  15. Hargosh, Todd. "Doom es una bendición" . Game Industry News. Archivado del original el 27 de julio de 2011. Consultado el 11 de junio de 2011 .
  16. ".plan Archivo para John Carmack - Noticias de Blue" . Noticias de Blue . Archivado del original el 3 de marzo de 2016. Recuperado el 25 de mayo de 2016 .
  17. "Doom3 + Voodoo2_Patch_v1_0" . Archivado del original el 5 de diciembre de 2008. Recuperado el 25 de septiembre de 2012 .
  18. "Optimización del proceso de renderizado de modelos animados mediante las extensiones Intel Streaming SIMD" . intel.com . Archivado del original el 24 de junio de 2016. Consultado el 25 de mayo de 2016 .
  19. "DOOM Eternal probado a 8K: ni el diablo puede ejecutarlo" . Tweattown . 30 de marzo de 2020. Consultado el 6 de noviembre de 2023 .
  20. Kent, Steven L. La creación de Doom . McGraw-Hill, 2004, págs. 116.
  21. "Doom 3" . Pricenfees. 2 de marzo de 2005. Archivado del original el 13 de agosto de 2018. Consultado el 25 de mayo de 2016 .
  22. "John Carmack: "Esto apesta."" . Ars Technica . 28 de julio de 2004. Archivado del original el 26 de enero de 2012 . Consultado el 25 de mayo de 2016 .
  23. "GameSpy: Enemy Territory: Quake Wars - Página 1" . gamespy.com . Archivado del original el 13 de agosto de 2018. Consultado el 25 de mayo de 2016 .
  24. "John Carmack en Twitter" . Twitter . Archivado del original el 14 de noviembre de 2019. Consultado el 25 de mayo de 2016 .
  25. "John Carmack en Twitter" . Twitter . Archivado del original el 19 de enero de 2015. Consultado el 25 de mayo de 2016 .
  26. "BRINK: Compatibilidad con múltiples núcleos y mejor escalabilidad en PC" . 29 de julio de 2009. Archivado del original el 13 de septiembre de 2011. Consultado el 25 de mayo de 2016 .
  27. "Copia archivada" (PDF) . Archivado del original (PDF) el 9 de agosto de 2014. Recuperado el 25 de mayo de 2016 .{{cite web}}: CS1 mantenimiento: copia archivada como título ( enlace )
  28. "Texturas virtuales dispersas" . silverspaceship.com . Archivado del original el 23 de marzo de 2012. Consultado el 25 de mayo de 2016 .
  29. "Análisis técnico de Brink" . hollemeersch.net . Archivado del original el 27 de marzo de 2016. Consultado el 25 de mayo de 2016 .
  30. "id.sdk [ Scripts ] " . iddevnet.com . Archivado del original el 10 de diciembre de 2015 . Recuperado el 25 de mayo de 2016 .
  31. "id.sdk [ GUIs ] " . iddevnet.com . Archivado del original el 11 de agosto de 2016 . Recuperado el 25 de mayo de 2016 .
  32. "Superficies totalmente interactivas" . battleteam.net . Archivado del original el 9 de abril de 2016. Consultado el 25 de mayo de 2016 .
  33. 1 2 "id.sdk [ El Código ] " . iddevnet.com . Archivado del original el 7 de marzo de 2016 . Recuperado el 25 de mayo de 2016 .
  34. "Cómo se utilizó la última tecnología Sound Blaster X-Fi en QUAKE 4" . Archivado del original el 4 de agosto de 2012. Consultado el 25 de septiembre de 2012 .
  35. "Información sobre la conexión en red del modo multijugador de Doom 3" . Archivado del original el 31 de agosto de 2011.
  36. "id Tech 4 (Concepto) - Giant Bomb" . Archivado del original el 1 de diciembre de 2013. Recuperado el 26 de noviembre de 2013 .
  37. "id Tech 5" . Eurogamer . 9 de agosto de 2007. Archivado del original el 4 de marzo de 2016. Consultado el 25 de septiembre de 2012 .
  38. "3D Realms publica un vídeo de sus prototipos cancelados, incluidos SiN 2 y Bombshell FPS" . Archivado del original el 3 de diciembre de 2021. Consultado el 8 de abril de 2020 .
  39. "Outta Dunwall: Thief Remake The Dark Mod Updates" . Rock Paper Shotgun . 22 de octubre de 2012. Archivado del original el 24 de septiembre de 2015. Consultado el 25 de agosto de 2015 .
  40. "The Dark Mod" . 13 de octubre de 2011. Archivado del original el 27 de abril de 2021. Consultado el 11 de septiembre de 2015 .
  41. Campbell, Colin (4 de febrero de 2013). "¿Qué demonios es Quadrilateral Cowboy?" . IGN . Archivado del original el 7 de febrero de 2013 . Recuperado el 7 de febrero de 2013 .
  42. Colantonio, Giovanni (24 de febrero de 2025). "Skin Deep es absolutamente absurda y ya me encanta" . Digitaltrends . Consultado el 10 de marzo de 2025 .
  • Página oficial de licencias de id Tech 4 en Wayback Machine (archivada el 26 de octubre de 2008).
  • Material de referencia de id Tech 4
  • CNN - La vida después de la "catástrofe"
  • Código fuente de Doom 3 en GitHub