An Indie Approach to Procedural Animation - GDC Video talk

Hi,

Just came across this talk from David Rosen of Wolfire Games (OverGrowth) that he gave at this years GDC and found it really fascinating. Its about procedural character animation and the little tricks and process he used to get a really responsive (to game input) character with great looking animation using only 13 keyframes in total for everything!

Its well worth watching (only 25 mins long) just to get some ideas with how far procedural algorithms can enhance animations. In fact its so interesting i’m going to watch it a second time.

An Indie Approach to Procedural Animation - GDC Video talk

On the flip side the same company recently opened up their code to their first game Lugaru - warning this code may turn you into a slobbering wreck, you might also have to scroll to the right a bit too :wink:

Though to be fair they do disclaim it as
The coding style is what you might expect from a self-taught high school student, so it could be a challenge to understand

3 Likes

Super smart stuff! Gonna definitely try this for my home project!

Thanks for posting this. I love reading the Wolfire blog, but haven’t checked back to it in quite a long time now :slight_smile:

Thanks for the link. Very nice.

But man, that code has many hard-coded values. I assume their current code looks very different. A wonder they finished that game. Would not have thought that.

Great presentation, definitely gave me some ideas on how to approach a few subjects

Thanks for the share :slight_smile:

nice find, thx for sharing.

Thanks for the thread, I’ve always liked David Rosen’s approach to solving problems through code, glad to see this in the GDC vault.

I do wish he had more time to go into technical details.

How did he solve the problem at the start? About Marios responsiveness compared to Prince of Persia? I didn’t see anything that would fix that, the lack of keyframes doesn’t magically fix that…

He solved it by programming “responsiveness” in his physics first and then putting animation on top instead of the other way round.

Isn’t this how its usually done? the issue being that the animations can ether abruptly stop or they could keep going when the user isn’t moving?

Saw this video, its a really cool idea and the results look great.

How would somebody start with keyframe interpolation in Unity? Is there an easy way to hook in Mecanim or the legacy anim system to give some kind of baseline understanding of the rig? I really haven’t done much with animations yet, but in the most naive way it would come down to moving each bone object manually. Could you just loop through from the root on down and use transform.localPosition to move from one keyframe position to a target position for each bone?

Blend trees seem like the way. Just control the blending parameter with a curve. Remember that you can blend blend trees.

Well, I used root motion with animations instead of a physics sphere first. Maybe everyone else does it, but I didn’t :wink:

For some reason with Mechanim they try and push that, but they all have terrible control precision.