quinta-feira, 19 de fevereiro de 2015

Walljump

Olá pessoas, esse é um tutorial para aqueles que querem fazer walljump mas nem sabem por onde começar, esse tutorial tem o intuito de evitar tópicos inúteis na SMWC como esse ou esse.




Mas antes, o que a TASVideos diz sobre walljump.


TASVideos diz que:
Walljumping happens when Mario jumps towards a wall, and his foot catches the wall, stops his falling speed, and allows him to jump again in mid-air. In order to pull off a walljump, Mario needs at least a speed of 33 going toward a wall, and must run into the wall at exactly a block boundary (every 16 pixels). If Mario “catches” the wall, then conditions are good for a walljump - simply press jump a couple frames before he snags it.

The smallest variations in speed and position during the jump onto the wall can affect whether or not this works correctly. Keep trying!

“Walljump acontece quando Mario pula em direção a uma parede e seus pés agarram a parede, para sua velocidade de queda e permite que ele pule novamente no meio do ar. A fim de executar um walljump, Mario precisa de uma velocidade mínima de 33 indo em direção a parede, e precisa ir na parede na exata divisão de blocos (a cada 16 pixels). Se Mario ‘agarrar’ a parede, então as condições são boas para um walljump – simplesmente aperte o botão de pulo poucos frames antes dele ‘agarrar’ a parede.


As menores variações na velocidade e posição durante o pulo para a parede pode pode afetar se isso irá ou não funcionar corretamente. Continue tentando!”


Agora irei explicar um pouco mais detalhadamente, o walljump ocorre quando o Mario pula em direção a parede com velocidade mínima de 33 entre dois blocos de forma que entre no bloco por 2 pixels ou mais em relação ao lado do bloco, ou seja, não ir entre dois blocos de qualquer jeito, você precisa ir em certas posições para o walljump ocorrer, neste exemplo que usarei, eu irei fazer walljump com o Mario a esquerda da parede (indo para a direita).


Repare que nesta foto há vários números que são informações como velocidade do Mario, posição do Mario, lados de um bloco etc. Irei mostrar como saber por quais posições o Mario deve passar para que o walljump ocorra. Eu falei anteriormente que Mario deve entrar no bloco por 2 pixels ou mais, isso significa que o Mario deve atingir, no mínimo, dentro do bloco uma posição que é referente ao lado do bloco +2 (na pratica não ocorre, mas irei explicar isso depois).

Neste exemplo o lado esquerdo do bloco é 483.0 (o lado esquerdo de um bloco sempre tem subpixel “.0” e o lado direito sempre tem subpixel “.f”), logo temos que chegar a posição 485.0 ou uma posição maior, e para isso precisamos ir em uma posição livre menor que 483.0 e, dependendo da velocidade há mais possibilidades de posições que o Mario pode passar para alcançar a posição 485.0 (ou uma posição maior), e para explicar como isso ocorre eu irei explicar primeiro porque a velocidade mínima é 33, eu disse anteriormente que para fazer walljump é necessário entrar no bloco por 2 pixels ou mais em relação ao lado do bloco, e nesse exemplo o lado do bloco é 483.0, logo a posição livre imediatamente menor que 483.0 é 482.f e usando a matemática:

485.0 – 482.f = 33 subpixels

A partir disso observa-se que caso a velocidade do Mario seja 33, ele precisa alcançar a posição 482.f, mas caso a velocidade seja maior, haverá mais possibilidades de posições, caso a velocidade seja 34 por exemplo, o Mario precisa alcançar a posição 482.f ou 482.e (caso o Mario alcance a posição 482.e ele entra no bloco por 2 pixels, caso alcance a posição 482.f ele entra por 2.1 pixels), caso a velocidade seja 35 ele precisa alcançar as posições 482.f ou 482.e ou 482.d e assim por diante.

No caso do exemplo, eu estava com velocidade 49, logo para eu fazer walljump eu tenho que ir numa das posições que vão de 481.f a 482.f (são 16 possibilidades de posições).

485(pixels) - 49(subpixels) = 481.f

Neste caso eu passei pela posição 482.d e após isso, dentro do bloco, eu passei pela posição 484.e, mas de acordo com a matemática deveria ser 485.e, porém o Mario é imediatamente empurrado para fora da parede por 1 pixel.



Caso você alcance a posição certa de acordo com a sua velocidade, ele irá ficar de pé na parede, então basta apertar o botão de pulo poucos frames antes dele ficar de pé na parede (NÃO ESQUEÇA DE USAR FRAME ADVANCE E SAVE STATE!!).





Um comentário: