Articulo de referencia

id Tech 3

(rewritten 14% in [[C++]])"},"platform":{"wt":"[[Microsoft Windows|Windows]], [[Classic Mac OS|Mac OS]], [[macOS|OS X]], [[Linux]], [[Dreamcast]], [[GameCube]], [[Nintendo Switc...

Star Trek: Elite Force II es uno de los últimos juegos en utilizar el motor id Tech 3.

id Tech 3 , originalmente conocido como el motor de Quake III Arena , es un motor de juego desarrollado por id Software para su juego Quake III Arena de 1999. Posteriormente, se ha utilizado en numerosos juegos. Comercialmente, id Tech 3 compitió con las primeras versiones de Unreal Engine ; ambos se licenciaron ampliamente. Originalmente propietario, ahora es software de código abierto .

id Tech 3 se basa en el anterior id Tech 2 , con gran parte del código reescrito. id Tech 4 derivó de id Tech 3, al igual que el motor IW de Infinity Ward , utilizado en Call of Duty 2 en adelante.

En QuakeCon 2005, John Carmack anunció que el código fuente de id Tech 3 se publicaría bajo la Licencia Pública General GNU v2.0 o posterior, y se publicó el 19 de agosto de 2005. [ 1 ] Originalmente se distribuyó a través de FTP y posteriormente se trasladó a GitHub .

Características

Gráficos

A diferencia de la mayoría de los demás motores de juegos lanzados en ese momento , incluido su principal competidor, Unreal Engine , id Tech 3 requiere un acelerador gráfico compatible con OpenGL para funcionar. El motor no incluye un renderizador por software , a diferencia de id Tech 2.

id Tech 3 introdujo superficies curvas basadas en splines además de volúmenes planos. [ 2 ]

La tecnología gráfica del juego se basa en un sistema de sombreado , donde la apariencia de muchas superficies se define en archivos de texto denominados scripts de sombreado . Los sombreadores se describen y renderizan como varias capas. Cada capa contiene una textura, un "modo de fusión" que determina cómo superponerla sobre la capa anterior y modos de orientación de textura como mapeo de entorno, desplazamiento y rotación. Estas características se aprecian claramente en el juego, con numerosas superficies brillantes y dinámicas en cada mapa e incluso en los modelos de los personajes. El sistema de sombreado va más allá de la apariencia visual, definiendo el contenido de los volúmenes (por ejemplo, un volumen de agua se define aplicando un sombreador de agua a sus superficies), la emisión de luz y el sonido que se reproduce al pisar un volumen. [ 3 ] Para facilitar el cálculo de estos sombreadores, id Tech 3 implementa una función específica de raíz cuadrada inversa rápida , que atrajo mucha atención en la comunidad de desarrollo de videojuegos por su ingenioso uso de operaciones con enteros. [ 4 ] [ 5 ]

Redes de contactos

Al igual que los títulos anteriores de id, Doom y Quake , Quake III Arena ofrece soporte multijugador mediante funciones integradas en su motor. id Tech 3 utiliza un sistema de instantáneas para transmitir información sobre los fotogramas del juego al cliente a través de UDP . El servidor actualiza la interacción de los objetos a una velocidad fija, independientemente de la velocidad a la que los clientes actualizan el servidor con sus acciones, y luego intenta enviar el estado de todos los objetos en ese momento (el fotograma actual del servidor) a cada cliente. El servidor intenta omitir la mayor cantidad de información posible sobre cada fotograma, transmitiendo solo las diferencias con respecto al último fotograma que el cliente confirmó como recibido ( codificación Delta ). Todos los paquetes de datos se comprimen mediante codificación Huffman con datos de frecuencia estáticos precalculados para reducir aún más el uso del ancho de banda. [ 6 ]

Quake III Arena cuenta con un sistema de protección contra trampas integrado y relativamente elaborado llamado "pure server". Cualquier cliente que se conecte a un pure server tiene automáticamente activado el "modo puro"; mientras este modo está activado, solo se puede acceder a los archivos dentro de los paquetes de datos. Los clientes se desconectan si sus paquetes de datos no superan alguna de las comprobaciones de integridad. El cgame.qvmarchivo, con su alto potencial de modificación relacionada con trampas, está sujeto a comprobaciones de integridad adicionales. Los desarrolladores deben desactivar manualmente el pure server para probar mapas o mods que no estén en paquetes de datos que utilicen el formato de archivo PK3. Las versiones posteriores complementaron el pure server con soporte para PunkBuster , aunque todos los hooks para ello no están presentes en la publicación del código fuente porque PunkBuster es software de código cerrado e incluir soporte para él en la publicación del código fuente habría provocado que cualquier redistribuidor/reutilizador del código infringiera la GPL . [ 7 ]

ioquake3

Mapeo especular y normal automático en ioQuake3, cliente de prelanzamiento de Tremulous 1.3

Ioquake3 es un proyecto de motor de juego que busca desarrollar el código fuente de id Tech 3 [ 8 ] [ 9 ] para eliminar errores, limpiar el código fuente y agregar funciones gráficas y de audio más avanzadas mediante SDL y OpenAL . ioquake3 también pretende ser un paquete base limpio sobre el cual se puedan construir otros proyectos. El motor de juego admite el formato Ogg Vorbis y la captura de video de demostraciones en formato .avi . [ 10 ]

El proyecto se inició poco después del lanzamiento del código fuente con el objetivo de crear una distribución de código fuente del motor Quake III de código abierto , mejorada y libre de errores , sobre la cual se puedan basar nuevos juegos y proyectos. Además, el proyecto busca proporcionar un entorno mejorado en el que se pueda jugar Quake III: Arena , el paquete de expansión Team Arena y todos los mods populares . [ 11 ] [ 12 ] [ 13 ] [ 14 ] El proyecto agregó características que incluyen soporte VoIP integrado , renderizado estéreo anaglifo (para visualización con gafas 3D) y numerosas correcciones de seguridad.

Ioquake3 es la base de varios proyectos de juegos basados ​​en el motor id Tech 3, como OpenArena (que imita a Quake III Arena ), Tremulous , [ 15 ] [ 16 ] Smokin' Guns , [ 17 ] Urban Terror , [ 18 ] [ 19 ] Turtle Arena y World of Padman [ 20 ] [ 21 ] y proyectos de motores de juegos como efport (un clon de Star Trek: Voyager – Elite Force Holomatch ), ioJedi Outcast, ioJedi Academy, ioDoom3 y OpenMoHAA . El motor y sus juegos asociados se han incluido en varias distribuciones de Linux y BSD . El motor cMod derivado del puerto anterior de Elite Force se utilizó para empaquetar el lanzamiento gratuito del 20.º aniversario del juego para Windows y Linux. [ 22 ]

El código fuente de los motores de Return to Castle Wolfenstein y Wolfenstein: Enemy Territory se publicó bajo la licencia GNU GPL-3.0 o posterior el 12 de agosto de 2010. [ 23 ] Los desarrolladores de ioquake3 anunciaron el inicio de otros proyectos de motores. [ 24 ]

El proyecto ioquake3 se ha utilizado en investigaciones académicas como el Centro de Investigación Informática en Música y Acústica (CCRMA) de la Universidad de Stanford, [ 25 ] [ 26 ] Notre Dame como base para la investigación en RV, [ 27 ] y el Centro de Arquitecturas Avanzadas de Internet de la Universidad Tecnológica de Swinburne. [ 28 ] [ 29 ] Los esfuerzos de colaboración de investigadores de la Universidad Carnegie Mellon y la Universidad de Toronto utilizan ioquake3 como plataforma para su investigación publicada. [ 30 ] [ 31 ] Los estudiantes han utilizado ioquake3 como base para trabajos gráficos avanzados para sus tesis, como el trabajo de Stephan Reiter [ 32 ] [ 33 ] que ha sido reconocido en el proyecto LLVM [ 34 ] debido a su síntesis del motor ioquake3, la técnica de renderizado por trazado de rayos y LLVM.

Desde entonces, el proyecto ha recibido bifurcaciones, como Quake3e, [ 35 ] Spearmint, [ 36 ] y vkQuake3. [ 37 ] [ 38 ]

Otros motores derivados incluyen el motor Daemon utilizado por Unvanquished , [ 39 ] [ 40 ] [ 41 ] así como puertos de código fuente de la competencia como XreaL, [ 42 ] [ 43 ] Kwaak3 para Android [ 44 ] [ 45 ] [ 46 ] [ 47 ] [ 48 ] [ 49 ] y Quake-3-Android-Port-QIII4A. [ 50 ]

Juegos

Véase también

Referencias

  1. "¡Quake III: Arena Source publicado!" . PlanetQuake3 . 19 de agosto de 2005. Archivado del original el 17 de octubre de 2005 . Consultado el 3 de diciembre de 2024 .
  2. ^ Jennell Jaquays , Brian Hook. "Manual de sombreador de arena de Quake III" . pag. 5 . Consultado el 1 de octubre de 2006 . {{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  3. ^ Jennell Jaquays , Brian Hook. "Manual de sombreador de arena de Quake III" . pag. 1 . Consultado el 1 de octubre de 2006 . {{cite web}}: CS1 maint: servicio de archivado obsoleto ( enlace )
  4. Eberly, David (2002). "Raíz cuadrada inversa rápida" (PDF) . Herramientas geométricas. pág. 2. Archivado del original (PDF) el 24 de febrero de 2009. 
  5. Sommefeldt, Rys (29 de noviembre de 2006). "Origen de Fast InvSqrt() de Quake3" . Beyond3D . Archivado del original el 9 de febrero de 2009. Recuperado el 12 de febrero de 2009 .
  6. "Libro de Hook: El modelo de red de Quake3" . Archivado del original el 27 de octubre de 2006. Consultado el 1 de octubre de 2006 .
  7. "Página de ayuda de Ioquake3" . Archivado del original el 11 de enero de 2016. Consultado el 17 de febrero de 2007 .
  8. "Guía completa: Configurar y personalizar ioQuake3 en Linux" . Linux Today. Archivado del original el 9 de marzo de 2012. Consultado el 3 de enero de 2010 .
  9. "Quake 3 adaptado a iPod Touch con controles de inclinación – Betanews" . 14 de abril de 2008. Consultado el 4 de enero de 2010 .
  10. Valich, Theo (3 de abril de 2007). "Dos juegos gratuitos basados ​​en el motor de Quake 3 se lanzan" . The Inquirer . Archivado del original el 28 de agosto de 2010. Recuperado el 12 de enero de 2010 .
  11. "ioquake3 para OS X – Inside Mac Games" . Archivado del original el 24 de septiembre de 2015. Consultado el 3 de enero de 2010 .
  12. "ioquake3 para Mac OS X disponible para descargar – Noticias de Macsimum" . Archivado del original el 12 de septiembre de 2006. Consultado el 3 de enero de 2010 .
  13. "IOQuake3 OSX : Clone de Quake III (gratuit) – MaxiApple.com" . 10 de mayo de 2009 . Consultado el 3 de enero de 2010 . 
  14. ^ "IOQuake3 1.34 – Jogue Quake 3 sin Mac OS X – Maclivre.net" . Archivado desde el original el 23 de julio de 2011 . Consultado el 4 de enero de 2010 .
  15. "Tembloroso por la página" . Archivado del original el 10 de diciembre de 2015. Recuperado el 4 de noviembre de 2009 .
  16. "Quake, conoce la GPL; GPL, conoce Quake – Linux Journal" . Archivado del original el 1 de octubre de 2020. Recuperado el 4 de enero de 2010 .
  17. "Entretien con el equipo de Smokin'Guns – JeuxLinux" . Archivado desde el original el 19 de marzo de 2021 . Consultado el 4 de noviembre de 2009 .
  18. "Manual de Terror Urbano" . Consultado el 18 de mayo de 2015 .
  19. "Dos juegos gratuitos basados ​​en el motor de Quake 3 se lanzan – The Inquirer" . Archivado del original el 28 de agosto de 2010. Consultado el 4 de enero de 2010 .
  20. "Un vistazo a los juegos gratuitos basados ​​en el motor Quake3 – Slashdot" . 6 de abril de 2007. Archivado del original el 19 de marzo de 2021. Consultado el 3 de enero de 2010 .
  21. "Comparativa de juegos de disparos de software libre – linuX-gamers.net" . Consultado el 4 de enero de 2010 .
  22. Procter, Lewie (13 de agosto de 2020). "Star Trek: Voyager Elite Force Holomatch se reedita gratis por su 20.º aniversario" . wePC . Consultado el 25 de marzo de 2023 .
  23. "Enlace FTP" . ftp.idsoftware.com . Archivado del original el 2 de diciembre de 2015.
  24. Larabel, Michael (13 de junio de 2010). "id Software publica como código abierto ET, RTCW" . Phoronix . Archivado del original el 16 de agosto de 2010. Recuperado el 13 de agosto de 2010 .
  25. "Documento de investigación Q3osc" (PDF) . Archivado (PDF) del original el 19 de marzo de 2021. Recuperado el 9 de enero de 2010 .
  26. «Wiki Q3osc» . Consultado el 9 de enero de 2010 .
  27. "Un estudio de las tecnologías de entornos virtuales colaborativos" (PDF) . Archivado del original (PDF) el 10 de octubre de 2015. Recuperado el 9 de enero de 2010 .
  28. "Especificaciones de entrada y salida de L3DGEWorld 2.1" (PDF) . Archivado (PDF) del original el 5 de octubre de 2011. Recuperado el 9 de enero de 2010 .
  29. "L3DGEWorld 2.3" . Archivado del original el 5 de octubre de 2011. Consultado el 9 de enero de 2010 .
  30. "Aceleración gráfica independiente de VMM" (PDF) . Archivado del original (PDF) el 9 de octubre de 2009. Consultado el 9 de enero de 2010 .
  31. Artículo de VMM en ACM . 13 de junio de 2007. págs. 33–43 . doi : 10.1145/1254810.1254816 . ISBN  978-1-59593-630-1. S2CID 655357 . Consultado el 9 de enero de 2010 . 
  32. "Trazado de rayos en tiempo real de escenas dinámicas" . Consultado el 22 de abril de 2012 .
  33. "Generación de código en tiempo de ejecución para materiales" . Consultado el 22 de abril de 2012 .
  34. "Usuarios de LLVM, proyectos de código abierto" . Archivado del original el 23 de febrero de 2021. Consultado el 9 de enero de 2010 .
  35. Larabel, Michael (16 de marzo de 2021). "El controlador Vulkan V3DV disfruta de más optimizaciones para ayudar a la Raspberry Pi 4" . Phoronix . Recuperado el 9 de agosto de 2024 .
  36. Larabel, Michael (19 de septiembre de 2018). "El motor Spearmint 1.0 derivado de Ioquake3 llegará el próximo mes, pero se detendrá su desarrollo" . Phoronix . Consultado el 9 de agosto de 2024 .
  37. Liu, Zhiye (20 de junio de 2020). "El controlador Vulkan de un ingeniero de Nvidia para Raspberry Pi ejecuta Quake III a más de 100 FPS a 720p" . Tom's Hardware . Consultado el 20 de julio de 2024 .
  38. Larabel, Michael (27 de marzo de 2019). "La capa de portabilidad Rust Vulkan "Gfx-rs" ahora puede ejecutar vkQuake3" . Phoronix . Consultado el 21 de julio de 2024 .
  39. Michael Larrabel (1 de julio de 2012). "Unvanquished: Un juego de código abierto muy prometedor" . Phoronix . Consultado el 7 de julio de 2015 .
  40. Larabel, Michael (15 de septiembre de 2013). "Unvanquished está reescribiendo y modernizando el motor de Quake 3" . Phoronix . Recuperado el 9 de agosto de 2024 .
  41. Larabel, Michael (3 de agosto de 2015). "Unvanquished hace que su motor de código abierto sea fácil de usar para otros juegos" . Phoronix . Recuperado el 9 de agosto de 2024 .
  42. Larabel, Michael (9 de abril de 2009). "XreaL: ¿El motor de juegos de código abierto más avanzado?" . Phoronix . Consultado el 21 de julio de 2024 .
  43. Larabel, Michael (1 de diciembre de 2012). "El estado de los motores de juegos XReaL y OpenWolf" . Phoronix . Consultado el 21 de julio de 2024 .
  44. "Quake 3, estilo Android" . TechCrunch . 25 de febrero de 2010. Consultado el 21 de julio de 2024 .
  45. Larabel, Michael (23 de febrero de 2010). "Quake 3 llega a la plataforma Android de Google" . Phoronix . Consultado el 21 de julio de 2024 .
  46. Spencer, Spanner (26 de febrero de 2010). "Quake 3 adaptado a Android" . Pocket Gamer . Consultado el 21 de julio de 2024 .
  47. Savov, Vlad (25 de febrero de 2010). "Quake 3 adaptado a Android, muestra la destreza gráfica de Droid (video)" . Engadget . Consultado el 21 de julio de 2024 .
  48. Pérez, Anthony (24 de febrero de 2010). "Quake 3 se ha adaptado con éxito a dispositivos Android 2.0" . Phanadroid . Consultado el 21 de julio de 2024 .
  49. Kennemer, Quentyn (10 de mayo de 2010). "Quake 3 finalmente adaptado a Nexus One" . Phanadroid . Consultado el 21 de julio de 2024 .
  50. Rahman, Mishaal (16 de mayo de 2017). "Cómo jugar Return to Castle Wolfenstein, Doom 3 y Quake 3 (con Arena) en tu dispositivo Android" . XDA Developers . Consultado el 21 de julio de 2024 .
  • Página oficial de licencias de id Tech 3. Archivada del original el 8 de noviembre de 2009. Consultada el 6 de julio de 2012 .{{cite web}}: CS1 maint: bot: estado de la URL original desconocido ( enlace )
  • Repositorio del código fuente original de Quake III (id Tech 3) en idsoftware.com
  • El repositorio actual del código fuente de Quake III de id Software (id Tech 3) se encuentra en github.com.
  • Página del proyecto ioquake3 , continuación de la comunidad