this is a walking engine, you can use it for whatever update: so I was going to make it a platformer, but I realised the code I had in GameMaker Studio 2 was too complicated for scratch (scratch cannot predict when an object will collide with another) so I couldn't do it. sorry :/ so heres the code I used: - - PLAYER - - STEP - key_left = keyboard_check(ord("D")); key_right = keyboard_check(ord("A")); key_jump = keyboard_check_pressed(vk_space); //Calculate movement var move = key_left - key_right; hsp = move * walksp; vsp = vsp + grv; if (place_meeting(x,y+1,oWall)) && (key_jump) { vsp = -7 } //Horizontal collision if (place_meeting(x+hsp,y,oWall)) { while(!place_meeting(x+sign(hsp),y,oWall)) { x = x + sign(hsp); } hsp = 0; } x = x + hsp; //Vertical Collision if (place_meeting(x,y+vsp,oWall)) { while(!place_meeting(x,y+sign(vsp),oWall)) { y = y + sign(vsp); } vsp = 0; } y = y + vsp; - CREATE - hsp = 0; vsp = 0; grv = 0.3; walksp = 4; - - WALL - (no code required)