Indie game storeFree gamesFun gamesHorror games
Game developmentAssetsComics
SalesBundles
Jobs
Tags

Evolution

Create creatures and let them evolve to see how they master various tasks. · By Keiwan

Suggestions & Ideas Sticky

A topic by Keiwan created May 06, 2018 Views: 22,931 Replies: 248
Viewing posts 121 to 182 of 182 · Previous page · First page
(-1)

maybe you could choose a landscape or climate and theyll adapt to the temperature and landscape as well or you could add predators for them to avoid 

(1 edit) (+2)

Make the ability to change the parameters of the joints, bones, muscles, etc. before installing them.
Make the ability to select multiple objects with shift key pressed, and if the allocated refers to the same type of objects give the ability to change parameters on all selected objects.

I think a good idea would be to add tabs, as in be able to create and evolve multiple creatures at a time, because some creatures slowly evolve and then you could work on another one. I do realise that this might make it really laggy if you have lots running at the same time but i think it is worth it if you just use batches and dont do to many at a time :)

Thanks, it would be really great if you could add this

To do that, select "simulate in batches" in the pause menu.

No, i mean be able to simulate completely different creatures at the same time 

It would be nice if we could select 1 creature to be a parent in a generation.

(1 edit) (+1)

add multi selection editing. so i can select multiple things edit them.

like weight and strength.

(-1)

Is there a log output file, cause if not i would like to know why my significantly powerful pc was completely frozen when I got home from a 9 hour shift. Not only that but it was only on stage 302.  Given the time frame it was supposed to be on stage 2163. I'd like to know the method of movement that gave my computer a brain aneurysm. So if there is a output file can you point me in a direction if not then it wouldn't be a bad idea to have one.

(-1)

A copy and paste button for mobile

(-1)

you should make it so you can speed up time

(-1)

y don't u put meter lines/checkpoints on both sides of the starting point instead? it'll make it fair for the creatures  traveling a different direction.

(1 edit) (-1)

the best creature in the current gen can be on the screen next to the best creature in the last gen. You should also make it so you can control how the simulation determines the best creatures each gen in the settings. Example: u could put fitness proportional so the best creature is determined by its fitness & other options.

(+1)

u should add the option to control how ur creatures reproduce (Sexually &/or Asexually)

why

Because genetics work differently when organisms reproduce differently..just a suggestion

(1 edit) (+1)

Some simple requests:

1. Timer. It makes it more fun to watch, almost like a race. In the last few seconds, the current generation might do better!

2. Current Fittest Highlight. Highlight the creature in the current generation that is currently the fittest (e.g. furthest along track). This makes it more fun and clearer to compare the current generation with the previous best, again a bit like a race.

3. Continue Simulation. Once we click "Back" the only way to get back into the simulation and carry on where you left off is to load it. Can we not please just click Evolve again, if the creature has not been changed?

4. Improvement Indicator. Clearly notify us if a newly evolved creature has outdone the existing best, and if so by how much, e.g. 1% improvement in fitness.

More complex requests:

5. Simulation Speed Dial. Please let us turn up the speed of simulation so we can quickly discover if creatures are evolving in the right direction, or need to be fundamentally changed.

6. Custom Optimisation Goals. Let us control/add the parameters to create new challenges. I would love to combine switches for: Maximise/Minimise Horizontal/Vertical Distance; Keep Selected Joint Above/Below/Front/Back.

7. Manual Centre of  Gravity. Let us manually position this point (i.e. the point where the flag marker is placed) by selecting a number of joints (the marker is placed at the mean position of selected joints). This means e.g. I can force the marker to be between my creature's two feet (if I want it to walk) and it won't always think it's being fitter by finishing its attempt with falling forward.

Much more complex requests:

8. Give Creatures Hints. Let us pause the simulation and select a muscle, causing it to toggle its contract/expand state. This change would be backpropagated to create a manual mutation ("the hand of god"!) and is like the player saying "try this" rather than waiting and hoping for a random mutution to cause it. This instantly creates a new generation with a new offspring containing the manual mutation.

9. Hardware Utilisation. When I dial up the parameters the simulation slows down a lot. I'm running a Core i9 9900K at 4.7GHz on 8 cores, with an RTX graphics card. While the simulation slows down, I can see that Evolution is not using more than 20-30% of my CPU/GPU. Can you make more use of multiple threads, and the tensor cores in RTX cards which are designed for ML?

Thanks -- what a fantastic game.

(+3)

a penalty joint. if it touches the ground, the creature is punished.
I want my creature to run upright

also useful for when the creatures want to DRAG ON THE GROUND..

(-1)

i want a rotation of joints

(+1)(-1)

I would really like if the brain could recognize if his shape is a circle that can roll. The current brain seems to keep wanting a "UP" and "DOWN" part of the body, and tries to "keep its balance", compared to a round shape that have to think relative to its position inside a rotation to keep rotating/accelerating.

Maybe adding some clickable option to enable it if it's the case.

(-1)

There is no 32bit version for windows?

(-1)

Some sort of wing thing

(+1)(-1)

An option to set a part of your body to deduce fitness if it touches the ground during the simulation.  Really wanted to experiment with bipeds where the legs are actually in line with each other but the AI seems to find it more efficient to just fall forward far before it ever gets a chance to actually learn how to balance.

(-1)

I have no idea whether you're still working on this or not, but I'll add this anyway. I'm not exactly sure how complicated this would be to do, considering I don't know how to code games and it could require revamping to code as a whole or something... but is there anyway to run the game with more cores than it's already running on? Because the game extremely laggy but it's only using 20% of my cpu and I want to run some large simulations!

(-1)

Seeing what appears to be an evolution inefficiency when reviewing best creatures of generations, especially for climbing when all creatures are at 0% fitness (initialization) and when all creatures are at 100% fitness (yet with more untapped potential in the body that creatures which do tap into it seem to go unrewarded for tapping into it), I'd like to suggest an alternative fitness measurement to address this; ((self)-(worst))/((best)-(worst))=x% [within generation].

That is, for either climbing or running; the creature within the generation that moves the most to the right (or falls the least to the left) will always be marked as 100%, and the creature that moves the least to the right (or falls the most to the left) will always be marked as 0%. For creatures between, their fitness is the % of the best that they reach after subtracting the worst from both itself and the best; so if the best climber falls -2m to the left and the worst climber falls -8m to the left, a creature that gets -5m will have a fitness of ((-5)-(-8))/((-2)-(-8))=3/6=1/2=50%. The best gets ((-2)-(-8))/((-2)-(-8))=100%, while the worst gets ((-8)-(-8))/((-2)-(-8))=0%; thus mechanically serving as the clamps for their generation.

I believe this would help optimize evolution efficiency most notably in climbing initiation, where with the current method if all creatures get 0% it doesn't (seem to, as far as I can tell,) matter if one fell -5m left and another fell -15m left. Having fitness effectively 'unclamped' while being mechanically bound between 0 and 1 by the nature of the formula itself anyway, I believe would also incentivize constant improvement at the task; currently, if fitness does reach 100% at any task then no further improvement seems to be expressly selected even if the body still has more potential that several creatures go effectively unrewarded for tapping into.

(+1)(-1)

Be able to rotate and/or flip your creatures. Because I built a creature that went backwards better than forwards and I wish I could just rotate it.

(+1)(-1)

As many already have asked for, a "head."

Evolution tends to favor those that don't die, but in the simulator there is no death or risk, causing many "species" to move using methods that should kill any.

This could also give the obstacle jump a boost in evolution, forcing creatures to learn to jump earlier/faster.


(-2)

smarter brain

(+1)(-1)

you should make it so you can speed up the simulation speed

(-1)

You can't exactly do this. It is like asking a baby to move faster.

It takes a long time but the baby (your creature) will learn.

You actually can, Unity MLAgents does it by default. Code Bullet's Creature Creator also has that option. Simulations aren't babies

(+1)

I know this is SUPER old, but I personally feel like it would be better if there was a checkbox option to have limbs have collision with other parts of the body, instead of it going through itself. I request this because it just makes sense, it would bring more stability in the creatures.

(+1)

Hi Keiwan, just getting back into the game after a little break. It would be nice to see the current speed of the creature being viewed. I have a creature that starts slow and then goes really fast, so I would like to know the max speed that the creature reaches. In fact, maybe there could be a max speed achieved and current speed added into the game? Thanks

Very interesting game. Thanks.

You could consider having a contest : e.g. fastest creature running for 20s.  What do you think?

(1 edit)

i know this hasn't been updated in forever but maybe an option to make certain bones kill the creature when it touches the ground, to get rid of creatures crawling on their face

(+1)

Played this game since 13, an amazing project to have fun and explore biology and AI. It would be cool to add some kind of dimensionality, but all-in-all the game is super fun.

(+1)

I think that the joints slip too much on the ground. Maybe the game would benefit from an increase of adhesion?

(+1)

Another suggestion: 

When stopping a simulation at the nth generation, it would be cool to be able to move some joints while keeping the neurones weights and so resume the simulation from this nth generation. In other words, neurones weights are erased in case joints, bones or muscles are deleted or added, but not in case of just moving the joints around. 

I would like to grow my creature using different "learning rates", and by that I mean mutation rate. For that it would be very useful to have a dashboard, similar to tensorflow dashboard. I'm sure you know exactly what I'm referring to. 

Keeping track of the settings and fitness would be very helpful in growing a successful creature.

Support for adaptive learning rate mutation rate based on the fitness would be too much to ask, but would be amazing.


Thank you!

maybe add a grid option to the build screen

A Debug menu would be cool

Like, let's say we have a random evolution. What if you could add no gravity or a part maker

But, a customizable task editor is just dope. Ex: you could make a ramp.

(5 edits) (+1)

Two modes in which the creatures move in fluid, one with gravity and one without.

The ability to see a creature's neural net during a simulation.

Modifiable part friction and adhesion.

(+1)

Great "game" !

Some features that would interest me :

- non mobile joints (to make fixed angles with bones)

- to be able to edit (add or delete or move joints, bones, or muscles) after several steps (generations). This could be useful to first learn "basic" behavior (like walking) to a quite simple but secured pile of bones, joints and muscles (secured in the sense they cannot fall easily), and then remove or add components so they are more efficient.

- to record data in a csv file, data like the best scores over time, or all scores over time ...

- and would it be possible to have a look to the configuration of the "neural net" of best creatures (as a list of parameters for example)

Have an option where the creature could mutate extra limbs or muscles

PLEASE ADD THE OPTION TO ROTATE :DD

(-1)

Put it on tablets and phone ok

(+1)

Possibly letting the simulation run in the background on mobile.

(+2)

Simple dark mode that just toggles a final `1-x` line in an existing shader for minimal impact.

Network input for if any joint within a group is touching the ground, rather than simply how many are. I imagine it's useful to know which foot is touching the ground rather than only how many are. For backwards compatibility all unspecified joints are in the same group.

Activation functions for the networks. I tried to find if there's already some form of nonlinearity in the network but I can't parse Unity code and didn't see any in the brain code. Simple choices include ReLU for just clamping the minimum value to zero; Leaky ReLU which is just ReLU but lerp the original value in a little; Sine; GeLU as approximated with `0.5 * x * (1 + tanh(sqrt(2 / pi) * (x + 0.044715 * x^3)))` which allows for some negative values but fades to zero as it becomes more negative. The final outputs shouldn't have these on them.

Biases to go along with weights in the network s. Simple values to add to the output of each fully connected layer (before activation function if added).

There are more complicated things that might be interesting, like gated units where the output of one layer is put through an activation function and then multiplied with the output of another layer in order to block off an output in certain situations, but at a certain point a line has to be drawn for simplicity. 

A option to not choose creatures who topple over to not be selected as the best since at least 100% of all my creatures end up using falling over as a strategy by wave 2 because one fell forwards before one was walking normally, so I have to restart the batch in hopes they dont fall over.

Select a joint and increase the fitness penalty. This reduces the fitness rating when that joint touches the ground.

(1 edit)

This "game" is awesome, Two requests here please:

01- the possibility to use multiples cpu and cpu threads.

When simulation  in BATCHES is active you can run more simulations BATCHES per cpu core or using cpu mult threads to improve speed of simulation. my cpu has 16  threads and the current version is using only one.

the next one I don't know if is possible:

02- global online simulation, maybe this one is a little to much and it needs be a paid service 

we can use a online server  or another way to allow multiples computers or cell phones to improve and simulate the same creature, for example, I create a monster, upload this monster online or active a button "global online simulation"  and any one can make a online simulation and continue the same evolution, not start another simulation but improve the same creature and the best fitness version will be selected, imagine 10000 simulations at once running in the world, could be a very nice addition, very complex I know...

BYE I love this "game"!!!

add a button to "praise or scold" the ai's learning, so you can aid it into doing what you want

yes, that would help a LOT

Sometimes. my creature goes walking off at full speed and i think yes perfect i did it, but it's in the wrong direction so it doesnt count. Maybe it could evolve to flip? Or the workshop has a flip button?

There should be a swimming mode, in which your creatures swim, like how there's a flying and running mode.

(1 edit) (+1)

Surely duplicates, but I'll list just in case anything's not covered:

  • Button to turn off rendering and simulate at max speed?
  • Optionally mutate joints (positions & weights), bones (weight), muscles (strength & extendability).  I get this isn't trivial, but would be cool.  Maybe have the mutations stored along with the neural net, so the the actual creature's physical structure = designed structure + evolved deltas.  (Sorry if I'm making bad guesses about how your code works :))
  • Would be nice if you could zoom out more or make grid smaller.
  • Selection masking by type (select multiple muscles or multiple bones) + if multiple things of same type are selected, allow editing a property of all selected objects.
  • Copy/paste selected objects.  E.g. one could design a 4-bone leg and then replicate it.

Really, the first two would be enough to make a huge improvement, I think.

toggeable

for max speed you can use speed hack from cheat engine, it works really well

(-1)

Que la version de windows sea gratis

(1 edit) (+1)

I would like to see a swimming game mode and also colliding bones, I had ideas where you can make a catapult launch a creature which can then walk and another idea where you have a creature in a train like shape and the creature can push the train

make it toggeable

I'd love to be able to share creatures:

- copy/paste a creature's structure, to be able to share it here, in this forum (as a long encoded string ?)

- export creature as a file (with "program", ie leaning result) ?

(+2)

What about brain editor? i would love to be able to (try to) make a creature move how i want it to. Also add inverted groups(if group 1 contracts group inverted 1 extends).

(+1)

Try out "Crescent Loom" it's basically what you want :)

looks cool, problem is i cant afford it

WAIT I CAN PLAY IT ONLINE

(-1)

download for chrome please

A discord server would be great even to upload creature for others to download

(1 edit)

It's of course unofficial, but upon seeing this; I went ahead and just made one: https://discord.gg/zG4zXCmFa9

make the camera pan vertically and horizontally instead of just horizontally

I don't know if you are still performing updates or if you will see this, but one idea I have would be to be able to change the neural network of an evolution.

With this, it would be possible to teach the basics of body movement with a simple neural structure and further on leaving the neural network more complex and taking advantage of the previous knowledge used

One more idea, when saving the evolution of a body, the name of the evolution is the name of the body, date and generation. which I would like it to be possible to change how the saved name will be, an example would be the name of the body, generation and structure of the neural network

(3 edits)

When performing an evolution with many entities, the time per generation is wrong because of the slowdown due to the amount of entities. And to solve this problem it is necessary to optimize or separate the tasks to be carried out, which can be done with the cpu cores. Instead of a single core having to perform the calculations for 100 entities, let the task be divided equally among the other available cores. My computer contains 14 cores, each core could be performing the calculations of approximately 7 entities instead of 100. When performing the evolution with the quoted amount, the game only uses:

CPU -  10%-15%  -- 65% available

GPU -  4%-8%  -- 86% available

MEM -  2%-3%  -- 93% available

it is visible when you have around 100 entities and quote 5 seconds per generation, which in the end takes 12 seconds to switch to the next generation.

I would recommend relying on the computer's internal time for the time to work properly.

if (startTime - currentTime >= GenerationTime)
    nextGeneration()
(1 edit)

You may be using the video card to help with tasks other than rendering the game, as the video card usage reaches 15%.

I hope to have a choice of Chinese language

I would like a gliding gamemode. what i am talking about is run off a cliff and glide. and for this probably add skin so you can attach it to 2 points and making it look like bat wings.

I would enjoy an option to change the friction of the running surface, and it would be cool if I could choose some bones to be solid (so other bones cannot pass through them) so we can create joints with a limited range of motion. Not sure how hard that is to do tho.

Would be nice with an uninstaller or something because your evolutions, if ran a fair bit, will take a considerable amount of disk space and those evolutions are saved in the appdata folder, but the user has no idea of this.

Zero-gravity mode without floor

Viewing posts 121 to 182 of 182 · Previous page · First page