First of all, this is different to this question, because that question doesn't update entities the same way I am.
My update loop goes something like this (for the player):
- Apply acceleration based on arrow keys input
- Apply some downwards acceleration for gravity
- Multiply the acceleration by something like 0.999
- Add the acceleration to the velocity
- Multiply the velocity by about 0.6
- Add the velocity to the player's position
- Render the player
So, this is a fairly nice smooth movement, and makes it easy to implement jumping by applying a sharp upwards acceleration in one frame.
The only problem is that it seems to make it very difficult to make the movement speed frame-rate independent. I've tried many different ways, like multiplying the movement acceleration by the delta time when it's applied, multiplying the acceleration by the delta time just before being added to the acceleration, multiplying the velocity by the delta time, etc., but none of these worked. They pretty much all had the same effect of varying movement speed and jump height dependant on the frame-rate.
My question is: with this, or a similarly working, movement system, how can I use delta-time or otherwise to ensure the movement speed, gravity, and similar, is not dependant on the frame-rate.