Hi Blinkozo and welcome to our forum.
While I agree that your solution is beneficial in some situations (deterministic physical behavior), I disagree with some of your points:
Blinkozo wrote:Physics sims almost always reference their previously calculated state (e.g. self.yVel = self.yVel * decay), and with an unknowable dt, you will never be able to predict how many times yVel = yVel*decay gets called per second. Thus, you’ll always end up with weird results.
It is true, that you don't know beforehand, how often the update is called per second. But that is the whole point of using dt. For linear movement, you multiply each change in time by dt, which leads to the same result after one second, regardless how often the update is performed. The same holds for the exponential decay together with the code I wrote above.
Blinkozo wrote: Even if you use micha’s exponential solution, the update() loop might not change yVel enough times, or too much, depending on how many times update() is called per second. And you’re back to where you started: an unknowable dt that will accelerate your bombs at whatever speed it likes.
Because of what I said above, it does not matter, how many times the update is called. The speed after one second will be the same.
The weird glitches that one gets with variable time steps only appear if dt is used incorrectly.
And I want to point out two more drawbacks of using a constant time step:
First, one can possibly get time-aliasing. Even, if the draw is called at a constant rate, the number of updates might vary from draw to draw (this is the case, if the update rate is not an integer multiple of the draw rate). I don't know if this is a severe problem, as I haven't tried myself.
Second - you pointed into this direction already - if the calculations in the update take more time than the prescribed (fixed) timestep then you enter a spiral of growing time steps and then between each draw, more and more updates are performed. The update cannot catch up with the growing amount of time in the timeBucket.
Besides these drawbacks, I agree, that for deterministic physics, a constant time step is the best solution.