Added: 1 year ago
From: kjlg74
Views: 479
Sort by time | Sort by thread (beta)

Link to this comment:

Share to:

All Comments (90)

Sign In or Sign Up now to post a comment!
  • and how do you build your own creatures?

  • have creatures be able to have hands

  • Do you know arxiv dot org?

    It's a science site where all kinds of papers freely available.

    One big part is evolutional algorithms.

    Here is an especially interesting paper you might want to view. As far as I get it, it doesn't sound too complicated to be implemented, and it has the potential to improve creatures more efficiently...

    arxiv dot org/ftp/arxiv/papers/1109/1109­.0085.pdf

  • The apparently not yet developed "goal" feature wouldn't be bad either.

  • Oh, what I'd also love would be a multi-run option where each creature has to directly take multiple tests instead of changing after so-many generations.

    E.g. instead of using the repeat sim option for minimizing luck, make it possible that one of the runs gives fitness to walking far distances while the other one is for catching spheres. - Would be interesting if there is a different outcome between direct or seperated fitess testing...

  • I totally love that list of yours :)

    What I missed in there are:

    An Elitism setting (Don't use a TOTALLY new population but keep the best n creatures of the old population)

    and a different kind of co-evolution (essentially solving puzzles by cooperating, rather than killing each other. - probably way harder to find fitness functions for that, though...)

    Also, maybe the brain settings could be extended... For instance, add arcsin to the mix.

  • create some predator that kill your creature and the fitness is based on the survival time of the creature

  • @MrBiketool Thanks for the suggestion!

  • maybe a funtion that makes multiple creatures in a evolution work together to cross obstacles. like ants do. and better visuals, like organic looking bodies. preset sandboxes that represent different kinds of planets with different gravity and fluids. obstacles in the evolution like trees, bushes, gravel, sand, bodies of water and wind. loads of interesting stuff can be done with this software.

  • Sorry but how can i load multiple creature in scene to make a video like yours?

  • Hey Kj.

    Great channel.  Great program. Been playing with it.

    Wish list.

    1) More user friendly interface. Visual feedback.

    2) Symmetry! Call me shallow, but I need to see those blocks looking less random. Chaotic I mean. I must have symmetry. Must. Creatures are symmetrical. Nuff said. You have 24 hrs! (; jking ...

    Well done.

  • @Danmill23 Thanks :)

    I'm fairly certain it won't be too difficult to add an option to enforce totally symmetrical bodies. Should be easy.

  • I might sound cruel, but what about giving them the ability to feel PAIN! If this happened, they might evolve in a way that makes more sense. For example a creature could feel pain because a certain body part is too big, which encourages the next generation to develop something for that problem. I'm no way an experienced programmer, or evolution hobbyist (except this beauty of a program) but know that pain (or even some other emotional response) would be awesome.

  • and another suggestion: a creature has to take several objects (placed there in the obstacle course maker) and bring them back to within a certain distance of the starting point. this could also result in interesting coevolution, where either they compete and have to balance their time between gathering and hindering the opponent (they could each have a different start point on a symmetrical map), or cooperate, where they also have to develop the most efficient strategy

  • I realy like these ideas you said: nonrender simulation, multicore proccessing, coevolution (which would work nicely with the multicore proccessing), the energy usage option, the custom obstacle course, and the freeze body option for evolving the mind only. And here's my suggestions (which would be fitness measurements going along with the coevolution which I hope you implement): the winning creature is the one who gains possession of a small block (like in Karl Sim's video)

  • I honestly cant wait for these theoretical updates. They sound revolutionary for this program. Especially the parts with it being able to run on multiple cores and without rendering, simply calculating. I'm thinking that, that way they would evolve much faster.

    The options to create your own environment and energy consumption limits is brilliant aswell.

  • Do a polynomial interpolation between the corner vertices of the cubes and bodyparts to make a more fluent and rounder body. Slow on rendering, bottleneck sure, but if you anly use it for rendering the final result, it may look nice.

    Cartoon shading also.

    For the evolution mechanisms: introduce aerodynamics and flight.

  • evolution of evolution parameters and/or functions: e.g. for finding the fastest evolution for the best creatures of certain ffunc or for finding the best evolution parameters for finding the most effective creatures etc. may sound strange but i think it could be useful to find nice evolution parameters or good fitness functions. second suggestion: changing fitness function after certain conditions are true. e.g. highest jump after furthest travel hit 300units.

  • i think more competetive evolution would be good, like two populations fighting ten at a time, winner makes offspring to acheive a higher fitness. that way you could compare two populations more directly and make it realistic.

  • here is another one from me... opposite of a kill function... a promote function... lets you promote a creature so it will be procriating for sure, so you can guide the evolution if you see a creature you like which would otherwise be not that good

  • @RoySchl like a 3D functional verions of the blind watchmaker program :)

  • Making the program as modder friendly as possible would be really great.

  • here's a though. could it be possible to make some kind of function to control the number of bodyparts. at this point it seems to me that it is a good idea to start with a small (a few bodyparts) creature and when it does not seem to be getting any fitter, the function could add a bodypart.

    less bodyparts, faster FPS

    when the creature get's a new bodypart, he/she/it already has some kind of idea what to do with it.

  • the energy consumtion fitness function also seems to be a good idea, then the creature may get the chance to add a bodypart, but "decides" not to, cause it would use too much energy.

    can't wait for all the new possibilities. :) keep up the good work @ kjlg74

  • Dark worms LOL

    Fix swimming, perhaps?

  • Maybe you don't need to implement a "stalking and prey" system at all. Maybe just the possibility for creatures to damage others, and to be able to gain something from consuming ressources. Other creatures being also ressources.

    Maybe that would generate a system with preys (only consuming normal ressources) and predators (who would consume other creatures ass well).

    What do you think? Does it sound silly?

  • Great list. Here are my favourite :

    - Multi threading

    - no rendering

    - User defined fitness function

    - Early killing of looser creatures

    - Sitcky feet ! (i'd love you implementing it)

    - Body simmetry disableling option.

    I think that you'll want to move forward to a software that allow the user to use his own creativity, his own input that will be different from everyone else.

    - What about an autonomous environment with stalkers, preys and ressources?

  • The only Suggestion I have that you didn't already list in the video (and I didn't see in the comments even though I admittedly didn't read them all), would be a fitness function for a sort of "hunting" behavior whereby a creature is tested by it's ability to locate and collect "food". I could see it testing time taken as a negative impact to a starting fitness, or number of "foods" collected in a given time frame bearing positive fitness.

    I have no idea how difficult it would be to implement.

  • How about plant-like organisms? They could be selected for the amount of surface area being exposed to a light source and spreading out to acquire ground resources or something. Perhaps that would work better if they could be simulated in a community, so they would have to compete with each other for resources.

    It would be fascinating to see a forest of simulated plants competing with each other. Towering higher and higher to get to the light.

  • @theinquisitor I very much like the plant idea. That would be very cool to see. I guess I would have to second this suggestion. Try to implement some sort of plant behavior. Would be interesting to force a creation to adapt to plant and animal traits. Like moving far but keeping the most sunlight. That could get really interesting...

  • @theinquisitor

    i dont think that this is a good idea , because this is a creature evolver not a plant one , so kjlg74 should just worry about that .

  • @rooski8, that's a silly objection. The purpose of the software is to simulate evolution. Are you saying that even if it might be interesting to see how plants evolve and this software could achieve that, it's better not to do that because then the name of the software wont be entirely accurate? That seems pretty arse backwards to me.

  • @theinquisitor im just saying that he should put 100% of his effort on the creatures, and if he feels like it then add extras.

  • @rooski8, well I guess we'll see what he decides.

  • 1. energy consumption should make movements more accurate.

    2. body complexity penalty, to keep creatures in reasonable sufficiency. I'm looking at Karl Sims's creatures, they are so neat, nothing superfluous. That's also should optimise rendering time.

    3. please fix the water, and allow to make shallow pond enviorment, or shores to simulate amphibians.

  • I am seeing a lot of people asking for co-evolution, and considering it was one of your suggestions, it might just be wasted energy, but I have to add my support for co-evolution. Being able to see predator/prey and even parasite/host interactions would be absolutely fascinating.

  • Looks exciting! I especially like the idea to handpick a single creature to start a new evolution from.

  • Well, you already know all my suggestions/ideas for this software... I'm sure you remember them all. :)

    Well, there is something I would like to see is a competion within the evolution process, where 2 or more creatures are evolving all at the same time, causing troubles between them if necessary in order to survive. For example, adding the need to find and assimilate food/energy and so make the creatures smart to get food and preserve energy, moving effeciently in order to be the best fit.

  • One thing that bothered me while using 3DVCE was the a-symmetry that was born because parts of the body were cropped off due to overlap in the original model. I would rather the program just reject the model it created on the basis that it's a-symmetrical.

  • If you can set up the water (and therefore air) physics rendering, you should set up a fitness schedule of least time on the ground. That would, hopefully, select for fliers...

  • Oh, and I wish too every single one of your suggestions |:)

  • I wish 3dvce could save profiles, like I want without shadows, and background, 3dvce could remember my settings;

    And have direct control over my population, where I could choose, sometimes, one or an amount of creatures to start the next generation, with breeding starting NOW or in the next generation, after showing this one;

    This could include "I want to have 25 individuals like this and 25 from that other one or breedings from this one and the best of the other from the previous generation"

  • a combination of metabulism (body parts use energy) and food (get energy from it)

    you just need a sensory bodypart that gives high signal values if beeing near food if creatures having 2 of those can find food because one will always have a bigger value unless it moves in the right direction.

    in combination with this new fitness term lifespan... to prevent immortal creatures which are too good at finding food, they could age (body needs more energy with age)

  • in addition another sensor could be used to sens other creatures (if you would simulate some more at a time) and they could eat each other after "fighting" (bodyparts that do damage to other creatures [decreasing energy]) dead creatures become food...

    but all this ideas are more things for a kind of "world" simulation i guess, not so much for a one creature at a time for a specific time aproach

  • @RoySchl I'd love to see stuff like that too. I suspect the non-rendering-simulation speed boost won't be enough to allow too many creatures at once. I'm guessing I'll have to stick to one creature at a time (or one per processor core) for the near future. It's only a matter of time until enough computing power is available, though. I look forward to seeing whole "flocks" and ecosystems :)

  • @kjlg74 one thing i noticed when using you software: it seems you render a frame and calculate the next timestep then next frame and next timestep... this way it is extremely slow

    my approach was, 2 threads... one is just calculating non stop like the other one is rendering a frame every x milliseconds, this way they dont interfere (espacially on a multicore system) and it is pretty fast...

  • @RoySchl i can do 10 or 20 creatures and it still looks smooth, when i just take 1 and dont activate a delay between timesteps, i dont see much, so prepare for speed

  • oh and btw. best idea on your list is the non render simulation option, this will speed it up like crazy, as an alternative (maybe thats already in the software i dont remember) you could make an option to just render a frame every x simulation ticks...

  • @RoySchl I hope you're right and it does speed it up significantly. I'm not entirely sure how much of a boost it will be - but I'll find out. That one is a MUST.

  • oh and i would really like to see a graph representation of the creature and or its brain structure...

    you could build a seperate programm with which you could edit a creature...

    hehe btw. i am just posting all the ideas i had and have for my own evolution program thingy

  • @RoySchl Good ideas! Especially the creature editor. Several people have suggested it. It will be a lot of work (unless I make it very crude) but I really should put something in place so people can tinker with bodies and brains directly.

  • damn it here is another one hehe... you could restrict the crossover process to creatures with similar "dna" with a similarity measure of your choice, so you could perhaps see some kind of speciation...

    or alternatively make 2 populations co-evolving

  • @RoySchl I could do that, although I suspect there wouldn't be two species for long. As soon as one becomes slightly better than the other, it will take over the population after a while. Even if both have exactly the same fitness, chance will eventually drive one to fixation (100% of population) as well.

    With two deliberately separated populations, though, it would be alright. To co-evolve, however, they need to be interacting in some way - combat, cooperation, parasitism, competition, etc.

  • @kjlg74 yepp, i guess for all of that you would have to restructure in a major way, you would need a "big" world where creatures actually live in, reproduce with creatures in their spacial surrounding etc...

    i drool when i think of this stuff in regard to my program, but i would need 4 brains and much much free time for all of this...

  • @kjlg74 (answer to a comment to RoySchl):

    There are ways that worlds are just partially seperated. Two different creatures could interact and try to solve three different problems. One is better at one, the other at the second but both keep fighting about the third, in some way contradicting the other problems. That way, they'll keep fighting about the corresponding territory until one eventually develops a good solution. - But both populations will keep alive.

  • Please fix or at least optimize the water simulation. Most of the evolutions I tried to run in water resulted in creatures that, "sink" very well but they hardly move.

  • @belliebum12 Water physics has been real disaster in 3DVCE. At the moment it's way down the priority list, but I'll come back to it again eventually :)

  • able to place objects to attract or scare away as a first step to foodgathering/predatoravoidans using one bodypart for sense of smell/sight or whaterver you wanna call it. Just the very basic step to start with.

    The norender/multithreading sounds awesome. Maybe even have an option to run a process as screensaver.

  • @dalkordigo Thanks!

    I should look into how Windows does screensavers - maybe it wouldn't be too hard to incorporate the necessary code to make it happen.

  • This is a long shot but, perhaps giving the creature simple contact distance measuring "eyes"

    Meaning that a line is drawn until it intersects the ground of an object/obstacle.

    This could be used by the creatures brain to allow more complex reactions, and maybe a basic understanding of it's environment... REALLY REALLY basic XD

  • @TheReasonWhyGuy Oooo! Actually, that's probably not too difficult. Could be interesting, especially if the sensor returned two values: 1) distance and 2) some kind of category of what object was "seen" (self, nothing, ground, other creature, obstacle, etc)

  • Remember my advice, that multiple runs have the lower fitness counted... on the principal that evolution is most harsh on our bad days. :)

  • @TheReasonWhyGuy I must definitely implement that, or let the user choose from several options in that regard.

  • Well, I already gave you my suggestion of optional visual cube rendering+membrane like sphere that can stretch in the comments of your last video, so yeah lol.

  • @MrTear3 Thanks again! It's good to have a lot of earlier suggestions gathered together in one place here for easy reference even if it's slightly redundant.

  • Another idea is to have a gathering test where the creature has to go out and collect as many objects as possible. The fitness score goes up faster when more objects are being carried.

    Instead of trying to hold up as many spheres as possible, how about trying to get them into a goal. Either by physically carrying them or by batting them into the goal. This could be a competitive match between two creatures that have to keep their side of the court clean, and push spheres to the opponent's side.

  • @VosTalidos A competitive push-the-ball-into-opponent's-­court scenario sounds easily doable, and should be fun. No vuvuzelas though!

  • @kjlg74 I use this opportunity to repeat one idea I had some time ago, that would be to evolve a creature who has to push or kick the ball (sphere) as far as possible, maybe in a certain direction, the sphere not disappearing on contact with ground.

  • Comment removed

  • 2:28

    Have the kill function a variable which is dependent on previous generations max fit, and a setting the player sets... like 0-99% if previous generations max fit within 1-max time

    Giving that degree of control would allow both creatures with a slow start before their standard gait, and creatures with a fast start of gait to be evolved.

  • @TheReasonWhyGuy Good idea. There ought to be a way to let the user place some constraints on *when* the kill can occur and *how* bad the fitness would have to be, either in an absolute way or relative to the previous generation's results (maybe let the user specify a fitness percentile threshold or %-of-max like you suggest, or %-of-average or something like that). Whatever I do, it should work for both fitness minimization and maximization.

  • 1:47

    you mean like tetrahedra, spheres and Octahedron?

  • @TheReasonWhyGuy (elongated) spheres at the very least - maybe more complex shapes if it's not too hard to code or too slow for the physics engine.

  • @kjlg74 spheres should be faster for the engine, the thing eating away most computation is the collision detection and response... sphere collisions easy peasy

  • Suggestion... allow the root of a creature, "or any part if you think that would be easier", to sense the difference in facing direction, and origin direction... thus allowing the creatures brain to understand which way it came from... or to have some specific goal point.

  • @TheReasonWhyGuy I don't have it anymore, but I had one creature that was designed for distance traveled on flat ground and he would always walk in the same direction (I'll call it East). I only found out when I was picking him up, throwing him around, and generally seeing how well he'd be able to respond when I realized he would always return to the same direction. I could spin him North, South, or even due West and he'd just make a tight circle and start walking East again.

  • @VosTalidos that's odd, however I would ask Lee what is causing that, and if he didn't know, I would then still encourage the input of a direction of origin sensor.

  • @TheReasonWhyGuy I will have to look into how I did the body-part orientation senses. I used a kind of orientation sensor available in OPAL that I'm not 100% familiar with - perhaps they actually can use it like a compass. I'm guessing the ability to use it that way is very difficult to evolve given that VosTalidos' creature is the only one I know of that clearly uses it that way.

  • @VosTalidos That's pretty cool! I've never seen anything like that.

  • @TheReasonWhyGuy Some kind of general-purpose goal-direction and goal-proximity sense would be useful in a variety of situations. I'll definitely have to come up with something along those lines.

  • A couple ideas come to mind off the top of my head. One is a take on the rough terrain you currently have, but with separated columns the creature has to navigate without falling through the cracks instead of (or as well as) getting steeper along the way. It might be worth it to include an option where touching the ground causes death, or a bug hit to your fitness score. That would also help to entice creatures to use any obstacle course bridges or balance beams people come up with.

  • @VosTalidos That sounds like an interesting kind of obstacle course. I'll have to think about how to implement it. Shouldn't be too hard, I think.

  • I am sure there is a way to do this already, but making it simpler/more support for a creature editing capability. Combined with freezing body physical development you could just evolve a brain after a person makes a suitable or specific body type.

    Also if you make body parts "sticky", essentially making hands or claws, could you make the amount of mass "stuck" drain more energy (assuming you put that in of course) so picking up small things would take little energy/large things allot.

  • @KaletheQuick Yes, some kind of creature editor, even if crude at first, is something I should dedicate some time too. Could be fun!

    I will have to come up with some way to measure energy consumption like you suggest, although I'm thinking maybe just query each servo motor to see how much force it's exerting from moment to moment.

  • I am totally in for the energy consumption feature. I see creatures with extra blocks on them that do nothing for them, having these vestigial features evolved out by requiring energy for spawning or something could help keep body and brain design simple and reduce unneeded cpu cycles.

    Eventually letting the brain grow and putting in some sort of social medium would be nice, sexual reproduction, food, competition... difficult but amazing.

  • @KaletheQuick Once some kind of energy consumption measure is available, it should get interesting in that regard.

    Sexual reproduction is in there now to some extent. Well, genetic recombination at least although there are no "sexes". Some offspring have more than one parent.

    Food and competition: good ideas, and probably not too hard to accomplish too.

  • Can you give the animals nerves so they can feel? Maybe you should try to make animals that really exist, that would be cool.

  • @TheAlaricPetz You mean feel "pain"? That might make sense in some circumstances, yeah. Perhaps something like that will fit in well with some other features, like combat for example. (they have something like nerves now - senses of touch, orientation, and proprioception)

    As for real-world-like creatures - to a limited extent that might be doable if I implement a creature editor feature, which I really should try to do.

  • Something you could do is "food survival" where there can be two different modes. One would be a competition between an N number of creatures and the goal is to get as much food and use as little energy before time runs out, and the top 2 or 3 get an auto in into the next round. The other would be a single creature as you have it now with the same goals, most food/least energy wasted. Although I guess you can already do the second part if you add energy monitoring and do the catch ball mode.GJ

  • @DarkGamerX Coevolution in competition for a limited resource (food) instead of just combat-based coevolution. Good one.

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