Your variables don't have a # at the end.
By default blitz variables are integer, so you should have
Else you will get rounding to the nearest integer, which for 0.4 is zero.
By default blitz variables are integer, so you should have
ColNormal# = CollisionNormalX(player,1) ColNormal# = CollisionNormalY(player,1)
Else you will get rounding to the nearest integer, which for 0.4 is zero.