Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

You need to comment your code.Even for yourself

hsp = 0;//horizontal speed
vsp = 0;//vertical speed
grv = 0.3;//gravity
walksp = 4;//walk speed

However, i don't really know this language but why

if (place_meeting(x,y+1,oWall)) && (key_jump)
{ vsp = -7;
}


and not

if (!place_meeting(x,y+1,oWall)) && (key_jump)
{ vsp = -7;
}

Don't even know what that means:     vsp = vsp = grv;  I can't help you more than that, not a language i know. good luck.

y + 1 is below the player, because 0,0 is the upper left corner of the screen and  and down are the positives of the y coordenate


However...
I think it was

vsp = vsp + grav;

or

vsp += grav;