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.

terça-feira, 24 de novembro de 2009

Encontrando coisas novas

Houve um tempo em que eu escutava The Prodigy de forma mais rotineira. Breathe, Voodoo People e Smack My Bitch Up, entre outras, consumiram algumas horas de minha vida. O tempo voou e novos interesses me ocuparam. Fazer o quê? É o mundo que gira. Nós também terminamos girando junto. Interessante é que mesmo assim vez ou outra somos arrebatados por uma nostalgia gostosa e irresistível de algo.

Ontem foi um desses dias.

Voltei do trabalho com aquela sensação boa. Desejando imensamente ser saciada. De ouvir alguma coisa daqueles malucos. Antes de dormir vasculhei o youtube pra matar esta vontade. A ironia é que acabei topando com algumas coisas novas do pessoal. E gostei bastante:



A sonoridade crescendo lentamente, antecipando o que está por vir. Um vocal que gruda (no bom sentido) no ouvido. Aumentando de intensidade até explodir na animação da festa. Interessante também como usaram o Stop Motion, com bonequinhos feitos de caixas de cigarros, para criar um mega rave dos infernos em um bar. Com a nostalgia devidamente morta cheguei a um conclusão simples:

Tenho que voltar a escutar esses caras com mais frequência.

sábado, 21 de novembro de 2009

Projeto: Alguma coisa com a engine do Quake 1 e Zumbis

A continuação recente de left4dead mostra que a temática de apocalipse zumbi ainda está em alta. Pegando carona nessa onda tive a idéia de criar um mod e talvez (um grande talvez) algo standalone para o Quake 1. E ela já vem sendo amadurecida já a algum tempo e creio que chegou a hora de tentar materializa-la. A idéia em si não é original. Alguém já deve ter tido a mesma idéia que eu, mas pretendo dar a este projeto algumas características únicas. E que espero seja o suficiente para diferencia-lo do que já existe.

O rascunho do projeto é essencialmente esse: Será um fps Cooperativo com zumbis, orientado a objetivos - talvez fugir de um lugar cheio de zumbis já será um objetivo grande por si só. Com o Deathmatch ativo será um combate orientado por equipes, com os zumbis atormentando as duas facções opostas.

características:
1 - sistema de experiência: ganhe níveis usando armas, acertando alvos, completando sub-objetivos e objetivos (talvez).
2 - sistema de classes (talvez):
3 - dano localizado: precisão faz diferença (vai dar algum trabalho).
4 - gêneros distintos: apenas mudança cosmética (hack fácil de fazer via qc)
5 - dano de queda (hack fácil de fazer via qc)
6 - cada som, modelo e mapa é novo de alguma forma (isso vai ser difícil)
7 - física melhorada (via biblioteca Gyro. Ótimo para lançamento de granadas, cartuchos de balas entre outros objetos de interação física)
8 - limite de 02 armas para cada jogador por vez, exceto pela faca, pistola e algumas granadas. (talvez, por que limitaria demais as opções dos jogadores. Tem de ser estudado com mais cautela).
9 - não há caixas de vida. a vida recarrega lentamente durante as fases (concentraria os jogadores no jogo/mapa e não em ficar correndo pelo cenário atrás de vida).
10 - ao morrer ver o corpo, ou a cabeça... (talvez)
11 - agachar, andar sem fazer barulho (afetaria a inteligência dos monstros/zumbi).

As escolha da engine está entre Darkplaces, Proquake e FteQuake. Os recursos de arte (modelos, sons, mapas, texturas) viriam originalmente do agora defunto projeto Openquartz e alguma coisa poderia vir do Openarena e Nexuiz. Todo o conteúdo seria lançado sob a GPL - apenas por questão de conveniência. Para minimizar possível conflitos com outras licenças.

E este projeto ainda não tem nome.

terça-feira, 17 de novembro de 2009

Conto: Ruído branco e silêncio

Trancrição nº 1748577

Editado para nível de segurança 03 e superiores.

[início]

Homem 01: Como havia dito, isto é apenas formalidade. Apenas algumas perguntas. Coisa de rotina. Creio que me compreende, não é senhor [editado]?

Homem 02: É. Sei.

Homem 01: Pode me contar os fatos que levaram o senhor bem como os senhores [editado], [editado], [editado] à fronteira [editado]?

Homem 02: Claro. [pausa]. Não tem nada melhor pra se fazer aqui nesta cela.

Homem 01: Ótimo. Comecemos então pelo motivo que o levou e a seus associados a deixarem seus postos em [editado] e cruzar a fronteira do [editado]?

Homem 02: Recebemos ordens. E as executamos na medida do possível.

Homem 01: De quem?

Homem 02: De [editado]. Veio pelos protocolos habituais. Confirmamos com [editado] e com o departamento de [editado].

Homem 01: Essa checagem é procedimento de rotina? Quer dizer toda ordem recebida tem de ser confirmada com órgãos externos?

Homem 02: Sim. Não somos uma entidade oficial. Temos acesso a tecnologia, encriptação, satélites. Mas isso não é suficiente. Há falhas. Já houve problemas por falhas de comunicação. Isto é do seu conhecimento, não é senhor [editado]?

Homem 01: Claro. Claro. Senhor [editado]. Os fiascos de [editado] e [editado]. [pausa] Deus, perdi conhecidos nestes lugares. A coisa foi feia.

Homem 02: É verdade.

Homem 01: Prossiga. Qual era a natureza de suas ordens?

Homem 02: Ir para uma vila em [editado]. Descer o rio [editado], 20 quilômetros de [editado] e remover o senhor [editado].

Homem 01: Não era uma ordem de [editado]?

Homem 02: Não. Nossa ordem era para remover [editado] intacto da vila e o escoltar até a fronteira. Zero residual. Como fantasmas e só.

Homem 01: Entendo. [pausa]. Pode descrever o método de inserção?

Homem 02: Transporte militar terrestre, de [editado] até [editado]. Aguardamos quase 60 horas antes de o tempo permitir o vôo de helicóptero. Cruzamos a fronteira até [editado]. Seguimos mais 05 quilômetros a pé até o rio. o restante do trajeto foi feito de barco.

Homem 01: Encontraram alguma patrulha ao transpor a fronteira? Exército regular? Insurgentes? Foram captados pelo radar ou outro meio?

Homem 02: Não. Não cruzamos com ninguém nem fomos detectados ao transpor a fronteira.

Homem 01: Você e seus associados estavam cientes que a região não é segura para ninguém da [editado]? Os informes do departamento de [editado] recomendavam explicitamente a não atuação naquela região de qualquer de nossas forças.

Homem 02: Sim.

Homem 01: Então por que invadiram território [editado], mesmo com altas recomendações em contrário?

Homem 02: Você tá de brincadeira? Somo treinados e pagos pra fazer o que nos ordenam. Deram-nos uma ordem e fizemos o possível para cumpri-la. Aliás, engomadinho, você passou pelo treinamento básico? Não ofenda minha inteligência!

Homem 01: Desculpe-me senhor [editado]. Mais uma vez insisto que tais perguntas são apenas formalidades. E respondendo a sua pergunta sim. Eu passei pelo treinamento básico.

Homem 02: Onde?

Homem 01: Em [editado]. Frio demais no inverno. Quente demais no verão. A comida era um lixo.

Homem 02: Sei. Ouvi dizer.

Homem 01: E quando chegaram à vila? O que aconteceu lá? Houve confronto? Foram abordados por alguma força local?

Homem 02: Não. Tudo calmo. Os nativos estavam assustados. Havia combates a nordeste, em [editado]. Exército regular e insurgentes.

Homem 01: O Senhor... Como é mesmo o nome dele?

Homem 02: [editado]

Homem 01: Obrigado. Minha pronúncia do dialeto [editado] é péssima. Mas voltando, o Senhor [editado] resistiu a ser escoltado até a fronteira?

Homem 02: Não. Ele estava aliviado de sumir daquele buraco. Quando dissemos porquê estávamos ali, ele rapidinho pegou as tralhas pra ir embora.

Homem 01: Entendo.

[pausa]

Homem 01: E no retorno? Foram detectados de alguma forma? Encontraram alguma força hostil?

Homem 02: Não. Havia transmissões de rádio do exército regular operando na região, mas distante do nosso caminho. Estavam ocupados com insurgentes no norte.

Homem 01: Na fronteira. No posto de checagem. O quê aconteceu?

Homem 02: Era para esperarmos no ponto de extração designado. 02 quilômetros ao sul do posto de checagem. Mas não chegamos ao posto.

Homem 01: Por quê?

Homem 02: O posto de checagem era uma emboscada. Estava silencioso demais. Íamos contornar o posto quando fomos atacados.

Homem 01: O que aconteceu ao senhor [editado]?

Homem 02: Um atirador meteu uma bala na cabeça dele quando teve oportunidade. Coisa de profissional.

Homem 01: E seus associados? O que aconteceu a eles?

Homem 02: [editado] foi atingido pelo atirador do senhor [editado]. Morreu na hora. [editado] foi abatido com um lançador de granadas o pobre coitado. [editado] ficou comigo até eu apagar.

Homem 01: Pode identificar quem era a força hostil?

Homem 02: Não. Não era gente da força regular de [editado]. As armas não batiam com o equipamento padrão deles. Os insurgentes são numerosos, mas não tem treinamento e o equipamento é refugo roubado do exército regular. Enfim punks brincado de guerrilha.

Homem 01: Em sua opinião quem seria a força hostil?

Homem 02: Profissionais. Sabiam o quê fazer, quando fazer e como fazer. Tinham equipamento, treinamento e motivação.

Homem 01: Entendo.

[pausa]

Homem 01: Senhor [editado] pode me descrever como chegou até aqui?

Homem 02: A prisão?

Homem 01: Sim.

Homem 02: Resumindo a estória. Eu e [editado] fugimos da força hostil. Uma granada explodiu perto. Fiquei tonto demais e [editado] me ajudou a caminhar. Estava muito mal. Não conseguia responder ao fogo. Apaguei logo, antes de chegar ao ponto de extração. Acordei no dia seguinte no Hospital da ONU em [editado]. Me disseram que uma patrulha de pacificação foi verificar uma perturbação na fronteira e me achou. Dois dias depois me entregaram a um oficial diplomático. Na embaixada me prenderam. O resto você pode imaginar.

Homem 01: Entendo.

[pausa]

Homem 01: Poderia me informar o paradeiro do senhor [editado]? Ele não estava com o senhor o tempo todo?

Homem 02: Não. Ele ficou comigo até eu apagar. Desconheço seu paradeiro.

Homem 01: Pode me informar se [editado] chegou ao ponto de extração ou foi abatido?

Homem 02: Não. Não tenho como informar isto.

[pausa]

Homem 01:Senhor [editado] não deseja saber porque foi preso e está incomunicável desde que chegou a embaixada?

Homem 02: Gostaria de saber. Mas os guardas somente informam algo quando forem autorizados.

Homem 01: Temos uma vila cheia de cadáveres. Homens, mulheres e crianças. A contagem estava em 68 corpos quando entrei em sua cela.

Homem 02: Não fomos nós. Nenhum de nós disparou uma única bala contra aqueles civis!

Homem 01: Temos um posto de checagem na fronteira. 06 oficiais da guarda nacional [editado] mortos. Os corpos têm características de execução.

Homem 02: Repito. Não fomos nós. Havia uma força hostil que nos emboscou lá. Revidamos fogo nada mais. O que diabos está acontecendo aqui?

Homem 01: Seu associado, o Senhor [editado], está desaparecido. Sabia que existe uma conta para você e cada um de seus associados em [editado]. Quantia graúda. Na casa do milhão.

Homem 02: Não fizemos nada disso. Não matamos civis. Não executamos oficiais [editado]. Recebemos ordens e cumprimos. Aliás, quem diabos é você?

Homem 01: Assim como você também recebo ordens.

[som de disparos silenciados]

Homem 01: Sou o faxineiro. E vim limpar esta bagunça.

[fim]

Iniciado na noite de 15/11/09. Completado em 17/11/09. Sem correções. Pode ser expandido um dia.

Teresina, 17 de novembro de 2009.

Thiago "mdk137" Juliano.

Proibida a reprodução sem o consentimento do autor.

Permitida a citação desde que o auto seja devidamente creditado

quarta-feira, 11 de novembro de 2009

Uma memória agradável

Alguns anos atrás joguei a versão Playstation do Quake 2 na casa de um amigo. Longas horas em modo solo, exterminando Stroggs em Cerberus foram duplicadas no modo multiplayer em tela dividida. Era muito legal mesmo.

E algo permanceu em minha mente. A trilha sonora possuía uma música em particular que chamou minha atenção. Ela não fazia parte da trilha original do jogo para PC e durante minhas andanças na net nunca a havia encontrado.

Até hoje.



Rápida, pesada, dá um clima e tanto ao jogo. Qualquer passo em falso ou canto que você olhasse sem cuidado poderia ser seu último: Os Stroggs estavam por toda parte e prontos pra te fulminar.

Época interessante em que a tensão de uma porta para entrar, outra para sair e um milhão de aliens pra exterminar entre as portas era suficiente para te manter grudado na cadeira. Algo que infelizmente anda em falta.