I'm making a train game, and using CFrame to move the trains.

However, I'm stumped. If I increase the amount of studs (per single loop execution), the train skips the tracks and derails.

I've tried lerping and numerous other methods, but to no avail.

Here's the script:

local part = workspace["777 Test"].bogie2 -- the bogie (keeps train on tracks)
local facepart = workspace["777 Test"].antiderail2 --the train face direction

while wait() do
	part.CFrame = part.CFrame + facepart.CFrame.lookVector * -1 --if i increase this value, it derails
end

Any help would be greatly appreciated!