Pew pew, em oito direções
Mira, armas como dados, tiros que nunca atravessam paredes e um script que acha a ponta do blaster em cada quadro.
Ouça este post
Narrado com a voz do Dodz, clonada por IA

O jogo se chama PewRun. O "pew" tinha que ser gostoso.
Oito direções e algumas regras
O Pew mira em oito direções. A pose depende de onde ele está:
- No chão, cima + lado ou baixo + lado faz ele parar e mirar na diagonal. Não existe animação de correr mirando na diagonal, e parado fica mais legível de qualquer jeito.
- Só baixo, no chão, é agachar, ainda atirando para a frente.
- Direto para baixo só funciona no ar.
- Ctrl (ou o botão direito do mouse) segura o Pew no lugar, para mirar sem andar.
Experimente aqui. Aponte dentro da caixa para mirar e clique para atirar:
aim_forwardArmas são arquivos
Cada arma é um pequeno arquivo de recurso, um WeaponData: com que frequência atira, a velocidade dos tiros, quanto tempo eles duram, dano, quantos tiros por disparo, o leque, a cor, o som e a cor da cápsula. Arma nova é arquivo novo, não código novo.
| Blaster | Espalhador | |
|---|---|---|
| Intervalo entre tiros | 0,13 s | 0,24 s |
| Velocidade do tiro | 1900 px/s | 1600 px/s |
| Duração do tiro | 0,9 s | 0,42 s |
| Tiros por disparo | 1 | 5 |
| Leque | 0° | 40° |
Segurar o botão dispara na cadência da arma. O Blaster é a arma inicial, com munição infinita; o Espalhador troca alcance por um leque de cinco tiros.
Achando o cano
O tiro tem que sair da ponta do blaster, e o blaster está num lugar diferente em cada pose e em cada quadro. Marcar esses pontos à mão, quadro a quadro, parecia um castigo.
Então o script que monta os sprites acha os pontos sozinho. Em cada quadro de tiro, ele procura os pixels laranja brilhantes do blaster e escolhe o que está mais longe na direção da mira. Essa é a ponta da arma. As posições vão para um JSON ao lado do atlas, e o jogo lê esse arquivo na hora de atirar. Este site lê o mesmo arquivo: é por isso que os tiros da demo acima saem alinhados com a arma.
Tiros que não trapaceiam
Um tiro rápido pode andar mais num quadro do que a largura de uma parede fina, e passar direto por ela. Por isso, a cada quadro, cada tiro lança um raio de onde estava até onde vai, e para na primeira coisa que encontra. O que for atingido recebe uma chamada de take_damage com o dano, o ponto do impacto e a direção.
Coisas para acertar
Dois objetos saíram desta etapa: uma lata de refrigerante e uma caixa de fósforos. Quando acertados, eles piscam e tremem; quando a vida acaba, viram destroços e voltam alguns segundos depois. Também são sólidos, então o Pew pode subir neles. E há uma cápsula de arma flutuando, que dá uma arma ao Pew quando ele encosta.
Cada tiro tem um clarão na ponta da arma, um pequeno recuo no sprite e um som gerado na ElevenLabs, tocado com uma leve variação de tom para a rajada não soar como uma metralhadora de cópias.
A seguir: o primeiro trecho de verdade do Capítulo 1, onde tudo isso encontra chuva, luz e água. A sarjeta está molhada.
