So i made a post 3 weeks ago here http://www.cocos2d-iphone.org/forum/topic/5462 with a problem relating to running a game on two different phones over a server at the same time. However these outcomes are not always exactly similar. I believe the problem is with the game FPS, through-out the game it will drop to 28/29 FPS while another phone might hold at 30 FPS. This causes a slower time calling the step function with Chipmunk. I have read and tried to integrate this post http://gafferongames.com/game-physics/fix-your-timestep/ although written extremely well it does not seem work perfect with the iphone. However I tweaked cocos2d so I can monitor the actual FPS. My question is this.
If I have a step that is twice per FPS. This is currently a constant step. However if I return the actual FPS and factor that into my "dt". For instance my FPS running at a constant 30FPS drops to 29. Now with my step i can simply add 1/30 to that instance of "dt" which would factor for the slowing down of the game engine. So even though the device slows down the physics simulation will speed up to the necessary equivalent. I have tried this but once again it does not seem to be working correctly, or how I would think it would work. I am up in arms with what to do and really cannot seem to figure this out. Any ideas would be great.
A couple things I have tried.
1. My FPS is a solid 30 FPS, it will drop 1 or 2 frames here and there but will always go back up to 30.
2. I have tried double and single precision float with chipmunk. This actually does not change outcome for it only makes real world physics more precise however this is not needed for my game.
3. I have tried almost every combo of steps to FPS there is. 8 steps via 1 FPS, 4 steps via 1 FPS, 2 steps via 1 FPS, etc...
4. I think I have read every post there is out there on steps and FPS.