stringtranslate.com

Identificación técnica 4

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 juego 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 bajo 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 , aunque aún conservaba 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, 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, dijo a LinuxGames : "Quiero decir, 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 dicho que id Tech 4 se lanzará 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 de apertura para la QuakeCon 2011, confirmó que el código fuente de Doom 3 estaría disponible a finales de año, después del lanzamiento de Rage . [6]

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

El 22 de noviembre de 2011, Carmack publicó el código fuente de Doom 3 bajo GNU GPL-3.0 o posterior en GitHub . [8] La fuente no incluye nada del código de 'Carmack's Reverse'. Según Carmack, se realizaron 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, Dante y RBDOOM-3-BFG. [10] [11] [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 (y también se comenzó a trabajar en Prey ); esto desde entonces se ha utilizado 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 alta gama 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 de 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 DirectX 9.0 de la Radeon 9700 no son necesarias para renderizar el juego, su arquitectura avanzada, bus de memoria de 256 bits y eficiencia eran necesarios para ejecutar Doom 3 con alto nivel de detalle y velocidad jugable. [14] El modo gráfico "Ultra" incluido en Doom 3 ni siquiera se ejecutaba en tarjetas gráficas de alta gama en 2004, ya que el motor requería al menos 512 MB de memoria de video para mostrarse correctamente y a velocidades jugables. [15]

id Tech 4 provocó la obsolescencia de los chips gráficos DirectX 7, como los muy extendidos GeForce 2 y Radeon 7200 , así como de chipsets más antiguos como RIVA TNT2 y Rage 128 , y de 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 vídeo más antigua. Aunque 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 con capacidad para DirectX 8, aunque en el mejor de los casos era una GeForce 2 mejorada ) [ cita requerida ] , su adopción algo generalizada obligó a id Software a añadirla a 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 renderizar la iluminación por píxel y el mapeo de relieve. [17]

Características

Los efectos de sombreado del motor de iluminación y sombreado unificado 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 que no estaban presentes en su predecesor, id Tech 3. Entre ellas, se incluían el mapeo normal y el resaltado especular . Se agregaron más características en el desarrollo de los juegos sucesivos.

La principal innovación de id Tech 4 fue el uso de iluminación por píxel totalmente dinámica , mientras que antes los motores 3D dependían principalmente de iluminación por vértice calculada previamente o mapas de luz y sombreado Gouraud . Si bien antes había efectos dinámicos disponibles (como luces móviles dinámicas), este efecto simplemente cambiaba el brillo de los vértices del polígono, y los colores del píxel simplemente se interpolaban 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 [18] que en la generación anterior de motores de id. El método utilizado para crear los volúmenes de sombras es objeto de una patente de Creative , que Creative otorgó a id permiso para usar en el motor de Doom 3 , a cambio de respaldar las tecnologías de sonido avanzadas EAX de Creative . [19]

Los modelos utilizados en los juegos con el motor id Tech 4 están animados mediante animación esquelética . El motor puede combinar varias animaciones para producir una piel que se mueva correctamente para esas animaciones. Debido a que esto requiere un uso intensivo de la CPU, id trabajó un poco para optimizarlo mediante el uso de las extensiones Streaming SIMD (SSE) de Intel . [20]

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 aparente incapacidad para manejar áreas exteriores diurnas extremadamente grandes. La tecnología MegaTexture (una forma de mapeo de clip ) abordó este problema. Al pintar una única textura masiva (32,768×32,768 píxeles , aunque se ha extendido a dimensiones mayores en versiones recientes de la tecnología MegaTexture) que cubre todo el mapa de polígonos y un terreno muy 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 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. [21] 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. [22] [23] Brink , que utiliza una versión muy modificada de id Tech 4, también utiliza texturas virtuales. [24] [25] Si bien la implementación es diferente de MegaTexture, se inspiró en ella. [26] [27]

Técnicas de renderizado utilizadas en id Tech 4

Creación de guiones

id Tech 4 tiene un lenguaje de programación completo que se puede utilizar al crear mods y se utiliza en Doom 3 para controlar monstruos, armas y eventos del mapa. Este lenguaje de programación es similar a C++. [29]

Además del lenguaje de scripting principal, idTech 4 también tiene otro lenguaje de scripting 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. [30] Estas GUI del juego son lo suficientemente potentes como para que puedas, por ejemplo, ejecutar otro juego como el Doom original dentro del mundo del juego. [31]

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

Sonido

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

Redes

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

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, y Quake 4 y Enemy Territory: Quake Wars admiten significativamente más 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 caminar por las paredes.

En comparación con los motores id Tech 3 ( motor Quake III Arena ) e id Tech 2 ( motor Quake II ) que los precedieron y fueron ampliamente utilizados, id Tech 4 ha tenido menos éxito en la concesión de licencias a terceros. [35] 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 . [36] 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 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, hacer el cambio a Unreal Engine 3 con mayor facilidad.

Aunque 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 y, al principio, solo era útil en "juegos espeluznantes" (hasta la incorporación de MegaTexture ), mientras que un número cada vez mayor de desarrolladores preferían los motores convencionales que podían renderizar grandes áreas al aire libre. 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 Source rival [a] aún podía ejecutarse en las GPU DirectX 7 más antiguas y generalizadas, 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 , derivado a su vez de id Tech 2
  2. ^ Comenzó como un esfuerzo por recrear Thief: The Dark Project dentro de Doom 3. [ 38] Se convirtió en un juego independiente una vez que se lanzó el código fuente de Doom 3. [39]

Referencias

  1. ^ "Código fuente de id Tech 4". GitHub . 30 de marzo de 2020. Archivado desde el original el 18 de abril de 2019 . Consultado el 11 de septiembre de 2015 .
  2. ^ "3D Engine: id Tech 4". Archivado desde el original el 28 de enero de 2012. Consultado el 24 de septiembre de 2008 .
  3. ^ "Preguntas y respuestas con John Carmack, E3 2002". Archivado desde el original el 29 de septiembre de 2009.
  4. ^ Carmack, John (7 de agosto de 2007). "No me comprometeré con una fecha, pero el contenido de Doom 3 será de código abierto". LinuxGames.com. Archivado desde el original el 3 de octubre de 2008.
  5. ^ "The John Carmack Keynote: Liveblogging QuakeCon". 13 de agosto de 2009. Archivado desde el 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 desde el original el 7 de agosto de 2011. Consultado el 23 de agosto de 2015 .{{cite web}}: CS1 maint: URL no apta ( enlace )
  7. ^ "Actualización del estado de Twitter de John Carmack". 16 de noviembre de 2011. Archivado desde el original el 26 de agosto de 2021. Consultado el 18 de noviembre de 2011 .
  8. ^ "Fuente de Doom 3 en GitHub". GitHub . 22 de noviembre de 2011. Archivado desde el original el 21 de julio de 2013 . Consultado el 22 de noviembre de 2011 .
  9. ^ "John Carmack tuitea sobre cómo solucionar la infracción del código". 17 de noviembre de 2011. Archivado desde el original el 16 de mayo de 2017. Consultado el 22 de noviembre de 2011 .
  10. ^ Larabel, Michael (20 de noviembre de 2012). «Un año después, Doom 3 de código abierto avanza lentamente». Phoronix . Consultado el 29 de abril de 2024 .
  11. ^ Larabel, Michael (19 de diciembre de 2012). "Doom 3 BFG de código abierto portado a Linux". Phoronix . Consultado el 29 de abril de 2024 .
  12. ^ Papadopoulos, John (17 de diciembre de 2018). «La versión final del source port de Doom 3, dhewm3, está disponible para descargar, es compatible con 4K, OpenAL y más». DSO Gaming . Consultado el 14 de julio de 2024 .
  13. ^ "HunnoPPC está trabajando en un port de Quake 4 para AmigaOS 4.1". Generación 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 desde el original el 21 de septiembre de 2009 . Consultado el 25 de septiembre de 2012 .
  15. ^ Hargosh, Todd. "Doom es una bendición". Noticias de la industria del juego. Archivado desde el original el 27 de julio de 2011. Consultado el 11 de junio de 2011 .
  16. ^ ".plan File for John Carmack - Blue's News". bluesnews.com . Archivado desde el original el 3 de marzo de 2016. Consultado el 25 de mayo de 2016 .
  17. ^ "Doom3 + Voodoo2_Patch_v1_0". Archivado desde el original el 5 de diciembre de 2008. Consultado el 25 de septiembre de 2012 .
  18. ^ "Doom 3". Pricenfees. 2 de marzo de 2005. Archivado desde el original el 13 de agosto de 2018. Consultado el 25 de mayo de 2016 .
  19. ^ "John Carmack: "Esto apesta". Ars Technica . 28 de julio de 2004. Archivado desde el original el 26 de enero de 2012 . Consultado el 25 de mayo de 2016 .
  20. ^ "Optimización del flujo de renderizado de modelos animados mediante las extensiones Intel Streaming SIMD". intel.com . Archivado desde el original el 24 de junio de 2016 . Consultado el 25 de mayo de 2016 .
  21. ^ "GameSpy: Enemy Territory: Quake Wars - Página 1". gamespy.com . Archivado desde el original el 13 de agosto de 2018. Consultado el 25 de mayo de 2016 .
  22. ^ "John Carmack en Twitter". Twitter . Archivado desde el original el 14 de noviembre de 2019 . Consultado el 25 de mayo de 2016 .
  23. ^ "John Carmack en Twitter". Twitter . Archivado desde el original el 19 de enero de 2015 . Consultado el 25 de mayo de 2016 .
  24. ^ "BRINK: Soporte multinúcleo y mejor escalabilidad en PC". 29 de julio de 2009. Archivado desde el original el 13 de septiembre de 2011. Consultado el 25 de mayo de 2016 .
  25. ^ "Copia archivada" (PDF) . Archivado desde el original (PDF) el 9 de agosto de 2014. Consultado el 25 de mayo de 2016 .{{cite web}}: CS1 maint: copia archivada como título ( enlace )
  26. ^ "Texturas virtuales dispersas". silverspaceship.com . Archivado desde el original el 23 de marzo de 2012. Consultado el 25 de mayo de 2016 .
  27. ^ "Análisis técnico de Brink". hollemeersch.net . Archivado desde el original el 27 de marzo de 2016 . Consultado el 25 de mayo de 2016 .
  28. ^ "DOOM Eternal probado a 8K: ni siquiera el diablo puede ejecutar esto". Tweatwon . 30 de marzo de 2020 . Consultado el 6 de noviembre de 2023 .
  29. ^ "id.sdk [Scripts]". iddevnet.com . Archivado desde el original el 10 de diciembre de 2015. Consultado el 25 de mayo de 2016 .
  30. ^ "id.sdk [GUIs]". iddevnet.com . Archivado desde el original el 11 de agosto de 2016 . Consultado el 25 de mayo de 2016 .
  31. ^ "Superficies totalmente interactivas". battleteam.net . Archivado desde el original el 9 de abril de 2016 . Consultado el 25 de mayo de 2016 .
  32. ^ ab "id.sdk [El Código]". iddevnet.com . Archivado desde el original el 7 de marzo de 2016 . Consultado el 25 de mayo de 2016 .
  33. ^ "Cómo se utilizó la última tecnología Sound Blaster X-Fi en QUAKE 4". Archivado desde el original el 4 de agosto de 2012 . Consultado el 25 de septiembre de 2012 .
  34. ^ "Información sobre la red multijugador de Doom 3". Archivado desde el original el 31 de agosto de 2011.
  35. ^ "id Tech 4 (Concept) - Giant Bomb". Archivado desde el original el 1 de diciembre de 2013. Consultado el 26 de noviembre de 2013 .
  36. ^ "id Tech 5". Eurogamer . 9 de agosto de 2007. Archivado desde el original el 4 de marzo de 2016 . Consultado el 25 de septiembre de 2012 .
  37. ^ "3D Realms publica un vídeo de sus prototipos cancelados, incluidos SiN 2 y Bombshell FPS". Archivado desde el original el 3 de diciembre de 2021 . Consultado el 8 de abril de 2020 .
  38. ^ "Actualizaciones del mod The Dark de Outta Dunwall: Thief Remake". Rock Paper Shotgun . 22 de octubre de 2012. Archivado desde el original el 24 de septiembre de 2015. Consultado el 25 de agosto de 2015 .
  39. ^ "The Dark Mod". 13 de octubre de 2011. Archivado desde el original el 27 de abril de 2021. Consultado el 11 de septiembre de 2015 .
  40. ^ Campbell, Colin (4 de febrero de 2013). «¿Qué diablos es Quadrilateral Cowboy?». IGN . Archivado desde el original el 7 de febrero de 2013. Consultado el 7 de febrero de 2013 .

Enlaces externos