Slashdot Mirror


Mutating Animations

Weird_one writes "Discover magazine's current issue has an intriguing article involving using genetic algorithims to evolve an animation of a walking individual."

7 of 218 comments (clear)

  1. Just wait for the game with this feature... by anttik · · Score: 5, Interesting

    When CPU's will become fast enough to use this level of learning on the fly, it will be great for gamers. Maybe the enemies don't have to learn walking, but learning strategy is a different thing. If they learn strategy by themselves and not by pre-programmed AI, I bet they will be more creative and a tougher opponent.

    But I think I'll still have to wait like 20 years for that.

    1. Re:Just wait for the game with this feature... by fo0bar · · Score: 5, Interesting

      Download the E3 demo of Half-Life 2. In it there is a section where people are fighting alongside Gordon. This didn't look too spectacular until the presenter announced that these characters were NOT moving according to a script. The characters were given an objective (help Gordon get to point X), but were not given a path to take or any knowledge about the obstacles in the way. At that point my eyes opened wide, watching these people duck behind debris, covering fellow fighters, shoot-move-shoot-move... the movement and logic that they possessed looked either preprogrammed (which again, they say is not the case), or very human-like.

  2. If you liked that.... by Great_Jehovah · · Score: 5, Interesting
    Check this out: http://q12.org/phd-movies.html

    Not quite as slick but a lot more amusing.

  3. Re:sceptical by dustman · · Score: 5, Interesting

    How would this be any easier than doing keyframed animation with inverse kinematics?

    I read something about this idea a few years ago. I'm pretty sure it was by the guy that did BMRT... a thesis paper of his or something.

    Basically, the redid the animation of "Luxo" in pixar's animation short. "Luxo" is the bouncing desktop lamp. Making animated characters (even those that aren't human) move "nicely" is quite hard. It takes a lot of work.

    For their project, the specified the constraint: That Luxo must move from point A to point B, and that's all. The only input the model had was "how much force to use on each joint at each particular time". So, they were animating its "muscles" with a genetic algorithm, and also running a physics simulation on the system. (They assigned mass to the individual components, etc).

    It evolved several techniques of locomotion: The "standard" bouncing hop (which the "real" luxo does), dragging itself across the table, somersaulting, etc...

    In short, they came up with good looking animation, without requiring much user input. And in the end, they had a genetic algorithm which could make Luxo walk any distance, without requiring the work of an animator.

    This is important, because although its relatively easy to just loop an animation, it looks rather unnatural.

  4. Coolest Java applet ever: BioBloc by FleaPlus · · Score: 5, Interesting

    The other day I stumbled upon what could quite possibly be the coolest Java applet ever. Once you start the applet, you assemble "bioblocs," which are 3D creatures assembled from connected blocks. Once you've assembled your creature, you can have it use genetic algorithms to try to learn how to most effectively walk, run, jump, and turn around using the blocks you've given it. I assembled a snake-like creature the other day, and was intrigued to see that it evolved a walking movement very similar to that of a sidewinder's.

    In addition to assembling your own creatures, you can also load creatures that others have previously assembled, as well as enter your creatures into contests. A lot of the previously assembled creatures are -very- impressive, with movements quite similar to those evolved in nature.

  5. Its more difficult than one thinks... by arvindn · · Score: 5, Informative
    In simple textbook situations illustrating the genetic algorithm, we simply represent the solution space as a string of bits, and cut it at some point and recombine them to form offspring. However, real world applications are a lot more complex. That's because an arbitrary cut-n-paste of solution strings is likely to result, with extremely high probability, in an invalid string. This is the problem of having a sparse solution space. In this particular example, suppose you represent the figure as a sequence of pixels and try to apply a genetic algorithm on that representation. You'll never get anywhere, because most sequence of pixels are meaningless.

    What needs to be done to make the GA work is to develop a solution space representatin in which each parameter can be varied independently of the others. In this case:

    The character's body plan involved 700 distinct parameters that needed to be optimized to teach it how to walk like a human. .

    So its not like the computer learnt to walk by itself. There's a lot of hard work involved before you can even start the GA. Congrats to Reil.

    <shameless plug> On a slightly related note, I'm about to start implementing a GA to develop a killer AI for gtkboard . If you are interested in coding a GA, you are welcome to join :) (Of course it won't be anywhere as complex as the one in the article, but still lots of fun.)

  6. Video Clips from Natural Motion by gopher_hunt · · Score: 5, Informative

    Heres the link to what they were talking about in the article. Walker Evolution

    This next one shows off a lot more of what they can do. Mainly they abuse their models.
    Natural Motion Show Real (14.5M Divx)
    I love the tennis ball in the crotch clip. Insert bob saget joke here.