← Todos os posts

Fazendo um ET pequeno ser gostoso de controlar

Coyote time, buffer de pulo, um dash com uma carga no ar e agarrar bordas: os números por trás do movimento do Pew.

Ouça este post

Narrado com a voz do Dodz, clonada por IA

0:00 / 0:00
O Pew pulando sobre uma poça da sarjeta no protótipo em Godot.

Num run and gun você passa o jogo inteiro se movendo. Se o movimento for mole, nada mais importa. Então o passo seguinte foi o controle do personagem, testado numa sala cinza e feia antes de chegar perto da arte bonita.

A sala de testes do movimento. Caixas cinza, porque o que importa aqui é a sensação, não o visual.

Os números

O Pew é um CharacterBody2D com uma máquina de estados simples: parado, correndo, agachado, pulando, caindo, dash, pendurado numa borda e subindo nela. Todo valor é exportado em grupos, então eu ajusto pelo editor em vez de caçar constantes. Estes são os atuais, em pixels e segundos numa tela 1080p:

O quêValor
Velocidade de corrida460 px/s
Aceleração / atrito no chão3600 / 4200 px/s²
Aceleração no ar2600 px/s²
Velocidade do pulo1340 px/s
Gravidade subindo / descendo2800 / 4200 px/s²
Queda máxima1500 px/s
Corte do pulo ao soltar× 0,45
Coyote time0,1 s
Buffer de pulo0,12 s
Dash1150 px/s por 0,16 s, 0,35 s de recarga

Pequenas mentiras que parecem justas

Quase tudo o que deixa um jogo de plataforma gostoso é o jogo te ajudando sem você perceber:

  • Coyote time. Por 0,1 s depois de sair correndo de uma borda, o pulo ainda vale. Seus olhos dizem que você estava na beirada; o jogo concorda.
  • Buffer de pulo. Aperte o pulo até 0,12 s antes de tocar o chão e o Pew pula assim que pousa, em vez de ignorar o comando.
  • Altura variável. Solte o pulo na subida e a velocidade para cima cai para 45%. Toque para um pulinho, segure para o pulo inteiro.
  • Queda mais pesada. A gravidade é mais forte descendo do que subindo, então o pulo fica seco em vez de flutuante.
  • Um dash no ar. O dash funciona no chão com recarga, e uma vez no ar até pousar. O Pew fica invulnerável durante o dash, o que vai importar quando as coisas começarem a morder.
  • Agarrar bordas. Caindo perto de uma parede e segurando na direção dela, o Pew agarra a borda e pode subir. Ainda não existe sprite de pendurado, então por enquanto ele pega emprestada a pose de mirar para cima.

Por cima disso, um pouco de squash and stretch no pulo e na aterrissagem, uma nuvem de poeira e rastros durante o dash.

Uma câmera que olha à frente

A câmera fica fora do personagem. Ela segue o Pew com suavidade e se adianta para o lado em que ele olha, então você vê mais do que vem pela frente do que do que ficou para trás. Mantê-la separada também deixa a câmera livre para seguir outra coisa depois, sem mexer no Pew.

Testes que apertam as teclas

A sala de testes é montada a partir de duas listas de retângulos, então o que você vê e o que colide sempre batem. O F3 mostra o estado e a velocidade.

Também existe uma cena de teste sem janela que simula teclas e confere os resultados: o pulo inteiro vai mais alto que o curto, o dash percorre distância, agachar funciona, o Pew agarra a borda. Roda em poucos segundos, o que significa que toda mudança no controle é conferida, inclusive as feitas com uma IA ajudando no código.

A seguir: dar ao Pew algo para fazer com as mãos, em oito direções.