Trigonometrando em Heretic

Heretic foi um dos primeiros jogos de computador com que tive contato. Lembro que minha tia ganhou um Windows 95 na época que isso era algo revolucionário, e tinhamos um CD com vários jogos demo, dentre eles o Heretic. Esse é um jogo do gênero FPS, aqueles que temos visão em primeira pessoa e geralmente só vemos nossa arma/mão, mas na época eu ainda não tinha a destreza necessária para mover o personagem, então ficava apenas no botão de atirar e minha tia controlava o personagem. Mas atirar em monstros era uma diversão secundária, o que esse jogo tinha de emocionante eram as passagens secretas e as armadilhas. Pense que você esta andando num corredor e encontra uma arma poderosa… mas assim que você pega a arma, as luzes se apagam e começamos a ouvir monstros ao seu redor (logo em seguida começamos a perder pontos de vida), ou o teto começa a descer em nossas cabeças … mas também acontecia de passarmos por locais monótonos e sem nada de interessante… provavelmente havia ali uma passagem secreta que a sua falta de curiosidade ignorou. Enfim, esse é um jogo bem divertido, que te põe pra pensar e te dá alguns picos de desespero e medo, principalmente quando começa a ouvir os monstros por perto e tem pouca munição… Ao final de cada fase mostrava quantos monstros tinham na fase, quantos itens e quantas passagens secretas, e quantos de cada você descobriu. Isso dava uma séria frustração de sentirmos que deixamos passar alguma coisa, e meio que refazíamos todo o itinerário buscando onde poderia estar a passagem secreta que faltava ser descoberta.

Contudo, uma questão que temos em comum à maioria dos jogos desse gênero, o fato de podermos ajustar a mira do personagem do valor máximo, mas o jogo não nos diz qual é esta angulação. Podemos simplesmente aceitar que esta informação não seja oferecida aos jogadores, ou então, encontrar em elementos internos ao próprio gameplay, meios de calcular esse valor. Claro que escolhemos a segunda opção :).

Vamos primeiro desenhar nossa situação. Temos o personagem com sua arma apontada na altura padrão:

Quando ele dispara, o tiro segue em linha reta até o alvo.

Por outro lado, podemos ajustar a mira até a ângulação superior máxima.

Quando ele dispara, o tiro segue em linha reta até o alvo (é importante ressaltar aqui, que a trajetória não é parabólica).

Ou seja, o ângulo que procuramos pode ser expresso a partir de um triângulo retângulo, com lado oposto z (dado pela diferença as alturas entre os dois disparos), e lado adjacente y (igual a distância do personagem até o alvo). Conhecendo estes valores, podemos dizer que a tangente esse ângulo x será z/x.

Bom, conhecendo o suficiente do jogo, podemos encontrar esses valores. No caso, essa parede é bem propícia para o que queremos, pois ela pare toda formaad por triângulos retângulos isósceles (ou quase).

Verificando onde o disparo com angulação máxima atinge, podemos ter uma ideia da diferença de alturas.

Mas ainda falta pensarmos em uma unidade de medida para nossos cálculos… para isso, vamos usar os passsos do personagem. Isso é, o quanto o personagem se move ao menor dos toques no teclado. Assim, com 7 passinhos passamos por completo o trecho que corresponde a essa parede com água. Escolhi esse trecho especificamente por conta disso, pois dá pra perceber a mudança de altura na hora que o personagem desce pra água, e na hora que sai da água.

Assim, para facilitar as contas, fiz 10 passos para trás.

Então, cada metade de um dos triângulos retângulos, que també será um triângulo retângulo, terá altura e base iguais a 6/7 passos.

Por fim, estimamos a diferença da altura dos disparos a partir destes triângulos, concluindo sua altura deva ser 18/7 passos.

Logo, ao retomarmos os cálculos iniciais, podemos descobrir qual deve ser o ângulo x.

tang(x) = (18/7)/10

tang(x) = 9/35

arctang(9/35) = 14.42º

Certamente há várias imprecisões em nosso método, assim como seria improvável que os desenvolvedores do jogo escolhessem uma angulação não inteira. Desse modo me arrisco dizer que a angulação máxima deve ser 15º.

O interessante desse texto não é propriamente o cálculo, pois não há novidade alguma em utilizar lados de um triângulo retângulo para encontrar seu ângulo. Contudo, a maneira como as informações necessárias para modelar nosso triângulo, foram deduzidas dentro da própria jogabilidade de Heretic. Fica assim o convite para conhecer este jogo (você pode baixá-lo facilmente ou jogar online) e também a procurar outras modelagens matemáticas dentro de jogos digitais.


Como referenciar este conteúdo em formato ABNT (baseado na norma NBR 6023/2018):

SILVA, Marcos Henrique de Paula Dias da. Trigonometrando em Heretic. In: UNIVERSIDADE ESTADUAL DE CAMPINAS. Zero – Blog de Ciência da Unicamp. Volume 8. Ed. 1. 2º semestre de 2022. Campinas, 6 ago. 2022. Disponível em: https://www.blogs.unicamp.br/zero/4557/. Acesso em: <data-de-hoje>.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *