Quake III Arena
# Quake III Arena

Quake III Arena o Quake 3 (también reconocido con las abreviaciones Q3:A, Q3A o Q3) es un videojuego de disparos en primera persona publicado el 2 de diciembre de 1999. El juego fue desarrollado por id Software, con música compuesta por Sonic Mayhem y Front Line Assembly. Quake III Arena es el tercer título en la serie y difiere de juegos anteriores de la serie Quake en excluir los elementos comunes de los denominados juegos para un solo jugador, enfocándose en su lugar en la acción multijugador. La experiencia solitaria en Quake III Arena es un combate de arena contra oponentes controlados por PC, en un estilo similar a su competidor, Unreal Tournament.

Al igual que en muchos juegos del género en su modo multijugador, el objetivo en Quake III Arena es moverse a través de todo el campo de batalla eliminando (fragueando, del inglés frag) a los jugadores enemigos y anotándose puntos basándose en los objetivos del tipo de juego. Cuando los puntos de vida de un jugador llegan a cero, el avatar del jugador es eliminado (fragueado); luego el jugador reaparece en otro punto del mapa y sigue jugando con sus puntos de vida restaurados, pero sin las armas ni ítems que recolectó anteriormente. El juego termina cuando un jugador o equipo alcanza un puntaje específico, o cuando se termina el tiempo. El modo de un solo jugador del juego consta de este objetivo contra oponentes controlados por computadora (bots). Los modos de juego que vienen por defecto en Quake III Arena son deathmatch (combate mortal), team deathmatch (combate mortal por equipos), capture the flag (capturar la bandera), y tournament (torneo), en el que los jugadores ponen a prueba sus habilidades entre ellos en batallas uno contra uno, y una ronda de eliminación.

Una expansión oficial, llamada Quake III: Team Arena, (Q3TA) salió a la venta en diciembre de 2000. Este se concentró en hacer hincapié en el juego en equipo a través de nuevas modalidades de juego, además de incluir nuevas armas, mapas, ítems, y modelos de jugador. Aun así, Team Arena fue criticado porque sus novedades estaban atrasadas, y ya habían sido implementadas mediante modificaciones hechas por fanáticos del juego. Unos años más tarde, Quake III: Gold fue puesto a la venta, conteniendo a Q3A y Q3TA como si fueran un solo videojuego.

El 19 de agosto de 2005 id Software publicó el código fuente completo para estos dos juegos bajo la licencia Licencia pública general de GNU (GPL), así como hicieron con sus motores y trabajos anteriores. Esto no convierte al juego completamente en GNU, de todos modos, ya que las texturas y otros datos no fueron publicados con el código. Un proyecto llamado OpenArena soluciona este problema, creando contenido "abierto" y entregándolo con el motor gráfico como un clon stand-alone de Quake III.

## Desarrollo

A principios de marzo del año 1999, ATI mostró una copia del juego exclusiva para uso interno para vendedores de hardware. (IHV) Esta contuvo un motor gráfico completamente funcional del juego y un nivel con varias texturas y armas funcionando. Esta copia IHV trajo todas las armas que finalmente aparecerían en el juego, sin embargo, muchas de ellas aún no estaban completas en cuanto a sus modelos. Una motosierra y un lanzagancho (el arma incluida en CTF de Quake II) estuvieron en esa demo IHV, pero finalmente no aparecieron en la versión final de salida del juego. Esta incluyó además varios de los sonidos que luego aparecerían en el juego.

Tras el fiasco de la IHV, id Software lanzó una beta de Quake III llamada Q3Test el 24 de abril de 1999. Q3Test empezó con la versión 1.05. Esta incluyó tres niveles que luego serían incluidos en el lanzamiento final: dm7, dm17, y q3tourney2. Continuaron actualizando Q3Test hasta la versión 1.11.

Inicialmente en Q3Test los comandos de consola no necesitaban prefijarse con '/'. Si un comando era ingresado como typo o comando incorrecto, se mostraría como un mensaje de texto para que todos vean el error. Esto causaba un problema grave para los administradores de servidores, ya que si uno ingresaba la contraseña para acceder a las opciones de administración de su servidor y escribía mal el comando, podía dejar al descubierto la contraseña del mismo y dejar que otros controlen el servidor a gusto. Agregar un '/' antes de ingresar un comando aseguraba que el mismo quedara en privado.

Durante un tiempo en el lanzamiento final del juego, el Gauntlet (arma cuerpo-a-cuerpo del juego) se pudo usar para matar instantáneamente a cualquier jugador accionándolo y sacando a la vez el cuadro de diálogo de texto. Si el jugador se acercaba, moría al instante.

## Otras versiones

### Dreamcast

Q3A tuvo su versión para la consola Sega Dreamcast en el año 2000. Esta versión trajo soporte para el juego en línea para 4 jugadores contra jugadores de PC y Dreamcast. Su portación a la consola es considerada además como la mejor de un juego de PC a una consola de su tiempo, gracias a su fluido número de cuadros por segundo y su juego en línea. Antes de que Activision pudiera lanzar un pack de mapas "oficial" para el juego en la consola, una copia "hackeada" de todos los mapas del juego para Dreamcast apareció por sorpresa. Este pack incluía los mapas diseñados específicamente para la acción a pantalla dividida de la consola, los cuales jamás tuvieron planes de ser lanzados para PC. Una vez que el pack de mapas "oficial" vio la luz, conseguir aquel otro pack se hizo más difícil. Los jugadores de PC necesitaban una versión vieja del juego (1.16n) para jugar con sus pares de Dreamcast, pero los mapas terminaron funcionando sin problemas en la versión final 1.32.

### PlayStation 2

Quake III Revolution fue lanzado para la videoconsola PlayStation 2 en 2001 y contuvo varios elementos adoptados de Quake III: Team Arena, además de una campaña para un solo jugador más enfocada a las misiones. No tuvo el mismo éxito que su contraparte de Dreamcast, al carecer de juego en línea. Aun así tenía un modo de pantalla partida a cuatro jugadores y fue uno de los primeros juegos en aprovechar todo el potencial de la consola.

### Xbox

Q3A también tiene una versión no oficial para la consola Xbox, basada en la liberación del código fuente, que sumado ala filtración del SDK de la consola hizo posible la realización de un port gratuito, aunque sin embargo requiere archivos originales de Quake 3 que no pueden distribuirse, y que debe poseer el usuario final, eso sin olvidar el hecho de que los ejecutables creados con el SDK de Xbox filtrado son ilegales. El juego es un port fiel de la versión PC, posibilitando el juego en línea con los servidores de Quake 3 (así como el juego en línea LAN con versiones de PC) y sin usar los de Xbox Live. Es compatible con los mods existentes de Quake 3 con la posibilidad de sufrir ralentizaciones con algunos demasiado complejos o pesados con los recursos disponibles.

### Xbox 360

Quake III: Team Arena fue revelado recientemente en un listado de la ESRB para la consola Xbox 360. El título está siendo desarrollado por Pi Studios.

### PSP

También basándose en el código liberado se hizo un port para Playstation portable que corre a 15-20 fps, aún es imposible conectarse a LAN, y mapas grandes no corren pero es de algún modo jugable.

## Tecnología

### Gráficos

A diferencia de otros videojuegos que aparecieron en su momento, Quake III requirió una placa aceleradora gráfica compatible con OpenGL y no incluyó un renderizador de gráficos por software. La tecnología gráfica del juego está basada firmemente alrededor de un sistema de "shaders" donde las apariencias de muchas superficies pueden ser definidas en uno de varios archivos de texto referidos como "shader scripts". Los shaders son descritos y renderizados como varias capas, cada una conteniendo una textura, un modo de mezcla o blend que determina cual debe superponerse a la última, y modos de orientación de textura tales como mapeo de ambientes, verticalización, (scrolling) y rotación. Estas características se pueden ver fácilmente dentro del juego, con muchas superficies brillantes y activas en cada mapa, y más aún en los modelos de los personajes. El sistema de shaders va mucho más allá de la simple apariencia, definiendo además los contenidos de los volúmenes, (por ejemplo, un volumen de agua es definido como tal aplicando un shader de agua a sus superficies) emisión de luces, y qué sonido reproducir al entrar a un volumen.

Quake III, además, introdujo superficies curvas basadas en splineas en conjunto con los volúmenes planares, ambos responsables de la gran mayoría de las superficies lisas presentes en el juego.

La versión original de Quake III trajo soporte para modelos animados usando animación de vértice con etiquetas adjuntas, permitiendo a los modelos mantener la separación de las animaciones del torso y las piernas, además de sostener armas. Con el lanzamiento de Quake 3: Team Arena, se agregó el soporte para modelos sobre esqueletos. Quake 3 es uno de los primeros juegos donde el modelo en tercera persona puede ver hacia arriba, hacia abajo, y en los alrededores. (Debido a la separación de la cabeza, el torso y las piernas).

Los vídeos en el juego usan un formato propietario llamado "RoQ", originado en el juego The 11th Hour. Graeme Devine, diseñador de Quake 3, aparece como el creador del formato en The 11th Hour, que además contiene vídeos en RoQ. Internamente, RoQ usa cuantificación de vectores para codificar el vídeo y DPCM para codificar el audio. Si bien el formato mismo es propietario, se le aplicó la Ingeniería reversa con éxito en 2001, y el decodificador RoQ actual está presente en el código fuente lanzado de Quake III. RoQ tiene muy poco uso fuera de los juegos basados en los motores gráficos de Quake III o Doom 3, pero está soportado por muchos de los reproductores actuales (tales como MPlayer) y existen además varios decodificadores hechos por terceros.

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

### Sonido

El sistema de sonido de Quake III tiene salida para dos canales usando un buffer de bucle de salida, mezclado desde 96 pistas con espacialización estéreo y efectos Doppler. Todas las mezclas de sonido se hacen dentro del motor, lo que puede crear problemas para las licencias que esperan implementar EAX o soporte para sonido envolvente. Ciertos efectos populares tales como ecos, además, brillan por su ausencia.

Uno de los mayores problemas del sistema de sonido es que el mezclador no tiene su propio thread, así que si el juego se detiene por mucho tiempo (particularmente al navegar los menús o conectarse a un servidor), el pequeño buffer de salida empieza a repetirse, un problema muy notable. Este problema además está presente en los motores de Doom, Quake, y Quake II.

### Trabajo en red

Quake III usa un sistema de "snapshots" para recolectar información sobre las pantallas del juego y subirlas a un cliente UDP. El servidor actualiza la interacción de los objetos a una frecuencia fija e independiente de las frecuencias de los clientes que actualizan el servidor con sus acciones. Luego intenta enviar el estado de todos los objetos en ese punto a tiempo (la pantalla actual) a cada cliente. El servidor intenta omitir tanta información como sea posible sobre cada pantalla, mandando sólo diferencias desde la última pantalla confirmada como recibida por el cliente. Además, se comprimen casi todos los paquetes de datos usando la codificación de Huffman, usando datos estáticos y previamente calculados de la frecuencia, para reducir el ancho de banda incluso a futuro.

Quake III, además, integró un sistema de protección contra trampas relativamente elaborado, llamado "pure server" o servidor puro. Cualquier cliente que se conecte a un servidor puro automáticamente activa el modo puro, y cuando éste está activo, sólo se puede acceder a los archivos dentro de los paquetes de datos. Los clientes, además, son desconectados si sus paquetes de datos fallan durante uno de los varios controles de integridad. El archivo cgame.qvm, debido a su alto potencial para ser modificado con malas intenciones, está sujeto a controles adicionales de integridad. El sistema puede ser un obstáculo para los desarrolladores, quienes deben desactivar manualmente el servidor puro para probar mapas o modificaciones que todavía no están en los paquetes de datos. Versiones posteriores reemplazaron el servidor puro por el soporte para el anticheat PunkBuster, si bien todos los vínculos entre el juego y este software están ausentes en el código fuente lanzado, por la naturaleza de código cerrado de PunkBuster y que su inclusión en el código sea una violación a la Licencia GNU.

### Máquina virtual

Quake III además contiene una máquina virtual utilizada para controlar el comportamiento de los objetos, efectos y predicción del cliente, todos estos en el servidor, y la interfaz de usuario. Esto presentó muchas ventajas, ya que los autores de las modificaciones no necesitaban preocuparse por arruinar el juego con mal código, y los clientes podían mostrar efectos más avanzados o mejores menús de juego de los que fueron posibles con el motor de Quake II, además de la alta personalización que ganó la interfaz de usuario para las modificaciones.

Los archivos de la MV fueron programados en ANSI C, utilizando LCC para compilarlos al formato pseudoensamblador RISC de 32 bits. Luego, son convertidos por una herramienta llamada q3asm a archivos QVM, que son archivos multi-segmentados compuestos por datos estáticos e instrucciones basadas en un set reducido de códigos operacionales de entrada. A menos que haya operaciones que requieran un endianness específico, un archivo QVM puede correr en cualquier plataforma soportada por Quake 3.

Además, la MV contiene compiladores bytecode para las arquitecturas x86 y PowerPC, ejecutando instrucciones QVM como código nativo en lugar de hacerlo a través de un intérprete.

## El juego

### Modos de juego

Quake III Arena trae varios tipos de juego. Ellos son:

* Free for All (FFA) – Combate mortal. En este modo todos los jugadores luchan entre sí. Gana quien más muertes (frags) se anote al terminar la partida, o quien llegue al límite de frags establecidos.
* Team Deathmatch (TDM) - Combate mortal por equipos. Al igual que FFA, aquí se trata de pelear, pero no todos contra todos, sino divididos en dos equipos. El equipo que más frags anote, o el que llegue al límite de frags, gana la partida.
* Tournament (1v1) - Torneo de duelos uno contra uno. Juegan dos jugadores, mientras el resto espera su turno. El ganador del duelo participa en el próximo, el perdedor pasa a ser espectador.
* Capture the Flag (CTF) - Capturar la bandera. En esta modalidad hay dos equipos, cada uno con su base, y dentro de cada base hay una bandera. El objetivo de esta modalidad es conseguir la mayor cantidad de capturas de bandera posibles dentro del tiempo estipulado, o llegar primero al límite de banderas. Para hacer una captura, hay que infiltrarse en la base enemiga, tomar su bandera, volver a la base, y tocar la bandera propia. Para hacer una captura, la bandera propia debe estar en la base; si no está, habrá que recuperarla.

### Single-player

A diferencia de sus predecesores, Q3A no tiene una campaña basada en misiones. En su lugar hay una serie de luchas que simulan la experiencia multijugador usando oponentes controlados por computadora, más conocidos como bots. (Véase más abajo).

La historia del juego es muy simple; los mejores guerreros de todos los tiempos luchan para la diversión de una raza llamada Vadrigar en la Arena Eterna. La continuidad con juegos anteriores de la serie e incluso Doom se ve reflejada en la inclusión de personajes relacionados con aquellos juegos en particular (al igual que cierta información incluida de cada personaje en el manual), una arquitectura familiar de mapa (mezcla de arquitectura gótica con tecnología), e ítems específicos; por ejemplo, el ítem Quad Damage y el Rocket Launcher, pertenecientes a la primera y segunda entrega, y la poderosa BFG10K, que debutó en Quake 2. Quizás el juego deba ser parcialmente considerado como canon de todas las series de juegos Quake y Doom, ya que el juego está basado en otra dimensión: la Arena Eterna.

En el juego, hay una serie de mapas que consisten en combates con diferentes personajes del juego. Estos van desde la dificultad más fácil (Crash, en el Tier 0) hasta la más difícil (Xaero, en el Tier 7) sin importar el nivel de dificultad que se haya elegido desde el menú principal. La sintaxis de los nombres de mapa están compuestas por el nombre del juego, el tipo de mapa, y luego su número. Por ejemplo, Q3DM5 es "Quake 3 Mapa DM número 5", mientras que Q3TOURNEY3 es "Quake 3 Mapa Torneo número 3". Mientras que los mapas comunes de DM están diseñados para 16 jugadores, los mapas de Torneo están diseñados para 'duelos' entre 2 jugadores, y en el juego de un solo jugador pueden ser considerados como las batallas contra 'jefes'.

Además, las armas están diseñadas de manera tal que no hay un arma "dominante". El balance de armas se consiguió al revisar versiones anteriores de los juegos de la serie; Quake y Quake II. Por ejemplo, el Rocket Launcher en Quake es tan efectivo que dominó la escena entera del combate DM, y su similar de Quake II tiene menos poder a tal punto que otras armas se hicieron fuertes ante esta. La versión de Quake III es efectiva en cuanto a uso, pero no tiene demasiado poder, permitiendo que sea contrarrestada en muchas situaciones.

Las armas comienzan como ítems. Aparecen a intervalos regulares en lugares específicos en el mapa, dependiendo del valor para la variable g_weaponrespawn. Cuando el jugador toma el arma, la reserva de munición para la misma queda sujeta a un número fijo. De todos modos, si el jugador tiene más munición de la que indica este número, y sin importar que el jugador haya tomado otra arma o más munición para esta, sólo una ronda adicional se agrega. Cuando un jugador muere, todas sus armas, a excepción del Gauntlet y la Machine Gun, son eliminadas de su inventario. El jugador, además, deja caer el arma que estaba usando hasta su muerte, permitiendo que otros jugadores la tomen y dupliquen su cantidad de munición en esa arma.

Existen cosas curiosas en el diseño de algunos mapas de Quake III Arena, por ejemplo en el mapa llamado: "Q3DM14" existe una figura colgando de la pared que se asemeja a Jesucristo colocado la corona de espinas y tiene un aspecto negro; en el mapa "Q3DM15" existe la cabeza cortada de uno de los programadores de Q3A y se asemeja bastante al programador John Carmack.

### Multijugador

Quake III Arena fue diseñado específicamente para el juego entre múltiples jugadores. Esto significa que el juego permite a los jugadores, cuyas computadoras están conectadas a una red o a Internet, disputar partidas entre sí, en tiempo real. Usa una estructura de arquitectura cliente-servidor que requiere que los clientes de todas las computadoras de los jugadores se conecten a un solo servidor. El foco multijugador de Q3A hizo posible el surgimiento de una comunidad similar a Quakeworld, que continúa activa hasta el día de hoy.

## Modificaciones

Al igual que sus predecesores, Quake y Quake II, Quake III Arena puede ser modificado para soportar otros tipos de juego. Las modificaciones (mods) más populares son:

* Rocket Arena 3. Un mod enfocado en la modalidad Torneo, permitiendo que los jugadores jueguen en el mismo servidor en 4 arenas distintas. Si bien depende de la configuración propia de la Arena, las armas de los jugadores pueden ser configuradas para que estas no hagan daño a quienes las usan, premitiendo el uso constante de la técnica del Rocket-Jump o salto con Rocket Launcher. A diferencia del Quake normal, cuando un jugador muere, este se mantiene como espectador hasta que todo su equipo muera.
* DeFRaG. Una modificación que permite a los jugadores entrenar sus habilidades de salto (trickjumping) y competir contra otros completando toda clase de pruebas usando estas habilidades.
* Weapons Factory Arena. Una modificación basada en CTF igual que Team Fortress, que además usa clases de jugador y modificaciones al tipo de juego.
* Orange Smoothie Productions. Provee muchas implementaciones y permite personalizar y manejar el juego.
* Excessive Plus. Especial para juegos en línea, donde E+ organiza sus propios torneos a nivel mundial, entre sonidos a los personajes, agilidad para moverte con ayuda de las armas.
* Urban Terror. Introduce el tipo de juego táctico, p.e. juego en equipo en entornos más realísticos.
* Challenge Pro Mode Arena (anteriormente conocido como Promode) * Una modificación para los tipos de juego que incluye físicas y opciones que permiten manejar el control aéreo, rebalance de armas, cambio más rápido de armas e implementaciones de saltos.

## Bots

Quake III Arena contiene un sistema de inteligencia artificial avanzado, (para la época) con 5 diferentes niveles de dificultad. Cada bot tiene su propia 'personalidad', (a veces humorística) expresada a través de un número de líneas de chat basadas en varios factores para simular de forma aleatoria el habla de los jugadores. Los factores incluyen el porcentaje de oportunidades de cada bot para hablar, respuestas cuando se elimina a un jugador o bot con una cierta arma o cuando lo eliminan idem, cuando se suicidan o ven a otros bots o jugadores suicidándose, acertando, pero no eliminando, a un jugador o bot y/o quedándose atrapados, elogiando o despreciando a un oponente cuando son eliminados por este, haciendo una clase de comentario burlón tras eliminar a un rival, respuestas al azar basadas en palabras que el jugador o bot escriben en el chat, y frases al azar y líneas que han sido ingresadas en el chat basándose en el porcentaje del bot para chatear al igual que otros tipos de chat.

Cada categoría de bot-chat tiene algunas líneas que deben ser escritas por el bot, reduciendo la chance de que cualquier bot repita la misma línea durante un largo período para que el "bot chat" parezca más realista, si bien a veces es inevitable que la repetición de líneas ocurra. Estos bots sirven como buena práctica y pueden ser difíciles de manejar para un novato y más aún para un jugador experimentado, si bien muchos de los bots que vienen con el juego no son tan avanzados incluso en el nivel de dificultad "Nightmare" ("Pesadilla") para mostrar un desafío duro a un jugador muy experimentado.

El Gladiator Bot de Quake II fue trasladado a Quake III e incorporado en el juego por su creador. Las líneas de chat fueron escritas por R. A. Salvatore, Seven Swords and Steve Winter. El Gladiator Bot Zero fue renombrado como Xaero y es el oponente más duro del juego.

## Juego competitivo

El desarrollo enfocado al multijugador de Quake III Arena' hizo que se desarrollara una gran comunidad de jugadores competitivos, y al igual que su predecesor en la serie fue usado extensivamente en los torneos de eSports.

En el Quake III Arena competitivo, hay dos disciplinas distintas, a veces referidas como "sets de reglas" o "Rulesets". El juego Quake III Arena como viene en la caja está referido como el ruleset Vanilla Quake 3. Es referido como 'vanilla' en contraste con el ruleset CPM de la modificación Challenge Pro Mode Arena.

El 26 de julio de 2006, Challenge Pro Mode Arena con el Ruleset VQ3 fue seleccionado por la CPL como el juego para su torneo, además de convertirlo como el mod competitivo no-oficial para Quake III Arena. Previamente, OSP fue la modificación más usada para los torneos.

### Competiciones y ligas

* CAL
* VPL
* ESWC
* Quakecon
* WCG
* ClanBase

Posteriormente algunos de estos eventos dejaron de incluir a Quake 3.

## Banda sonora

La banda sonora contiene música de Front Line Assembly y Sonic Mayhem:

* Intro (1:51) por Front Line Assembly
* Deathmatch (3:17) por Front Line Assembly
* Hell's Gate (2:21) por Front Line Assembly
* Tier (2:14) por Front Line Assembly
* Lost Souls (2:00) por Front Line Assembly
* Old Castle (2:09) por Front Line Assembly
* Quad Damage (3:05) por Sonic Mayhem
* Sacrifice (2:22) por Sonic Mayhem
* Fraggot (3:36) por Sonic Mayhem
* Rocket Jump (3:16) por Sonic Mayhem
* Xaero (3:30) por Sonic Mayhem
* Battle Lost (0:51) por Front Line Assembly
* Battle Won/Credits (1:36) por Front Line Assembly
