
Quake II
Buy GameConfiram uma visão completa do Quake II melhorado
Quake II
Buy GameO novo lançamento de Quake II traz uma série de melhorias consigo.
Muitas são adições modernas, como as sombras dinâmicas, mas também há aprimoramentos que reforçam técnicas da versão de Quake II original de 1997.
Com a jogabilidade perfeitamente preservada da edição de estreia dos anos 90, aqui vai um resumo das maiores melhorias técnicas e colaborações envolvidas na tarefa de trazer Quake II a uma nova geração de jogadores. Pouco importa se vocês são modders veteranos, entusiastas de jogos retrô ou simplesmente curiosos pelo que há de interessante nesse lançamento de Quake II, este texto é para vocês!
Ferramentas de compilação de mapa
Assim como no lançamento original de 1997, a maior parte da iluminação de Quake II é embutida no arquivo BSP durante a compilação. Ela é pré-calculada pela ferramenta de iluminação, e uma textura contendo apenas a iluminação é salva nesse arquivo.
Nós trabalhamos com dois contribuidores da popular ericw-tools, Eric Wasylishen e Jonathan Barkley, para aprimorar o suporte aos BSPs de Quake II. Nós também fomos além do suporte do jogo original para permitir uma iluminação melhor tanto nos mapas originais como nos de usuários.
Embutir a iluminação ainda é um processo completamente baseado na CPU, podendo ser executado até em máquinas sem nenhuma GPU. Ao iluminar os mapas originais em PCs de 1997, esse processo final levava horas, às vezes até noites inteiras. Com mais eficiência por mega-hertz e dezenas de núcleos ao nosso dispor, é possível iluminar nosso próprio mapa com todos os elementos modernos desejados em poucos minutos.
Densidade de luxels aumentada
Apesar do jargão complicado, essa melhoria de compilação de mapas é simples: o jogo original iluminava o mundo numa proporção de 16:1, ou seja, cada 16 unidades no jogo eram iluminadas por uma amostra de luz. Nós reconstruímos todos os mapas e aumentamos essa proporção para 8:1, um aumento de 4x. O efeito é sutil em áreas com mais iluminação difusa, mas áreas com pontos de luz que projetam sombras intensas se beneficiam muito disso.
Suporte da grade de luz
Esse recurso do compilador de mapas foi trazido de volta do Quake III Arena. Um desafio com a iluminação do Quake II original é que as entidades são iluminadas com base onde ficam posicionadas no solo. Isso geralmente funciona bem o bastante com itens e inimigos no chão, mas o sistema sofre quando aparecem monstros voadores. Eles costumam parecer mais escuros no ar, por passarem sobre sombras de ângulo baixo ou algo semelhante.

Além de armazenar mapas de luz, agora também armazenamos uma grade de voxels dentro do espaço do mundo selado que contém uma amostra de luz, enquanto todos os raios envolvidos são lançados pela área. É um sistema bastante simples que depende basicamente de uma memória e um tamanho de arquivo maiores para mapas, e talvez por isso não tenha sido usado até o Quake III Arena.
Iluminação independente de texturas
Outro conceito retomado de Quake III Arena é como os mapas de luz são armazenados em relação a superfícies. No Quake II original, distorcer ou redimensionar texturas fazia com que o mapa de luz também sofresse essas alterações. Agora, os mapas de luz são gravados levando em consideração o tamanho do brush, e não da textura.

Oclusão de ambiente embutida
Uma das primeiras melhorias feitas na ericw-tools foi a oclusão de ambiente, também conhecida como mapeamento de terra, que ajuda a adicionar profundidade ao mundo escurecendo cantos para que eles recebam menos luz.

Sombreamento de Phong
Depois que Quake II já havia sido concluído, uma ferramenta chamada ArghRad foi lançada. Ela aprimorava a iluminação com o suporte para o método de sombreamento de Phong. Essa é uma técnica antiga, datada dos anos 1970, que ajusta a iluminação numa superfície de poucos polígonos. Isso cria um efeito mais convincente de um objeto arredondado sem ter que reconstruir a estrutura para adicionar mais polígonos. Nossos mapas atualizados usam essa técnica quando necessário.

Materiais translúcidos
Outra mudança que torna a iluminação de um espaço mais convincente são as texturas translúcidas, que permitem que os raios atravessem objetos e contribuam com um pouco de sua cor na superfície de destino. Com isso, o vidro colorido, os hologramas, os terminais e outros brushes podem receber luz e afetar de forma apropriada os raios que os atravessam.

Líquidos iluminados
Esse é um recurso que tem ganhado força na comunidade de mapas de Quake, pois representa uma melhoria enorme ao criar mapas com líquidos de qualquer dimensão. No original, a água não recebia qualquer iluminação e sempre aparecia com brilho total. Agora, superfícies líquidas podem receber mapas de luz como qualquer outra superfície sem bloquear os raios sob elas.

Gráficos
Um recurso famoso no Quake II do passado era a iluminação colorida. Hoje em dia, um recurso desses é até curioso, mas o nosso novo lançamento de Quake II tem algumas modificações modestas para melhorar o que já existe, ao mesmo tempo mantendo a fidelidade à arte original.
Animação
As animações de Paul Steed em Quake II contribuíram muito para o caráter do mundo apresentado. De espasmos sutis e animações ociosas a saltos e mergulhos exagerados, era impossível saber o que os inimigos iam fazer. Para muitos de nós que jogavam pela primeira vez na época, ver um guarda se abaixar para se proteger de um disparo foi um momento de espanto total. No entanto, havia algumas limitações tecnológicas na época que impediam essas animações de alcançar todo o potencial delas.
Primeiro, o formato do modelo MD2 tinha um alcance limitado em termos de precisão de vértice. É isso que levava ao efeito de oscilação observado, especialmente nos modelos de arma em primeira pessoa. Nós conseguimos recuperar os arquivos de animação originais da maioria dos modelos do jogo e as utilizamos em alta resolução para criar animações esqueléticas para os modelos aprimorados, eliminando a oscilação.

Trocar para a animação esquelética também consertou alguns casos em que a interpolação linear falhava. Isso fica mais evidente na animação de morte do Parasita, em que ele virava e girava tão rápido que a animação interpolada linear resultava numa sopa de polígonos.

Mapas de brilhos
Quake II tem um monte de telas e luzes em texturas, como as partes brilhantes das armas. Na engine base, contudo, elas são afetadas pela luz e sombra como qualquer outra coisa. Agora, nós temos suporte para mapas de brilhos, que consistem numa máscara aplicada sobre a textura que especifica quais áreas devem brilhar. Isso significa que as luzes sobre os inimigos brilharão no escuro, e luzes nas armas agora se acenderão, o que vai melhorar os detalhes de iluminação pintados em visuais existentes.

Névoa em altura
Nós aumentamos as possibilidades de névoa, adicionando suporte para névoa com base em altura, que permite que os criadores de mapas especifiquem duas cores diferentes. Ela é executada como um efeito de pós-processamento, e não como um volume de dentro do mapa. Isso tem alguns lados negativos, mas é um ótimo efeito para diversificar espaços.

Chama do cano
Embora não seja uma adição estritamente tecnológica, essa é uma mudança que tem um impacto tão positivo sobre a jogabilidade, que nós decidimos incluir de qualquer forma. Tanto as armas dos jogadores como as dos inimigos agora têm chama do cano quando disparadas, além das luzes dinâmicas. Isso ajuda os jogadores a identificarem quem está atirando, especialmente em salas bem iluminadas, onde as luzes dinâmicas podem não ser tão visíveis.

Áudio
Fizemos melhorias ao áudio nesta versão aprimorada de Quake II. Além de consertar erros no código do áudio original e aumentar limites para comportar mais vozes com nossas CPUs mais rápidas, agora também permitimos anexar um nome de material a cada textura.
Isso serve a dois propósitos: o primeiro é permitir que as pegadas retornem o material da superfície correspondente, possibilitando sons de passos únicos para cada superfície. O segundo é poder calcular uma estimativa aproximada do tamanho da sala e dos materiais nela para selecionar uma predefinição de reverberação. Isso faz com que andar em um esgoto soe diferente de andar por uma área externa gramada.
Inteligência Artificial
A IA em Quake II passou por um bocado de mudanças durante o desenvolvimento. Quake II originalmente usaria o QuakeC, mas mais adiante no desenvolvimento ficou decidido que se trocaria do código interpretado para uma biblioteca nativa. Assim, foi preciso portar todo o QuakeC existente para C e, no processo, a IA foi simplificada para ficar um pouco mais parecida com a do Quake original. Neste relançamento, tivemos a oportunidade de criar em cima dos bots e expor mais da lógica interna deles à IA inimiga.
Navegação melhorada
Expusemos muitas das funções de navegação dos bots à DLL do jogo, permitindo que ele gerencie o planejamento de rotas a partir de pontos arbitrários ou até eles. Entretanto, a IA ainda requer pontos de navegação posicionados manualmente. Embora tenhamos inicialmente investigado a geração de malhas de navegação por meio de soluções como Recast, vimos que não teria espaço para isso na nossa agenda de desenvolvimento e preferimos melhorar as ferramentas existentes para bots.

A IA do Quake II original tinha algumas funções bem básicas para achar seu caminho pelo ambiente. Agora, a IA pode definir um destino para se aproximar do jogador e traçar uma rota por salas complexas com escadas ou tirar vantagem de pontos de travessia para pular para baixo.
Tomada de decisões melhorada
O processo de tomada de decisões da IA foi melhorado, e inimigos agem com mais complexidade em comparação à versão original. Os inimigos conseguem determinar melhor se podem atingir você, especialmente com ataques múltiplos.
Por exemplo, um inimigo armado cujo braço da metralhadora giratória esteja bloqueado por uma parede usará granadas, em vez de descarregar toda a munição no canto. Os inimigos também optam, às vezes, por disparar enquanto se aproximam, em vez de esperar até que cheguem ao destino do movimento. Essas mudanças ajudam a evitar que a IA faça escolhas ruins sem realmente modificar como elas se comportam ou lutam.
Nova IA voadora
A IA voadora foi totalmente repaginada para parecer mais natural, preferindo desacelerar e planar em turnos, em vez de fazer paradas repentinas. Enxames de drones voadores se chocarão entre si e mudarão suas rotas ao manobrarem para ficar em posição.
Conteúdo restaurado
Qualquer um que tenha espiado os arquivos do Quake II original já deve ter se deparado com animações extras que nunca foram usadas na edição lançada. Nós olhamos uma a uma, demos uma polida nelas e as adicionamos novamente ao jogo. Por exemplo, o Técnico agora estende suas garras aterrorizantes para anunciar uma emboscada, e o Berserker ficou ainda mais feroz com um salto ofensivo terrestre.

O Parasita passou por algumas alterações para deixar a luta mais divertida. Sua probóscide agora é um projétil do qual dá para desviar e que se prende a uma parede. Nós adicionamos essa mecânica para que o Parasita possa utilizar sua animação de puxão e salto enquanto estiver vulnerável após um ataque fracassado.

Bots
Aqui vão alguns recursos novos de bots da versão aprimorada de Quake II:
- Bots agora podem acessar áreas de difícil acesso, como a megassaúde em The Edge, usando o salto propelido.
- Todas as armas, itens e potencializadores no jogo são entendidos e usados quando apropriado.
- Todos os inimigos são entendidos e serão atacados caso sejam hostis.
- Bots podem saltar, agachar, subir em elevadores/plataformas, usar escadas, acionar armadilhas para inimigos e também evitá-las.
- Comandos de alto nível da DLL do jogo permitem que os modders controlem onde os bots vão e o que eles fazem.
- Adicione novos itens, armas e inimigos ao seu mod e insira uma entrada a um arquivo de texto simples para permitir que os bots os vejam e compreendam. (Mais detalhes abaixo)
Bots guiados por dados para suporte de mods
Os bots são projetados para oferecer suporte aos mods da forma mais rápida e fácil possível, por meio de uma coleção de arquivos de dados que explicam quais entidades interessam a eles e como elas funcionam. Para qualquer criador de mods, é simples como criar os próprios arquivos de definições específicas do mod para novas armas, itens, monstros etc.
A lista de arquivos disponíveis e um exemplo do arquivo de itens podem ser encontrados abaixo:

Editor de navegação melhorado
A versão aprimorada de Quake II permite que vocês configurem a navegação em qualquer mapa rapidamente com informações úteis e feedback fornecido no editor. O arquivo NAV criado pelo editor é salvo como um arquivo separado que pode ser compartilhado no seu mod ou com amigos.

Ferramentas de resolução de problemas melhoradas
Há várias ferramentas de resolução de problemas disponíveis, permitindo que vocês corrijam um bot ou erro específico que ele comanda ou visualizem sua lógica.
Essas ferramentas de reparos possibilitam:
- Exibir informações sobre o estado geral e os objetivos do bot, entre outras coisas.
- Exibir o estado atual do sistema de comportamento do bot.
- Exibir informações sobre o modo de jogo e os itens/entidades relacionados ao bot.
- Dar aos bots objetivos de movimentação no mundo para testes de navegação.
- Exibir quais inimigos eles podem ver e quem eles devem atacar.
- Exibir o estado atual do sistema de armas do bot e o inventário disponível dele.

Linhas de depuração
Agora vocês podem traçar primitivas simples do código de jogo. Isso permite que vocês descubram coisas como o local de uma entidade, texto do mundo ou até mesmo a direção para a qual um objeto se move, o que pode vir a ser útil para a depuração.
Primitivas de renderização da depuração disponíveis:
- Linha
- Ponto
- Círculo
- Limites
- Esfera
- Texto de mundo orientado (ele sempre é orientado na direção da visão do cliente local)
- Texto de mundo estático
- Cilindro
- Raio
