Identificación de tecnología 3

format_list_bulleted Contenido keyboard_arrow_down
ImprimirCitar
Motor de video juego
Star Trek: Elite Force II fue uno de los últimos juegos para utilizar el motor id Tech 3.

id Tech 3, conocido popularmente como motor Quake III Arena, es un motor de juego desarrollado por id Software para su videojuego Arena Quake III. Ha sido adoptado por numerosos juegos. Durante su época, compitió con Unreal Engine; Ambos motores tenían amplias licencias.

Aunque id Tech 3 se basa en el motor id Tech 2, se reescribió una gran cantidad del código. El sucesor id Tech 4 se derivó de id Tech 3, al igual que el motor IW de Infinity Ward utilizado en Call of Duty 2 en adelante.

En la 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. Distribuido originalmente por id a través de FTP, el El código ahora se puede descargar desde la cuenta de GitHub de id.

Características

Gráficos

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

id Tech 3 introdujo superficies curvas basadas en splines además de volúmenes planos, que son responsables de muchas de las superficies presentes en el juego.

Shaders

La tecnología gráfica del juego se basa estrechamente en un "shader" sistema donde la apariencia de muchas superficies se puede definir en archivos de texto denominados "scripts de sombreado". Los sombreadores se describen y representan como varias capas, cada capa contiene una textura, un "modo de fusión" que determina cómo superponerla sobre la capa anterior y los modos de orientación de la textura, como mapeo del entorno, desplazamiento y rotación. Estas características se pueden ver fácilmente dentro del juego con muchas superficies brillantes y activas en cada mapa e incluso en los modelos de 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 qué sonido se reproducirá cuando se pise un volumen. Para ayudar en el cálculo de estos sombreadores, id Tech 3 implementa una función de raíz cuadrada inversa rápida específica, que atrajo una gran cantidad de atención en la comunidad de desarrollo de juegos por su uso inteligente de operaciones con números enteros.

Video

Todos los vídeos del juego utilizan un formato propietario llamado "RoQ", que fue creado originalmente por Graeme Devine, el codiseñador de Quake 3, para el juego La hora 11. Internamente, RoQ utiliza cuantificación vectorial para codificar vídeo y DPCM para codificar audio. Si bien el formato en sí es propietario, se le realizó ingeniería inversa con éxito en 2001, y el decodificador RoQ real está presente en la versión del código fuente de Quake 3. RoQ ha tenido poco uso fuera de los juegos basados en los motores id Tech 3 o id Tech 4, pero es compatible con varios reproductores de vídeo (como MPlayer) y un puñado de terceros. -Existen codificadores de fiesta. Una excepción notable es el juego basado en Unreal Engine Postal 2: Apocalypse Weekend, que utiliza archivos RoQ para sus escenas de introducción y cierre, así como para una escena de broma que se reproduce después de una misión al final de parte uno.

Modelos

id Tech 3 carga modelos 3D en formato MD3. El formato utiliza movimientos de vértice (a veces llamados animación por vértice) en lugar de animación esquelética para almacenar animación. Las funciones de animación en el formato MD3 son superiores a las del formato MD2 de id Tech 2 porque un animador puede tener un número variable de fotogramas clave por segundo en lugar de los 10 fotogramas clave por segundo estándar de MD2. Esto permite animaciones más complejas que son menos "vibrantes" y menos "vibrantes". que los modelos encontrados en Quake II.

Otra característica importante del formato MD3 es que los modelos se dividen en tres partes diferentes que están ancladas entre sí. Normalmente, esto se utiliza para separar la cabeza, el torso y las piernas para que cada parte pueda animarse de forma independiente con el fin de combinar la animación (es decir, una animación de carrera en las piernas y una animación de disparo en el torso). Cada parte del modelo tiene su propio conjunto de texturas.

Los modelos de personajes se iluminan y sombrean usando sombreado Gouraud, mientras que los niveles (almacenados en formato BSP) se iluminan con mapas de luz o sombreado Gouraud, según las preferencias del usuario. El motor es capaz de tomar luces de colores de la rejilla de luz y aplicarlas a los modelos, lo que da como resultado una calidad de iluminación que era, para su época, muy avanzada.

En la versión GPL del código fuente, faltaba la mayor parte del código relacionado con los archivos de animación esquelética MD4. Se supone que id simplemente nunca terminó el formato, aunque casi todos los licenciatarios derivaron sus propios sistemas de animación esquelética de lo que estaba presente. Ritual Entertainment hizo esto para usarlo en el juego, Heavy Metal: F.A.K.K.², el SDK que formó la base del soporte MD4 completado por alguien que usó el seudónimo Gongo.

Sombras dinámicas

El motor es capaz de generar tres tipos diferentes de sombras. Uno simplemente coloca un círculo con bordes descoloridos en la zona de los personajes. pies, comúnmente conocida como la "sombra de la mancha" técnica. Los otros dos modos proyectan una sombra poligonal precisa sobre el suelo. La diferencia entre los dos últimos modos es la dependencia de sombras negras sólidas y opacas, mientras que el otro modo intenta (con éxito desigual) proyectar sombras de volumen de sombra de plantilla de paso profundo en un negro medio transparente. Ninguna de estas técnicas recorta los volúmenes de sombra, lo que hace que las sombras se extiendan por las paredes y a través de la geometría.

Otras características de renderización

Otras características visuales incluyen niebla volumétrica, espejos, portales, calcomanías y distorsión de vértices en forma de onda.

Sonido

El sistema de sonido

id Tech 3 emite a dos canales utilizando un búfer de salida en bucle, mezclado a partir de 96 pistas con espacialización estéreo y efecto Doppler. Toda la mezcla de sonido se realiza dentro del motor, lo que puede crear problemas para los licenciatarios que esperan implementar EAX o soporte de sonido envolvente. También faltan varios efectos populares, como los ecos.

Un defecto importante del sistema de sonido es que el mezclador no tiene su propio hilo, por lo que si el juego se detiene durante demasiado tiempo (especialmente mientras navega por los menús o se conecta a un servidor), el pequeño búfer de salida comenzará a funcionar en bucle. , un artefacto muy notable. Este problema también estaba presente en los motores Doom 3, Quake y Quake II.

Redes

id Tech 3 utiliza una "instantánea" sistema para transmitir información sobre los "marcos" al cliente a través de UDP. El servidor actualiza la interacción de objetos a una velocidad fija independiente de la velocidad que los clientes actualizan el servidor con sus acciones y luego intenta enviar el estado de todos los objetos en ese momento (el marco actual del servidor) a cada cliente. El servidor intenta omitir la mayor cantidad de información posible sobre cada cuadro, transmitiendo solo las diferencias con respecto al último cuadro 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.

Quake 3 también integraba un sistema de protección contra trampas relativamente elaborado llamado "servidor puro". Cualquier cliente que se conecte a un servidor puro tiene automáticamente habilitado el modo puro y, mientras el modo puro está habilitado, solo se puede acceder a los archivos dentro de los paquetes de datos. Los clientes se desconectan si sus paquetes de datos no superan una de varias comprobaciones de integridad. El archivo cgame.qvm, con su alto potencial de modificación relacionada con trampas, está sujeto a comprobaciones de integridad adicionales. Los desarrolladores deben desactivar manualmente el servidor puro para probar mapas o modificaciones que no están en paquetes de datos utilizando el formato de archivo PK3. Las versiones posteriores complementaron el servidor puro con soporte para PunkBuster, aunque todos los enlaces están ausentes en la versión del código fuente porque PunkBuster es un software de código cerrado e incluir soporte para él en la versión del código fuente habría causado que cualquier redistribuidor/reutilizador del código violara la GPL.

Máquina virtual

id Tech 3 utiliza una máquina virtual para controlar el comportamiento del objeto en el servidor, efectos y predicción en el cliente y la interfaz del usuario. Esto presenta muchas ventajas, ya que los autores mod no necesitan preocuparse por estrellarse todo el juego con código malo, los clientes podrían mostrar efectos más avanzados y menús de juego de lo que era posible en Quake II y la interfaz de usuario para mods era completamente personalizable.

Los archivos de máquina virtual se desarrollan en ANSI C, utilizando LCC para compilarlos en un formato de pseudoensamblaje RISC de 32 bits. Luego, una herramienta llamada q3asm los convierte en archivos QVM, que son archivos multisegmentados que constan de datos estáticos e instrucciones basadas en un conjunto reducido de códigos de operación de entrada. A menos que se utilicen operaciones que requieran un endianismo específico, un archivo QVM se ejecutará igual en cualquier plataforma compatible con Quake 3.

La máquina virtual también contenía compiladores de código de bytes para las arquitecturas x86 y PowerPC, ejecutando instrucciones QVM a través de un intérprete.

Ioquake3

Cartografía especulativa y normal automática en ioQuake3, Tremulous 1.3 pre-release client

Ioquake3 es un proyecto de motor de juego que tiene como objetivo aprovechar el lanzamiento del código fuente de id Tech 3 para eliminar errores, limpiar el código fuente y agregar características gráficas y de audio más avanzadas a través de SDL y OpenAL. ioquake3 también pretende actuar como un paquete base limpio, sobre el cual se pueden construir otros proyectos. El motor del juego admite el formato Ogg Vorbis y la captura de vídeo de demostraciones en formato.avi.

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 en la que se puedan basar nuevos juegos y proyectos. Además, el proyecto tiene como objetivo 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. Las características notables agregadas por el proyecto incluyen soporte VoIP incorporado, renderizado estéreo Anaglifo (para visualización con gafas 3D) y numerosas correcciones de seguridad. Una lista de algunas de las características está disponible en el sitio web del proyecto.

Ioquake3 ha sido la base de varios proyectos de juegos basados en el motor id Tech 3, como OpenArena (imitando Quake III Arena), Tremulous, Fumando' Guns, Urban Terror, Turtle Arena y World of Padman, así como proyectos de motores de juegos como efport (un Star Trek: Voyager – proyecto de recreación del motor 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 Elite Force se utilizó para empaquetar el lanzamiento gratuito del juego por el vigésimo aniversario para Windows y Linux.

El código fuente de los motores Return to Castle Wolfenstein y Wolfenstein: Enemy Territory se publicó bajo GNU GPL-3.0 o posterior el 12 de agosto de 2010. Los desarrolladores de ioquake3 anunciaron el inicio de los respectivos proyectos de motores (iortcw, iowolfet, ET: Legacy) poco después.

El proyecto ioquake3 también se ha utilizado en el ámbito académico como base para una variedad de investigaciones en instituciones como el Centro de Investigación Informática en Música y Acústica (CCRMA) de la Universidad de Stanford, Notre Dame como base para Investigación de realidad virtual y el Centro de Arquitecturas Avanzadas de Internet de la Universidad Tecnológica de Swinburne. Incluso existen esfuerzos de colaboración de investigadores de la Universidad Carnegie Mellon y la Universidad de Toronto que utilizan ioquake3 como plataforma para sus investigaciones publicadas. Los estudiantes también han utilizado ioquake3 como base para trabajos de gráficos avanzados para sus tesis, como el trabajo de Stephan Reiter, que incluso ha sido destacado en el proyecto LLVM debido a su síntesis del motor ioquake3, técnica de renderizado de trazado de rayos. y LLVM.

Aunque el nombre "ioquake3" está basado en Ryan "Icculus" En el sitio icculus.org de Gordon, Ryan no lidera el proyecto. En cambio, mantiene un rol de mentor y proporciona alojamiento para las listas de correo y el repositorio SVN utilizado por el proyecto. Desde entonces, el proyecto se ha dividido en derivados como Quake3e y Spearmint.

Juegos usando el motor

Juegos basados en la versión original

  • OpenArena – Un juego independiente de código abierto basado fuertemente en Quake III Arena...estilo Deathmatch. El juego intenta emular Quake III Arena en que el jugador marca frags para ganar el juego utilizando una variedad de armas diferentes. OpenArena también es capaz de correr algunos Quake III Arena mods basados como versiones anteriores de Tremulous. OpenArena se ejecuta en ioquake3 y la versión 0.8 ha sido portada con éxito a Android.
  • Space Trader – Un juego de acción/estrategia de HermitWorks Entertainment.
  • Smokin' Guns – Un juego de primera persona de código abierto que pretendía ser una simulación semi-realista de la atmósfera "Old West". Originalmente a Quake III Arena modificación, fue entonces portado al motor ioquake3 en 2009.
  • Terrorismo urbano – A Quake III Arena conversión total mod mientras que diseñado y liberado para trabajar con el software minorista Quake III Arena, también es compatible con alternativas de motor de código abierto. El juego se puede comparar con Counter-Strike con un enfoque más grande en el movimiento con sus características de parkour. El terror urbano corre en el motor del ioquake3.
  • Tremulous – Tremulous es un extranjero asimétrico de código abierto contra un tirador humano con elementos de estrategia en tiempo real. Cada equipo puede construir y defender una base, que consiste en estructuras esenciales y de apoyo que ayudan a los jugadores de alguna manera. La victoria para un equipo se hace normalmente eliminando las estructuras enemigas y los jugadores restantes. Tremulous comenzó como un Quake III Arena mod, pero en la versión 1.1 el juego fue cargado hasta el motor ioquake3. Ha generado un sucesor llamado Unvanquished, que funciona en el motor Daemon.
  • Mundo de Padman – El juego se basa en la tira cómica de Padman para la revista PlayStation Games, creada por el artista profesional Andreas 'ENTE' (German for "Duck") Endres. También sirvió como diseñador de nivel para el juego. La versión actual se ejecuta en una versión mejorada del motor ioquake3.

Juegos con licencia propietaria

Año Título Desarrollado Notas
1999 Quake III Arenaid Software
2000 Metal pesado: F.A.K.K. 2Entretenimiento ritual ÜberTools
Star Trek: Voyager – Elite ForceRaven Software
American McGee's AliceRogue Entertainment ÜberTools
Quake III: Team Arenaid Software
2001 Quake III RevoluciónBullfrog Productions
James Bond 007: Agente bajo fuegoEA Redwood Shores ÜberTools
Volver al castillo WolfensteinGray Matter Studios (SP)
Nerve Software (MP)
2002 Medalla de Honor: Agresión Aliada2015, Inc. ÜberTools
Star Wars Jedi Knight II: Jedi OutcastRaven Software
Soldado de la Fortuna II: Helix dobleRaven Software
Medalla de Honor: Agresión aliada - SpearheadEA Los Angeles ÜberTools
2003 Wolfenstein: Territorio enemigoDaños de choque
Star Trek: Elite Force IIEntretenimiento ritual ÜberTools
Medalla de Honor: Agresión Aliada - AvanceTKO Software ÜberTools
Star Wars Jedi Knight: Jedi AcademyRaven Software
Call of DutyInfinity Ward ÜberTools
2004 James Bond 007: Todo o nadaEA Redwood Shores ÜberTools
Call of Duty: United OffensiveGray Matter Studios
Treyarch
ÜberTools
2008 Iron Grip: WarlordISOTX
2009 Salvación oscuraMangled Eye Studios
Call of Duty ClassicInfinity Ward ÜberTools
2010 Quake Liveid Software
Cancelada SeveridadEstudios de escalada
Trinidad: El efecto de rupturaGray Matter Studios

Contenido relacionado

Historia de la cámara

La historia de la cámara comenzó incluso antes de la introducción de la fotografía. Las cámaras evolucionaron desde la cámara oscura a través de muchas...

Tubo de vacío

Un tubo de vacío, tubo de electrones o válvula termoiónica, es un dispositivo que controla el flujo de corriente eléctrica en un alto vacío entre...

Señales de humo

La señal de humo es una de las formas más antiguas de comunicación a larga distancia. Es una forma de comunicación visual utilizada a larga distancia. En...
Más resultados...
Tamaño del texto:
  • Copiar
  • Editar
  • Resumir
undoredo
format_boldformat_italicformat_underlinedstrikethrough_ssuperscriptsubscriptlink
save