Added: 4 years ago
From: kjlg74
Views: 3,286
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (22)

Sign In or Sign Up now to post a comment!
  • I love how well the music is timed with the first movements. I really wanted to make something like this thinking it would be easy. Just something that tries to get as high into the air as possible. I started but it's still got a ways to go.

  • @MaestroAlvis Thanks!

    And feel free to send your creature my way if it evolves into anything interesting.

  • sorry for noob question, but how do you spawn more than 1 creature ? like at 0:48 ?

    love your software btw, im evolving some creatures right now. i'll be sure to send you as soon as they are efficient xD

  • To get multiple creatures, you have to make certain modifications to the constants.txt file. Unfortunately, it's only really useful for recording videos - the frame rate drops *painfully* when there are multiple creatures - like a slide show. It only comes out right on youtube because I string the recorded snapshots together at 30 frames per second when I generate a video. If you're still interested, I can explain more, but it's not as great a feature as it looks in the videos.

  • i am ! it looks great even if it's just for video purposes for now, maybe when we all have 8 cores as standard cpus it will be possible to simulate an entire population at the same time xD. what i really would like to know better is how the brain components work. i've been looking for a manual but haven't had any luck finding one :(

    thanks for reply and great software :D

  • I will have to split this explanation into several comments, but here goes..

    If you open constants.txt, you can find a line that begins with "doing_special_loading". There is a number beside it - by default it's a zero. If you change it, remember you'll probably want to change it back when you're done. If you change the zero to a one, the program will load many creatures in rows and columns as in many of my videos. The lines labeled "load_creature_rows" and "load_creature_cols" let you...

  • ...specify how many rows and columns of creatures. I typically will not go beyond ~300 creatures for fear of crashing my PC - your performance may vary, and it well depend on how complex the creatures are too.

    The lines labeled "load_row_spacing" and "load_col_spacing" let you specify how far apart the creatures are. Try a value of 40.0 just to see, and then adjust if needed.

    If you set "doing_special_loading" to 2 instead, you will load creatures arranged in a circle instead of a grid...

  • ...and the line "load_creature_count" specifies how many creatures to spread around the circle, and "load_creature_radius" specifies how big the circle is.

    If "doing_special_loading" is 3, you get to specify individual creatures to be loaded and where each one is placed. "num_specified_creatures" indicates how many you want, and then you have to have that many copies of the next four lines: 1) "spec_load_creature_x" --> x position of creature, 2) "spec_load_creature_y" --> y position...

  • ...of creature, 3) "spec_load_creature_angle" --> angle of the creature (in degrees, if I recall correctly), and 4) "spec_load_creature_file" --> the actual .creature file.

    For any of these multiple-creature loading options, the way it works is first) modify constants.txt as above, second) run 3DVCE, third) load correct settings for the creatures you're about to load, and then fourth) load a creature. Instead of loading one, it will load many - it may appear 2B frozen as it loads them...

  • ...so give it some time.

    Watch out for the painfully slow frame rate, and don't forget to change "doing_special_loading" back to zero before you try to launch or continue an evolution.

  • As for creature brains, there's a bit of explanation in my how-to videos, but not a lot. To understand the general principles, I'd say to hunt down some intro documents, videos, or tutorials on something called "genetic programming". Basically they evolve small computer programs to control various aspects of their "muscles", one for desired joint angles, one for max torque, one for extra calculations. Each type of body part has its own unique copies of such programs...

  • ...and that's the super-short in-a-nutshell explanation.

  • wow O_o biggest reply ever !

    thank you very much. i will now spend my night messing with the file and searching for genetic programming even though i dont understand much about that. thanks again !

  • :D

    Actually, I'm normally rotten for replying on youtube (a combination of laziness and the rest of life eating up my time). But anyway... about the genetic programming stuff - it involves representation computer programs as tree structures. For example, there might be a "*" (multiplication) node in the tree that has two sub-branches. Each branch computes something, and the two results get multiplied. That result then gets pass on up the tree. Well - YT comments are not adequate...

  • ...so instead of trying to explain more, I'll stick with my original advice - find some kind of tutorial on-line. Gotta be some out there.

  • "representation --> representING" (typo)

    That's another one of my flaws: I can *never* (never never ever!) type anything without making typos ;P

  • couldnt you take the up speed of the center of mass as measure for jumping ability?

  • Yes, I expect so. There are probably a number of ways it could be done - each with it's own forms of "cheating" that might be provoked ;)

  • Thanks for your reply! How very interesting!

    A few years from now you'll be able to simulate a huge world, with different habitats, predation, parasitism!

    To program an entire AI will be impossible for a person. I believe we will achieve it through brute force and simulated evolution.

    Personally i'd make increasingly complex puzzles with the hint that a reward would come from solving them. Like crates with food with a trick lock or something.

    The smartest should eat and mate more.

  • I agree. I think simulated evolution (and other 'messy' forms of automated search/learning) are important parts of the AI development toolkit.

    I hope you're right about the computing power in the coming years. Doing a whole population at once with different habitats and so on would be great.

  • I guess you know that computer power doubles every 2 years. In fact that acceleration is a bit accelerated. And that's while it's humans who do the research.

    Eventually computers will be able to do their own research, and the singularity should come quickly. We'll have to find a way to fuse with the computers, or be left behind.

    In any case creating something greater than ourselves is worth the effort, i believe.

  • Been reading Kurzweil, eh? :)

    I like the whole singularity idea. I'm not entirely convinced about some of the more optimistic timeline predictions, but that's almost a minor quibble (aside from the cool progress I won't get to see in my lifetime, which is not sure a minor loss IMO!). I think the sorts of things predicted by Kurzweil & others (human-machine fusion, run-away explosive tech power and machine intelligence) are inevitable, at least in the long run. Still, short run would be nice :)

  • (typo) "not sure a" --> "not such a"

  • Did i read Kurzweil? Couldn't say. Just pressing "stumble" in my StumbleUpon bar. xD

    Bear in mind that life spans get wider over time (did that come out right? Sorry, English isn't my native language). Today it's 75. When you're 75, it will be, i don't know. Perhaps 100. When you reach 100... Well, you see my point.

  • Oh yes, I definitely see your point :)

    You might enjoy Kurzweil's writings, btw. You might want to google him. Whether he ends up being right or wrong, or just off in terms of timescales, he's got a lot of very interesting technological speculations/predictions/extra­polations.

  • EXCELLENT!!! The fitness function was perfectly clear, and very creative!

    Do the creatures have senses?

    It would be awesome if they could evolve to look for other creatures and stand over them to reach higher (if you count "standing over another creature" as "touching the ground", which would obviously be the only way they could learn to do that).

  • Thanks :)

    They have three senses. They can tell if a block is touching the ground or not, they can sense the angle of any joint, and they can sense the 'tilt' or orientation of any body part.

    Some kind of predator-prey interaction, or at least a one-on-one competition is something I'd definitely like to try in a future version.

  • Aaah, my favourite so far, due to the nice flow.

    Anyways, you've seen the old video of evolving creatures, ending in evolving in a competition for grabbing a box? Can't find the link ( !"#¤ ) and gotta run, but I ASSUME you have seen it ...... ( sent you a mail btw :) )

  • Oh yes, I've seen the videos you're referring to. It's the famous Karl Sims creature evolution work from 1994. Those are excellent videos, and they inspired the look and feel of a number of similar projects since that time, including mine.

    Also, I see your mail in my in-box, and I'll likely get a chance to reply tomorrow :)

  • Loading comment...
Loading...
Alert icon
0 / 00Unsaved Playlist Return to active list
    1. Your queue is empty. Add videos to your queue using this button:
      or sign in to load a different list.
    Loading...Loading...Saving...
    • Clear all videos from this list
    • Learn more