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...
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...
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.
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.
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 ...
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
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
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).
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...
@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.
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.
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...
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.
@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...
@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...
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.
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)
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.
@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.
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.
@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.
@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.
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.
@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
and how do you build your own creatures?
walker19990 2 weeks ago
have creatures be able to have hands
walker19990 2 weeks ago
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
Kram1032 5 months ago
The apparently not yet developed "goal" feature wouldn't be bad either.
Kram1032 9 months ago
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...
Kram1032 9 months ago
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.
Kram1032 9 months ago
create some predator that kill your creature and the fitness is based on the survival time of the creature
MrBiketool 11 months ago 3
@MrBiketool Thanks for the suggestion!
kjlg74 11 months ago
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.
jodroboxes 1 year ago
Sorry but how can i load multiple creature in scene to make a video like yours?
b4rc0ll0 1 year ago
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 1 year ago
@Danmill23 Thanks :)
I'm fairly certain it won't be too difficult to add an option to enforce totally symmetrical bodies. Should be easy.
kjlg74 1 year ago
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.
danielkirk1 1 year ago
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
yaifibar 1 year ago
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)
yaifibar 1 year ago
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.
tostrong4you 1 year ago
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.
FHomeBrew 1 year ago
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.
ecreif 1 year ago
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.
Strikesnake1994 1 year ago
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 1 year ago
@RoySchl like a 3D functional verions of the blind watchmaker program :)
yaifibar 1 year ago
Making the program as modder friendly as possible would be really great.
TehOwnerer999 1 year ago
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.
m2ger8 1 year ago
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
m2ger8 1 year ago
Dark worms LOL
Fix swimming, perhaps?
TheSuperbloop 1 year ago
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?
StormWolf01 1 year ago
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?
StormWolf01 1 year ago
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.
Noctokage 1 year ago
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 1 year ago 2
@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...
Draconic74 1 year ago
@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 1 year ago
@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 1 year ago
@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 1 year ago
@rooski8, well I guess we'll see what he decides.
theinquisitor 1 year ago
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.
BananaftRu 1 year ago
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.
Cyrathil 1 year ago
Looks exciting! I especially like the idea to handpick a single creature to start a new evolution from.
fractal420 1 year ago
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.
newcoleco 1 year ago
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.
Zetimenvec 1 year ago
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...
Fidellio13 1 year ago
Oh, and I wish too every single one of your suggestions |:)
TemporalOnline 1 year ago
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"
TemporalOnline 1 year ago
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)
RoySchl 1 year ago
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 1 year ago
@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 1 year ago
@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 1 year ago
@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
RoySchl 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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 1 year ago
@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...
RoySchl 1 year ago
@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.
Kram1032 9 months ago
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 1 year ago
@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 :)
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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)
kjlg74 1 year ago
Remember my advice, that multiple runs have the lower fitness counted... on the principal that evolution is most harsh on our bad days. :)
TheReasonWhyGuy 1 year ago
@TheReasonWhyGuy I must definitely implement that, or let the user choose from several options in that regard.
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@VosTalidos A competitive push-the-ball-into-opponent's-court scenario sounds easily doable, and should be fun. No vuvuzelas though!
kjlg74 1 year ago
@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.
m2ger8 1 year ago
Comment removed
TheReasonWhyGuy 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
1:47
you mean like tetrahedra, spheres and Octahedron?
TheReasonWhyGuy 1 year ago
@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 1 year ago
@kjlg74 spheres should be faster for the engine, the thing eating away most computation is the collision detection and response... sphere collisions easy peasy
RoySchl 1 year ago
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 1 year ago
@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 1 year ago
@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 1 year ago
@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.
kjlg74 1 year ago
@VosTalidos That's pretty cool! I've never seen anything like that.
kjlg74 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@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.
kjlg74 1 year ago
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 1 year ago
@DarkGamerX Coevolution in competition for a limited resource (food) instead of just combat-based coevolution. Good one.
kjlg74 1 year ago