DJWoodgate #1 Normalise the movement vector given by the keydowns? ML# = Sqr(MX*MX+MZ*MZ) If ML<>0 Then MX# = MX/ML MZ# = MZ/ML EndIf or use TformNormal instead of TformVector which does something similar.