Re: Best solution for game loop on OSX?
Re: Best solution for game loop on OSX?
- Subject: Re: Best solution for game loop on OSX?
- From: Graham Cox <email@hidden>
- Date: Tue, 17 Dec 2013 10:21:24 +0100
On 13 Dec 2013, at 10:57 pm, Alex Hall <email@hidden> wrote:
> To do so smoothly, though, will require a loop, so I can update the position in small increments many times per second.
You probably know this, but it’s a point worth repeating.
Whatever method you use to make the game loop, don’t fall into the trap of assuming that each callback is equivalent to <delta t> seconds. Instead, measure the elapsed time and derive your position(s) accordingly.
In other words, suppose you want to move an object from position p1 to position p2 over a period of, say, 1 second. You might assume a framerate of 30fps and therefore divide p2-p1 into thirty equal increments and add that increment at each frame. DO NOT DO THAT! If your timer is held up for any reason, your animation slows down. Instead, calculate the elapsed time at each frame and derive the true position from it. That way, if the timer is held up, your framerate drops but the positions of everything remains correct.
Seems obvious but I’ve seen many developers fall into this trap, especially if it’s their first game.
—Graham
_______________________________________________
Cocoa-dev mailing list (email@hidden)
Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com
Help/Unsubscribe/Update your Subscription:
This email sent to email@hidden