Postagens populares

domingo, 29 de novembro de 2009

Projeto: Quake e zumbis, Primeiros passos. Nome Provisório.

Interessante como atualmente é difícil escolher uma engine para o Quake 1. Desde a liberação do código fonte, uma miríade de projetos surgiram, tiveram sua chance e foram atirados no limbo da internet. Diversidade é bom. Novas idéias sempre são bem vindas. Contudo isso é um problema para quem deseja construir um mod baseado nesta engine. Se uma analogia aqui é pertinente, seria a engine o alicerce da casa. Um bom alicerce cria os fundamentos, teoricamente, de uma boa casa. Da mesma forma uma boa engine serve, teoricamente, para um bom jogo. O que termina por queimar os neurônios dos desenvolvedores é que cada engine tem um design/foco em mente. O que termina por gerar questões a serem resolvidas antes de se trabalhar o mod propriamente dito. Em outro post elegi três engines como possíveis candidatas a motor do mod. Darkplaces, Proquake e Ftequake. Cada uma tem pros e contras a serem analisados a seguir.

Darkplaces, é uma engine netquake que tem ganhado notoriedade nos últimos anos. Especialmente pela capacidade de produzir gráficos impressionantes: Aceita texturas de alta resolução externa em formatos diversos (Jpg, Tga, Png), modelos md2 e md3 (respectivametnte do quake 2 e 3), sons de alta qualidade, incluindo o formato aberto ogg. Iluminação e network incrementada. Vale ressaltar que o programador é realmente bom e é uma das engines mais estáveis à disposição. Por todas essas qualidades serviu de base para o jogo Nexuiz. Outro atrativo é possuir versões nativas para Linux, Mac e Windows. Um parenteses. Netquake significa que a engine é derivada do Quake original e não do Quakeworld. A Wikipedia pode providenciar informação relevante sobre o assunto aos curiosos.

O primeiro ponto negativo a ressaltar é que a engine não é para os fracos que não gostam de ler manual (em inglês), console e mexer nos arquivos dos cfgs (arquivos de configuração) em texto puro. A complexidade da engine é enorme e para extrair toda a sua potencialidade é necessário um bocado de leitura, tentativa e erro. O resultado compensa, mas custa a aparecer. Outro ponto negativo é a engine ser relativamente pesada. Não é qualquer máquina que a roda com alguns efeitos mais poderosos ligados. Os fps em máquinas menos parrudas em processador e placa de vídeo caí visivelmente. E se você é um dos poucos sobreviventes da era da renderização via software (eu sou) ou preferir DirectX ao OpenGL, pode tirar o cavalinho da chuva. A engine é somente via OpenGL.

A segunda engine, Proquake, é como a fênix. Literalmente renasceu das cinzas. Começou como uma evolução tradicionalista Netquake, tanto nas versões software quanto OpenGl. Melhorava questões práticas como a mira, ping (latência) e os bugs que incomodavam o gameplay. Isso significa que não é necessário o último processador ou a última placa de vídeo lançada no mercado para rodá-la bem. Suspeito que até mesmo nestes subnotebooks da moda esta engine rode como um brisa. Agora um pouco de história: O programador original parou de mexer no código nos idos de 2002. Mas com o código-fonte disponível, versões "não-oficiais" surgiram durante os anos seguintes. Sempre acrescentando algumas atualizações aqui e ali. Em 2007 o desenvolvedor original deu suas bençãos para uma continuação oficial de seus esforços e esta versão atualmente que pretendo testar. Uma característica interessante e que além da versão software ainda ser mantida existe uma versão com wrapper das extensões GL no código para o DirectX. Isso significa que se você é um dos desafortunados que possuem chipset intel e não deseja ver os pixels da versão software essa é um boa pedida. Possui versões para Linux, Mac e Windows.

Agora os pontos negativos. O tradicionalismo desta engine fez o seu projeto excessivamente voltado para gameplay e pouco fez na questão dos "extras". Não há suporte para texturas externas, modelos, sons de alta resolução, etc. Nem de longe se aproxima das capacidades de modificação do Darkplaces e do FteQuake. Contudo sua pior característica, em minha opinião, é sua estabilidade - ela deixa a desejar sob certas situações. Com mapas e modelos originais, o Proquake se comporta de forma exemplar, entrega o que promete. Agora com os mapas e modelos do Openquartz a situação muda completamente. Trava demais.

Por fim o Ftequake. O Ftequake ao contrário das outras engines é baseada no Quakeworld e carrega já algumas vantagens para jogo multiplayer. Esta engine tem capacidade gráfica próxima do Darkplaces. Isto é carrega texturas externas em alta resolução (Jpg, Png e Tga, no pacote), modelos md2 e md3. Também existe suporte ao progs.dat do Quake normal (netquake) o que permite jogar Quake normalmente ao contrário do Quakeworld tradicional que apenas dá suporte ao multiplayer. Chama a atenção na engine o seus sistema de partículas e o alto nível de experimentalismo adotado pelo autor. É possível entrar em servidor CVS, baixar modificações do código-fonte feitas algumas horas antes, compilar tudo e voilá. Você tem a versão mais recente possível do programa em sua máquina.

Agora os pontos negativos. A primeira coisa quer notei foi a documentação ser confusa, em um estilo wiki (não me apedrejem, já explico o porquê), e incompleta. O estilo wiki complica porque aparentemente não "fecha" questões e se alguém edita de forma errada, sem testes precisos isso pode ter efeitos desastrosos. A documentação do Darkplaces e do Proquake, por exemplo, são arquivos textos enormes de seus autores. Complicado? É. Difícil de encontrar o que se deseja? Mais ou menos. Mas isso resulta em um clareza gigantesca do que o programa pode ou não fazer. E para quem está montando alguma coisa tais informações são essenciais. Essa situação piora ainda mais por que há seções inteiras do wiki Ftequake incompletas. Como se não bastasse, o experimentalismo deixa a engine instável demais. Em alguma experimentos ela travou mais que o Proquake. A impressão é que o Ftequake é o playground do programador. Ele "brinca" com o código sem se importar muito se isso vai funcionar direito ou não.

Ufa, isso resume meus dilemas com as opções de engines disponíveis no momento. Quem disse que gamedesign era fácil jamais fez um mod na vida! Afora isso também pensei em nome provisório para este projeto. Será War Z.

Nenhum comentário:

Postar um comentário