Welcome, Guest. Please login or register.

Login with username, password and session length

 
Advanced search

1411600 Posts in 69387 Topics- by 58445 Members - Latest Member: gravitygat

May 08, 2024, 10:41:51 AM

Need hosting? Check out Digital Ocean
(more details in this thread)
TIGSource ForumsDeveloperTechnical (Moderator: ThemsAllTook)Really smooth animation
Pages: [1]
Print
Author Topic: Really smooth animation  (Read 1573 times)
cpets
Level 0
**


View Profile WWW
« on: March 16, 2009, 12:21:26 PM »

I think I'm cursed by having first written games in 320x240, where a fixed time step and vsync were enough to make any animation smooth as glass. I will go so far as to say most games these days fail to animate smoothly. I've even noticed that Fable 2 and some Star Wars games have problems with tearing and inconsistency, and these are big, professional titles. Pretty much everything Flash and GameMaker fails, even the best written among them. WTF?

There are exceptions. Some platformers on the Xbox360 have it nailed, even some of the XBLA community games.

I recently sat down and wrote a bunch of inner loops in C++ and GL with various timing strategies. The only one I could call perfectly smooth was the dumb free loop, in which everything runs as quickly as possible and updates using wall time. Everything else--including vsynced fixed steps--looked worse.

Now of course vsync is screwy and hard to get at these days, and I could be doing a lot of things wrong. But what gives?

Do you just accept that your animation isn't going to be perfect and move on?

The best workable solution I see is to interpolate graphics steps between fixed logic/physics steps. Is there anything more straightforward? Has anyone had great success doing this?
Logged
moi
Level 10
*****


DILF SANTA


View Profile WWW
« Reply #1 on: March 16, 2009, 12:23:12 PM »

not discovered deltatime yet? Undecided
Logged

subsystems   subsystems   subsystems
cpets
Level 0
**


View Profile WWW
« Reply #2 on: March 16, 2009, 12:27:02 PM »

not discovered deltatime yet? Undecided

If you mean advancing game time each frame by the amount of wall time elapsed since the last frame, that's what I meant by a "dumb free loop in which everything runs as quickly as possible and updates using wall time". This is fine for graphics, but not so good for physics, which can become unstable under non-fixed steps.

If you mean something else, please explain!
Logged
moi
Level 10
*****


DILF SANTA


View Profile WWW
« Reply #3 on: March 16, 2009, 12:30:25 PM »

No that's what I meant.
I don't think you'll ever find the perfect timing system though, just work around the best you can manage. Shrug
Logged

subsystems   subsystems   subsystems
hexageek
Level 0
***



View Profile
« Reply #4 on: March 16, 2009, 12:33:50 PM »

I never had problem with my animations. I use the 4th method (Constant Game Speed independent of Variable FPS) for timing, in this site: http://dewitters.koonsolo.com/gameloop.html
Logged
cpets
Level 0
**


View Profile WWW
« Reply #5 on: March 16, 2009, 12:40:05 PM »

I never had problem with my animations. I use the 4th method (Constant Game Speed independent of Variable FPS) for timing, in this site: http://dewitters.koonsolo.com/gameloop.html

Ok, another vote for interpolation! Have you released anything with this? I'm interested to compare visual quality between games where I know what they're doing internally, loopwise.
Logged
Mikademus
Level 10
*****


The Magical Owl


View Profile
« Reply #6 on: March 16, 2009, 12:40:48 PM »

The problem today isn't with lacking skills or hardware differences or algorithms today, it has to do with differences in platforms. If you make your game for a GameBoy you can make it as smooth as on a C64 or DOS 6.22 80386 in MCGA Mode 13. If you make your game on Linux, OSX, Win32 or Win64 you have a multi-tasking time-sharing OS to get along with. You CAN'T (and SHOULDN'T) run your app exclusively, especially since your app is dependent on all the underlying/concurrent processes.

You need exclusive access to a fixed-cycle platform for perfect control; on modern OSs you have shared access to a variable-rate platform.
Logged

\\\"There\\\'s a tendency among the press to attribute the creation of a game to a single person,\\\" says Warren Spector, creator of Thief and Deus Ex. --IGN<br />My compilation of game engines for indies
hexageek
Level 0
***



View Profile
« Reply #7 on: March 16, 2009, 12:49:05 PM »

I never had problem with my animations. I use the 4th method (Constant Game Speed independent of Variable FPS) for timing, in this site: http://dewitters.koonsolo.com/gameloop.html

Ok, another vote for interpolation! Have you released anything with this? I'm interested to compare visual quality between games where I know what they're doing internally, loopwise.

I did a fast prototyping of this method to see how it works a few months ago, but I don't have the codes anymore  Roll Eyes
Logged
Pages: [1]
Print
Jump to:  

Theme orange-lt created by panic