See if this makes any sense:
Const kDeltaTime:Double = 0.01 Repeat' - - - - - - - - - - - - - - - - - Try Local dNewTime:Double = MilliSecs() * 0.001 Local dDeltaTime:Double = dNewTime - dCurrentTime If dDeltaTime > .25 dDeltaTime = .25 End If dCurrentTime = dNewTime dTimeAccumulator :+ dDeltaTime lFrameAccumulator :+ 1 If (lFrameAccumulator = 20) dSmothDeltaTime = dTimeAccumulator / lFrameAccumulator dTimeAccumulator = 0 lFrameAccumulator = 0 End If dDeltaTime = dSmothDeltaTime While (dDeltaTime > 0) dTimeStep = dDeltaTime If (dTimeStep > kDeltaTime) dTimeStep = kDeltaTime End If 'Process a Game Turn pTReferee.ProcessTurn(dTimeStep*100) dDeltaTime :- dTimeStep End While 'Render the Turn. pTReferee.RenderTurn() Catch ex:Object Print ex.ToString() End End Try 'Flip Flip 1 Cls Until KeyHit(Key_Q)