No, that wasn't the problem. I still haven figured out exactly what's wrong but by removing the "if verticalspeed" line it does increase the throttle properly. Edit: I think the problem is because I am going down, not up, the vertical speed needs to be a negative value. I might be able to get this to work somehow. Edit 2: Yes this is the case. My proof is that I could get my ship to hover by using until altitude < 70 { if verticalspeed < 0 { set tval to tval + 0.1. }. if verticalspeed >0 { set tval to tval - 0.1. }. }.