Configurando e personalizando o ioQuake3 no Linux

Seguindo o artigo sobre a configuração do Urban Terror, um jogo de tiro em primeiro pessoa baseado no engine ioQuake3, esse artigo se propoe a serum guia para configurar o jogo ioQuake3 original, incluindo personalizações dos cvars, uso de novos mapas, armas e personagens. Esse guia também se aplica com sucesso ao novo jogo OpenArena, que é praticamente o ioQuake3 com armas, mapas e personagens alterados.
O que é o ioQuake3?
A id Software liberou o código fonte do Quake 3 para o público e licenciou esse código sobre a GNU GPL, o que permite a qualquer um modificar o código, criar jogos derivados e fazer o que quiser, contanto que a licença ainda seja anexada e o código do novo produto seja disponibilizado.

O ioQuake3 é o projeto ativo que mantém o código fonte do Quake3, corrigindo bugs e fazendo aperfeiçoamentos no engine. É praticamente o ponto de partida para todos os outros jogos, como o OpenArena.
É preciso ser dito, que junto com Wolfenstein: Enemy Territory, OpenArena, Nexuiz, Unreal Tournament 2004 e Tremulous, o ioQuake3 é ainda um dos jogos de tiro mais populares no Linux. Naturalmente, existem Quake4 ou ET: Quake Wars também, e mesmo os primeiros receberem menos atenção do que o Quake3, o último é bem ativo e os servidores ficam normalmente cheios de jogadores. Mas todos eles parecem perder um pouco do que tornava os jogos clássicos tão incríveis. Pode ser porque o Quake3 (junto com o UT) foram provavelmente um dos jogos de tiro definitivos, com poucos rivais na sua época.
Nesse tutorial, assumiremos que você tenha instalado e rodado o ioQuake3, assim não iremos dar detalhes da instalação. Para fazer isso de forma breve, você pode baixar o script de instalação daqui (tanto o engine quando os dados de instalação), torna-lo executável (chmod 755 ioquake3-1.36-7.1.i386.run), instala-lo como root, e depois copiar os arquivos pk0.pk3, pk1.pk3 etc de seu CD do Quake3 para dentro do diretório baseq3 do diretório de instalação. que por padrão é /usr/local/games/ioquake3/baseq3. Se não possuir um CD do Quake3, pode ainda baixar o OpenAren e copiar o arquivo pk0,pk3 dele. Isso parece funcionar para mim, mas não sou familiar com esse método de forma que não posse garantir se isso pode causar algum problema (Se alguém precisa de uma explicação, talvez os próprios desenvolvedores do OpenArena possam dar).
Configuração
O ioQuake3 executará automaticamente todos os comando e configurações encontrados no arquivo autoexec.cfg, que normalmente está localizado no diretório ~/.q3a/baseq3, onde ~é a sua pasta home. Existem duas formas de adicionar opções de configuração: desde adiciona-las ao arquivo autoexec.cfg a criar arquivos separados como config_cg.cfg, config_cl.cfg, scripts.cfg e depois executa-los pela adição de linhas com essa no arquivo autoexec.cfg:
exec config_cg.cfg exec config_cl.cfg exec scripts.cfg
E assim em diante. Sem mais delongas, vamos começar a colocar nossos ajustes dentro do autoexec.cfg. Em primeiro lugar, existem ajustes que você pode colocar dentro do autoexec.cfg (e fazer ajustes neles quando for necessário) que são seguidas por uma explicação. Observe que você pode inserir comentários depois de uma barra dupla (aplicável somente a essa linha). Valores padrão são fornecidos também.
set name “^5MyNickname” // default “UnnamedPlayer”
Isso ajusta o apelido do jogador. Observe o código ^5, que dará ao apelido a cor azul. Para outros códigos de cor, veja a seguir:
set r_smp “1” // default “0”
Isso ativará o uso de multiprocessamento simétrico para CPUs como o Intel Core 2 Duo por exemplo.
set r_mode “7” // default “3”
Isso ajustará a resolução da tela. Para cada número existe uma resolução correspondente:
5 is 1024×768
7 is 1152×864
8 is 1280×1024
-1 is custom
Se você ajustar sua resolução para -1, então terá que especificar as variáveis INS e INS,dessa forma:
set r_customwidth “1152”
set r_customheight “864”
set r_gamma “1.25” // default “1”
Isso irá ajustar o fator gamma (brilho das cores). Jogadores tendem  a aumentar o fator gamma pois dessa forma a visibilidade será mais clara em mapas escuros, assim personalize essa opção de acordo com seu gosto. Um fator gamma alto definitivamente ajudará a mirar inimigos mais facilmente e jogar melhor, mas por outro lado a beleza do Quake3 será um pouco menor por causa do alto brilho. Eu prefiro um valor médio, mesmo que isso possa tornar a jogabilidade um pouco pior.
set r_picmip “0” // default “1”
A resolução da textura e detalhes. 0 é a melhor qualidade, enquanto 3 a menor. Configure essa opção para 3 se quiser ganahr mais FPS, ou 0 se você tiver um computador poderoso.
set r_stencilbits “8” // default “8”
Qualidade das sombras. Diminua para obter um pouco mais de FPS.
set r_drawsun “1” // default “0”
Ativa ou desativa o sol. Deixe em 0 para uma melhor performance.
set r_detailtextures “1” // default “1”
Usa texturas detalhadas. Essa é uma das cvars que possuem um impacto que não pode ser negligenciado na performance, então deixe em 0 para ganhar FPS.
set r_finish “1” // default “0”
Sincroniza os frames renderizados. Deixe com o valor 0 por causa da performance.
set r_colorbits “16” // default “0”
Ajusta a quantidade de bits de cor. Use 16 para uma melhor performance, 32 para uma melhor qualidade.
set r_texturebits “16” // default “0”
Ajusta a quantidade de bits da textura. Use 16 para melhor performance e 32 para melhor qualidade. Observe que tanto r_colorbits quanto r_texturebits tem impacto na performance, assim você pode querer ajusta-las para 16 para ganhar FPS.
set r_dynamiclight “1” // default “1”
Liga ou desliga a iluminação dinâmica (ex.: luzes em torno de rochas, etc). Ajuste para 0 para obter a melhor performance.
set r_lodbias “0” // default “0”
ALtera o nível geométrico de detalhes, pode estar entre 0-2. Use 2 para conseguir a melhor performance.
set r_subdivisions “1” // default “4”
Ajusta o nível de detalhes.
set r_mapoverBrightBits “2” // default “2”
Torna áreas sombreadas do mapa menos sombreadas. Um valor de 4 mostrará poucas sombras.
set r_fastsky “0” // default “0”
Céu terá menos detalhes. Use 1 para melhor performance.
set r_texturemode “GL_LINEAR_MIPMAP_LINEAR” // default “GL_LINEAR_MIPMAP_NEAREST”
Modo da textura, use LINEAR para melhor qualidade ou NEAREST para melhor performance.
set s_musicvolume “0” // default “0.25”
Deve ser auto-explicatório.
set s_volume “0.20” // default “0.8”
Ajusta  volume do jogo.
set bot_nochat “1” // default “0”
Se configurado para 1, desativará o chat dos bots.
set cg_draw3dicons “1” // default “1”
Se ajustado para 1, mostrará ícones 3D no HUD (head-up display). Se ajustado para 0, mostrará ícones 2D. Ajuste para 0 para obter a melhor performance e veja as captura de tela abaixo:

cg_draw3dicons “1”
cg_draw3dicons “0”

set cg_autoswitch “0” // default “1”
Previne a mudança automática de armas pegas do chão.
set cg_drawfps “1” // default “1”
Mostra a taxa de frames por segundo atual.
set cg_fov “100” // default “90”
Altera o campo de visão. Um valor de 90 ou 100 deve ser o normal, alguns recomendam valores de 110 a 120, e existem jogadores que preferem algo em torno de 160. Veja as captura de tela abaixo:

cg_fov “90”
cg_fov 130

set cl_punkbuster “0” // default “0”
Desativa o PunkBuster. Observe que o ioQuake3 não suporta PunkBuster (e de acordo com o website deles nunca suportará), assim deixe esse valor em 0.
set cl_allowdownload “1” // default “0”
Permite download automático de mapas e mods.
set com_maxfps “76” // default “85”
Limita o FPS ao valor 76. Valores de 125 são melhores para trickjumps, mas se você usa sincronização vertical, esse valor não deve ser maior do que a taxa de atualização da sua tela.
set com_blood “0” // default “1”
Sem sangue quando o inimigos recebem um tiro. Use 0 para melhor performance.
set sensitivity “15” // default “5”
Altera a sensibilidade do mouse. Muitos jogadores usarão scripts para alterar a sensibilidade de cada arma separadamente. Por exemplo:
bind t “weapon 5; sensitivity 9”
Associa o lançador de foguetes a tecla T, quando essa tecla é pressionada, o lançador de foguetes será selecionado e a sensibilidade automaticamente alterada
bind g “weapon 8; sensitivity 15”
Quando a tecla G é pressionada, a arma de plasma será selecionada e a sensibilidade será automaticamente alterada para 15
A seguir alguns scripts simples que fazem alguns ajustes:
// Toggle mouse sensitivity 7, 9 or 12
set sens1 “sensitivity 7; bind n vstr sens2; echo *** Sensitivity set to 7”
set sens2 “sensitivity 9; bind n vstr sens3; echo *** Sensitivity set to 9”
set sens3 “sensitivity 12; bind n vstr sens1; echo *** Sensitivity set to 12”
bind n vstr sens1 // Personal script for customising various vars
set j0 “set r_gamma 1.2; echo *** r_gamma set to 1.2”
set j1 “set r_gamma 1.3; echo *** r_gamma set to 1.3”
set j2 “set r_gamma 1.4; echo *** r_gamma set to 1.4”
set j3 “set r_gamma 1.6; echo *** r_gamma set to 1.6”
set jmsg0 “echo *** Active: r_gamma 1.2; bind j vstr jmsg1; bind ENTER vstr j0”
set jmsg1 “echo *** Active: r_gamma 1.3; bind j vstr jmsg2; bind ENTER vstr j1” set jmsg2 “echo *** Active: r_gamma 1.4; bind j vstr jmsg3; bind ENTER vstr j2” set jmsg3 “echo *** Active: r_gamma 1.6; bind j vstr jmsg0; bind ENTER vstr j3” bind j vstr jmsg0
set k0 “set cg_fov 100; echo *** cg_fov set to 100”
set k1 “set cg_fov 110; echo *** cg_fov set to 110”
set k2 “set cg_fov 130; echo *** cg_fov set to 130”
set kmsg0 “echo *** Active: cg_fov 100; bind k vstr kmsg1; bind ENTER vstr k0” set kmsg1 “echo *** Active: cg_fov 110; bind k vstr kmsg2; bind ENTER vstr k1” set kmsg2 “echo *** Active: cg_fov 130; bind k vstr kmsg0; bind ENTER vstr k2” bind k vstr kmsg0
set n0 “sensitivity 7; echo *** sensitivity set to 7”
set n1 “sensitivity 9; echo *** sensitivity set to 9”
set n2 “sensitivity 12; echo *** sensitivity set to 12”
set n3 “sensitivity 15; echo *** sensitivity set to 15”
set nmsg0 “echo *** Active: sensitivity 7; bind n vstr nmsg1; bind ENTER vstr n0”
set nmsg1 “echo *** Active: sensitivity 9; bind n vstr nmsg2; bind ENTER vstr n1”
set nmsg2 “echo *** Active: sensitivity 12; bind n vstr nmsg3; bind ENTER vstr n2”
set nmsg3 “echo *** Active: sensitivity 15; bind n vstr nmsg0; bind ENTER vstr n3”
bind n vstr nmsg0
Observe que você irá querer fazer esses ajustes de acordo com suas preferência. Isso não seria trapaça? A resposta curta seria não, absolutamente não. Muitos dos jogadores de Quake consideram isso com parte do jogo. Naturalmente, alguns podem dizer que associar coisas como um lançador de foguetes a uma única tecla do teclado pode ser considerada trapaça, mas isso depende. No Quake3, isso pode ser feito por qualquer um, então não pode ser considerado trapaça. Abaixo segue algumas associações de teclas para armas e movimentos. Observe que você pode ter que ajusta-las dependendo das suas preferências pessoais:
bind e “+forward”
bind s “+moveleft”
bind d “+back”
bind f “+moveright”
bind SHIFT “+movedown”
bind SPACE “+moveup”
bind TAB “+scores”
bind MOUSE1 “+attack”
bind MOUSE2 “+zoom”
bind MOUSE3 “+zoom”
bind 1 “weapon 1” // gauntlet
bind 2 “weapon 2”
bind 3 “weapon 3”
bind 4 “weapon 4”
bind 5 “weapon 5” // rocket launcher
bind 6 “weapon 6”
bind 7 “weapon 7”
bind 8 “weapon 8”
bind 9 “weapon 9” // bfg
bind 0 “weapon 10”
bind v “weapon 1”
bind t “weapon 5”
bind a “weapon 6”
bind w “weapon 7”
bind g “weapon 8”
bind q “weapon 9”
Mapas e mods
Você pode facilmente instalar novos mapas e modelos copiando o arquivo pk3 respectivo para seu diretório ~/.q3a/baseq3. Existem muitos locais de onde mapas podem ser baixados. Para mencionar apenas dois, dê uma olhada aqui e aqui.
Você pode baixar modelos para personagens e armas daqui, assim apenas baixe-os, descompacte-os e copie para o diretório ~/.q3a/baseq3/.
Traduzido de http://tuxarena.blogspot.com/2009/08/complete-guide-configure-and-customise.html