Jump to content
Double Fine Action Forums
Sign in to follow this  
DF Oliver

Programming Update #4: Animating the Jack

Recommended Posts

30 fps isnt really what "smooth" is.

It depends entirely on the movement speed of whatever is on screen. A slow moving walk cycle doesn't need 60fps to look smooth. A cloud moving very slowly across the screen could look smooth even at just 10fps.

Adventure games are typically slow games so I imagine 30fps would look perfectly smooth most of the time.

Share this post


Link to post
Share on other sites

The human eye can only take in around 24 frames per second so going much higher than 30 is pretty much a waste of time. I know they tend to use higher frame rates for a lot of 3D games but that's just to compensate for frames that might get dropped during live rendering as far as I understand it.

That's actually a common myth: the human eye can, it has been demonstrated, tell the difference between 30 and 60FPS. And let's face it, if it couldn't, few developers would ever waste resources optimising their game to run at 60FPS, it just wouldn't be worth the effort to draw twice as many frames in the engine.

Other example: recently the preview of The Hobbit showcased the new camera technology they were using to deliver movie images at a higher framerate than the usual 24FPS (about twice as high, I believe). Audiences came away complaining it looked cheap and the working hypothesis as to why that might be is because regular TV runs at a higher framerate than film (though many TV series are now shot on film rather than on tape), so our brains have been trained to associate high-framerate TV with cheaper production, even though in theory the temporal resolution is higher.

However, 30FPS does produce a nicely smooth looking image and is plenty enough for this sort of game and indeed most sorts of games, so nobody ought to be complaining that this one won't run at 60 ;)

Share this post


Link to post
Share on other sites

A quick note on 30fps. Our animators author curves, the exporter samples them, and the engine will play them back at whatever framerate the game is running, which should be 30 or 60 or 120 or whatever your device can handle.

Share this post


Link to post
Share on other sites

Ah, very interesting post! The lumberjack looks wonderful; I really like the animation style.

And thank you for taking the time to explain the methodology in such detail!

Share this post


Link to post
Share on other sites

In all reality... I hope while these posts are being done each one is being rethought/reconsidered in how it would fit in the PDF/Book/Final Disc version.

The Internet may be forever, but it still would be cool to have all this stuff collected in a professional style with only the most pertinent of questions/answer replies to the posts.

Share this post


Link to post
Share on other sites

With a compression ratio of 13:1, I wonder if one could shrink Monkey island 2 down to less than 200kb or something.

That would be sweet!

You could have every adventure game up to "Putt Putt Goes to the Moon" all on your 1996 not-fancy digital watch!

Oh, but I guess that's just a dream for now.

Once again,

Thanks for another perfect programming post. ;)

Share this post


Link to post
Share on other sites
In the last art update, Lee said that you guys were still figuring out how to do character rim highlighting in-game... what would be the pros/cons of a bump-map layer for this purpose?

Excellent comment Hoatzin. We already thought about it and having actual geometry (maybe even including normals) will make it much much easier to achieve good looking rim lighting.

Wow, and here I am with the student copy of Maya.

Perhaps I will follow along this post and wind up with my own game character by the end of this.

Question: Oliver, what (now old) programs/computer did you use to learn the skills you use now?

(I ask since I love to hear about classic computers and such.)

Thanks. ;)

Share this post


Link to post
Share on other sites
Because you are writing for multiple platforms, do you focus on the memory/performance limits of the least powerful system and leave it the same for all the others? What sort of scaling would you be looking at?
This was also my question based on the memory limitation comment.

It got me thinking: did we inadvertently create more limits on the DFA by supporting it "too much"?

By funding more and more we made the game bigger and better by adding features, but by funding it enough to add mobile devices to the list of platforms, did we suddenly decrease the target spec for the game?

Share this post


Link to post
Share on other sites

Looks good, the more maths the better! I'd be interested to see the appearance V memory usage of the effects you end up implementing in the game.

I assume you could just switch some of these effects off (like fog/particles and dof) for mobile devices?

Share this post


Link to post
Share on other sites

I hope there'll be a separate animation for when he's walking forwards/backwards, and not just the side view all the time. That would look pretty bad

Share this post


Link to post
Share on other sites
I hope there'll be a separate animation for when he's walking forwards/backwards, and not just the side view all the time. That would look pretty bad

Did you watch the last art update? Front/back view is already in.

Share this post


Link to post
Share on other sites
Did you watch the last art update? Front/back view is already in.

He was still facing sideways in those. I'm talking about facing directly forward.

If we only see the same angle all the time it makes the character look like a 2-dimensional puppet.

But I remember seeing redbot facing forward in one of the videos, I just hope they implement that with the final art too

Share this post


Link to post
Share on other sites

another great post, good job sir oliver! thank you very much.

Excellent comment Hoatzin. We already thought about it and having actual geometry (maybe even including normals) will make it much much easier to achieve good looking rim lighting.

is the rimlight the reason for the very high polygon count and geometrical outline? (or is that just for the test so you didnt care to reduce it) to have the normal data points? did you try it with just alpha first and it didnt work out? (with uh...some pixelshader or whatnot)

if thats the case, what happens if the rimlight is based off of that geometry and then you insert a full "flipbook" frame (for a headturn, say), would that frame end up with no rimlight or with a different rimlight?

by the way, like many others also said, I think saying that you need 30fps to make it look smooth is a bit of an exaggeration for effect. =) surely a game doesnt need more than disney features 12-24fps? (of course it doesnt change that this is the best approach)

Share this post


Link to post
Share on other sites
´Don't you think he looks too much like a pupett when mooving? Or is simply don rapidly to show how it works.

The artists are still investigating the animation style and I'm sure it'll look super sweet in the end. :-)

;-)

Share this post


Link to post
Share on other sites

Thanks for the great post! I've been waiting for the animation stuff! :D

I've never read anything in-depth, but doesn't South Park use a similar approach using Maya? (only I'm assuming way fewer joints :P)

It's looking pretty great, though as others pointed out, you definitely get a bit of a Flash/After Effects puppety feel. I'm totally cool with it, but I can understand some people craving the fully hand-drawn approach.

I wish I could have a closer look at the rig! It'd be a lot of fun to play around with, and I'm curious to see how all the facial controls are set up. Would you guys ever consider releasing it? Can't wait to see more!

EDIT: Looking at the .gif again of the lumberjack and the overlap on his beard as he walks is an awesome touch. haha

Share this post


Link to post
Share on other sites

Thank you for the update! Good stuff on animation info!

Share this post


Link to post
Share on other sites

Thanks for the update Oliver, very interesting stuff!

Forgive me if I missed this note, but it looks as though there is some mesh deformation on the hat and beard, rather than the pieces remaining as static panels, is that the way it will look in game?

Also, I was wondering out of curiosity if you looked at exporting from Flash at all? I know it's possible to export keyframes, so you get all the transitions Flash can do to really make 2D art come alive, but I haven't looked into how it exports the image pieces. If the image pieces could be exported and synched with the keyframes then you would get all the power of Flash animation, with a relatively reasonable file size. And as long as you weren't trying to write a vector renderer it should be just as quick as the method you proposed, while maybe being more powerful and suited to 2D. I can understand if you have more talented Maya animators than Flash artists on board at Double Fine however, your technique is probably geared to best leverage of the talent you have.

Share this post


Link to post
Share on other sites
cool. :)

just curious how the animation system would handle transitions between different versions of the character (e.g. when the character is drawn from a different perspective to walk toward or away from the screen). Are the "puppets" just swapped out between two frames or would you use a number of non-skeletal animation frames for the transition or some kind of blending magic?

ps

tu-dresden shoutout

(couldnt resist :))

That is a very good question. Right now we are simply replacing the rig, so there is a pop (blending wouldn't really work in this case). The animators will have to figure out whether or not that looks good enough. We could try to connect transitions like these with a special animation, but that might be a lot of work.

I use Lightwave, and there's a thing called morphing for animation. Is there a similar thing in your engine-- where you can modify the geometry of the objects based on a percentage slider and keyframing, with some pre-set geometry morphs? I'm not sure if this is possible, but it might help in this situation if it were.

Share this post


Link to post
Share on other sites

I use Lightwave, and there's a thing called morphing for animation. Is there a similar thing in your engine-- where you can modify the geometry of the objects based on a percentage slider and keyframing, with some pre-set geometry morphs? I'm not sure if this is possible, but it might help in this situation if it were.

theyre talking about completely switching between two models and rigs. not moving vertices around within a mesh.

Share this post


Link to post
Share on other sites

The human eye can only take in around 24 frames per second so going much higher than 30 is pretty much a waste of time. I know they tend to use higher frame rates for a lot of 3D games but that's just to compensate for frames that might get dropped during live rendering as far as I understand it.

That's actually a common myth: the human eye can, it has been demonstrated, tell the difference between 30 and 60FPS. And let's face it, if it couldn't, few developers would ever waste resources optimising their game to run at 60FPS, it just wouldn't be worth the effort to draw twice as many frames in the engine.

Other example: recently the preview of The Hobbit showcased the new camera technology they were using to deliver movie images at a higher framerate than the usual 24FPS (about twice as high, I believe). Audiences came away complaining it looked cheap and the working hypothesis as to why that might be is because regular TV runs at a higher framerate than film (though many TV series are now shot on film rather than on tape), so our brains have been trained to associate high-framerate TV with cheaper production, even though in theory the temporal resolution is higher.

However, 30FPS does produce a nicely smooth looking image and is plenty enough for this sort of game and indeed most sorts of games, so nobody ought to be complaining that this one won't run at 60 ;)

There's a great example of the clearly visible differences between 15, 30 and 60fps HERE. Luckily for us, of all the genres Adventure games are probably one of the least dependent on quick framerates.

Share this post


Link to post
Share on other sites

The human eye can only take in around 24 frames per second so going much higher than 30 is pretty much a waste of time. I know they tend to use higher frame rates for a lot of 3D games but that's just to compensate for frames that might get dropped during live rendering as far as I understand it.

That's actually a common myth: the human eye can, it has been demonstrated, tell the difference between 30 and 60FPS. And let's face it, if it couldn't, few developers would ever waste resources optimising their game to run at 60FPS, it just wouldn't be worth the effort to draw twice as many frames in the engine.

On the other hand, a lot of movie animation - even Disney animation - is done on "twos", i.e. one drawing is used for two frames of finished film, and it still looks pretty darn smooth to me. The Illusion of Life, by Frank Thomas and Ollie Johnston, describes this:

It had long been known that for most normal action there was no need to make a new drawing for every frame of the film. Each drawin could ocupy two of the precious frames, and the audience would neer detect it at 24 frames a second. This saved immense amounts of work and in the slower movements gave a smoother appearance to the action. More than that, a fast action on "twos" had more sparkle and spirit than the same animation with inbetweens, which tended to make the Timing too even and even removed the vitality.

But they go one to describe how the decision whether to use "ones" or "twos" depends on the kind of action, if the camera is moving, etc. and I guess that's much harder to know in advance in a game. Unless it's Dragon's Lair, or something like that.

Share this post


Link to post
Share on other sites
I think, for example, Machinarium doesn't use skeletons, it uses sprites (flipbooks), because some movements of the robots are really organic, they stretch in many ways.

Machinarium definitely uses "skeletons". Not even skeletons. It's like paper cutouts they have to move around without the bones and joints connecting them. It's not exactly like paper cutouts, because those digital paper cutouts can stretch, and skeletons can also stretch. They might've used a little bit of flipbook for things like the arms of the robots, or they might've used something called shape tweening in Flash that's good for animating blobs. That's why their arms are all twiggy little lines with no detail.

Machinarium's actually been used as an example when people here complained about the paper cutout look of DFA's animation so far. Since you like Machinarium's look, it just shows how effective skeletal animation could be.

Hey, have you seen a Kickstarter project called Spriter? It's a program to make animated sprites which doesn't consume that much memory.

Here it is: http://www.kickstarter.com/projects/539087245/spriter

Do you know what technology does this use to consume less memory? I didn't understand much (they don't explain that very well in the video), but in the end I backed the project.

I know. They skeletal animation exactly like DFA is doing. The exact implementation might be different, but that's what they're doing. I thought it was pretty clear. Maybe if you watch it again now that you've read this post you'll feel the same way.

The human eye can only take in around 24 frames per second so going much higher than 30 is pretty much a waste of time.

That's actually a common myth: the human eye can, it has been demonstrated, tell the difference between 30 and 60FPS.

Exactly. I'm glad I'm not the only one who felt the need to correct this. It's not a complete lie. I don't know whether 24 is actually the right number, but let's assume it is. Based on what I've read, the 60 frames still makes a difference because all those extra frames in between that you can't see individually blur together to give you a sense of smoothness. I read it a long time ago when I was less suspicious of internet resources, so that might be worth double checking.

On the other hand:

surely a game doesnt need more than disney features 12-24fps?

That's a good point. Nobody complains that Disney isn't smooth enough.

With a compression ratio of 13:1, I wonder if one could shrink Monkey island 2 down to less than 200kb or something.

Maybe you already know this and weren't seriously considering it, but with Monkey Island 2 you couldn't get that compression ratio. It's high here because each flipbook frame would have a lot of pixels and with skeletal you only need one frame's worth of image data. Monkey Island's sprites were puny so you would save less, and skeletal might actually take more space than the original. It wouldn't look the same as the original either. You can't really just convert from flipbook to frame by frame.

Share this post


Link to post
Share on other sites

The human eye can only take in around 24 frames per second so going much higher than 30 is pretty much a waste of time. I know they tend to use higher frame rates for a lot of 3D games but that's just to compensate for frames that might get dropped during live rendering as far as I understand it.

That's actually a common myth: the human eye can, it has been demonstrated, tell the difference between 30 and 60FPS. And let's face it, if it couldn't, few developers would ever waste resources optimising their game to run at 60FPS, it just wouldn't be worth the effort to draw twice as many frames in the engine.

Other example: recently the preview of The Hobbit showcased the new camera technology they were using to deliver movie images at a higher framerate than the usual 24FPS (about twice as high, I believe). Audiences came away complaining it looked cheap and the working hypothesis as to why that might be is because regular TV runs at a higher framerate than film (though many TV series are now shot on film rather than on tape), so our brains have been trained to associate high-framerate TV with cheaper production, even though in theory the temporal resolution is higher.

However, 30FPS does produce a nicely smooth looking image and is plenty enough for this sort of game and indeed most sorts of games, so nobody ought to be complaining that this one won't run at 60 ;)

There's a great example of the clearly visible differences between 15, 30 and 60fps HERE. Luckily for us, of all the genres Adventure games are probably one of the least dependent on quick framerates.

here's another good direct comparison of 24fps vs 60fps: http://www.mediafire.com/?25nmalhpdns1de7 (had to upload the video here because youtube limits all their videos to 30fps)

there's really a big difference.

Share this post


Link to post
Share on other sites

The human eye can only take in around 24 frames per second so going much higher than 30 is pretty much a waste of time. I know they tend to use higher frame rates for a lot of 3D games but that's just to compensate for frames that might get dropped during live rendering as far as I understand it.

That's actually a common myth: the human eye can, it has been demonstrated, tell the difference between 30 and 60FPS. And let's face it, if it couldn't, few developers would ever waste resources optimising their game to run at 60FPS, it just wouldn't be worth the effort to draw twice as many frames in the engine.

Other example: recently the preview of The Hobbit showcased the new camera technology they were using to deliver movie images at a higher framerate than the usual 24FPS (about twice as high, I believe). Audiences came away complaining it looked cheap and the working hypothesis as to why that might be is because regular TV runs at a higher framerate than film (though many TV series are now shot on film rather than on tape), so our brains have been trained to associate high-framerate TV with cheaper production, even though in theory the temporal resolution is higher.

However, 30FPS does produce a nicely smooth looking image and is plenty enough for this sort of game and indeed most sorts of games, so nobody ought to be complaining that this one won't run at 60 ;)

There's a great example of the clearly visible differences between 15, 30 and 60fps HERE. Luckily for us, of all the genres Adventure games are probably one of the least dependent on quick framerates.

here's another good direct comparison of 24fps vs 60fps: http://www.mediafire.com/?25nmalhpdns1de7 (had to upload the video here because youtube limits all their videos to 30fps)

there's really a big difference.

Youtube does kind of support 60FPS, but only in 240p. This video is a nice example of that: http://www.youtube.com/watch?v=MRH-xagnvBw Compare the smoothness of the video between the different quality settings.

Share this post


Link to post
Share on other sites

I'm going to level with you: I hate this a million times over. Even with lower framerates, hand-animated cycles look a million times better to my eye. This looks like Sega Genesis game bosses to me. I really don't like it.

It's fine for Machinarium, that game is about robots. But it's not fine for people.

Share this post


Link to post
Share on other sites
surely a game doesnt need more than disney features 12-24fps?

That's a good point. Nobody complains that Disney isn't smooth enough.

I actually realised something after posting that. disney animators use elongated drawings, fake multiple exposures, and other kinds of "drawn motion blur" to smooth fast action. so I guess it was kind of a bad comparison as thats hard do with a skeleton model. (at least its probably not worth it to put time into implementing a physical motion blur like some 3d features use, or feasible to do in real-time. what do I know) so, maybe higher framerates are motivated.

but, I dont think "smoothness" is that big of an issue in animation. in fact if some "flipbook" parts are going to be on lesser framerates (expressions and handshapes) doesnt it make a bit more sense to have slightly choppier animation for the other bits as well?

anyways with this system it seems they can always go back and edit stuff, and later put in hand-drawn frames where they want and have time to. so I think its a great base tech. it would be this or vector - and this is a nicer, more unique look. I dont mind the slight puppety feel myself. it works as a style for these characters already so Im happy. but if theres demand for more full animation that could still be put in later with this same base, guys. (for the naysayers)

Share this post


Link to post
Share on other sites
I'm going to level with you: I hate this a million times over. Even with lower framerates, hand-animated cycles look a million times better to my eye. This looks like Sega Genesis game bosses to me. I really don't like it.

It's fine for Machinarium, that game is about robots. But it's not fine for people.

These are still some test materials they're playing with and this character isn't even in the game. Don't freak out just yet, It'll be cool.

Share this post


Link to post
Share on other sites

I kinda agree with Frogacuda. I'm fine with some tweening (or "skeletal animation"), but there really should be more keyframes. Otherwise it just ends up looking like a bad canadian flash cartoon.

I'd rather the game be 12fps and be animated nicely, than be smooth and look like a low effort flat monty-python puppet.

But if they do end up doing it that way then I'm hoping they can at least make up for it with some more walking angles

Share this post


Link to post
Share on other sites
Sign in to follow this  

×
×
  • Create New...