How I created an evolving neural network ecosystem

Sdílet
Vložit
  • čas přidán 18. 06. 2024
  • After my last video I got a lot of comments (mainly on Reddit) asking me to make a video explaining how I did it.
    It took me a while to learn how to video edit, voice act, and animate, so it was about time I presented and explained this project.
    Made in C# on Unity
    I highly inspired my algorithm from the following document :
    Stanley K. O. and Miikkulainen R. (2002). Evolving Neural
    Networks through Augmenting Topologies. MIT Press journals
    =================================
    The Bibites is an Artificial Life (Living AI!) simulation where I recreate some biological processes and let the lifeforms live, eat, reproduce, and mutate, leading to active evolution.
    Their can evolve their body through a genetic algorithm and their behavior through a custom neural network algorithm.
    =================================
    Follow me on Twitter : / thebibites
    Support the project on Patreon : / thebibites
    Join the community on Reddit : / thebibites
    Download and play the game : leocaussan.itch.io/the-bibites
    Subscribe to the channel: / @thebibitesdigitallife
    Music: "Perspectives" by Kevin MacLeod
    incompetech.com/music/royalty-...
  • Věda a technologie

Komentáře • 925

  • @nikosaarinen3258
    @nikosaarinen3258 Před 4 lety +439

    You could use shape to show the speed. A faster Bibit could be more slender.

    • @bearnaff9387
      @bearnaff9387 Před 4 lety +22

      Alternately, flickering the color inside the bibit could indicate speed or some other process driving the bibit.

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

      and then slower bibits could be more t h i c c

    • @Squirtledrool
      @Squirtledrool Před 2 lety +8

      @draqon ofwhitestars sounds personnel

    • @aytj2073
      @aytj2073 Před rokem

      @draqon ofwhitestars you fat?

    • @ChimneyCrab737
      @ChimneyCrab737 Před rokem +5

      @draqon ofwhitestars lmao someone has some insecurities

  • @CamelCaseCam
    @CamelCaseCam Před 4 lety +650

    I would suggest adding three things:
    1. Sexual reproduction, this would allow for much higher genetic diversity along with competition for mates
    2. Objects other than food that the bibites can manipulate, allowing for the construction of structures
    3. Vision? I don't know how easily this could be done, but if you could accomplish this, a whole range of new possibilities for the creatures would be opened up

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +164

      Agreed on all of them !

    • @water2205
      @water2205 Před 4 lety +47

      @@TheBibitesDigitalLife bibite eat bibite.

    • @chrissmith3587
      @chrissmith3587 Před 4 lety +8

      cam K vision could use ray tracing but it might be a bit slow, vision when being used would be interesting to add in a relationship between field of view and a bit of uncertainty with depth perception so there’s a trade off

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

      Also when it comes to food it would be simpler to just place food using some rng, it will limit itself as food would always be limited at the same rate. It would need some gentle adjustment of the probability of food placement per tick but due to the random nature you could also get times of abundance and famine making the population more dynamic

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

      @@chrissmith3587 they are already implimented.

  • @SMunro
    @SMunro Před 4 lety +67

    Add a pellet to individuals so they canibalize.
    Make it run on an android with screen-sized ecosystems and provide communication by bluetooth to other devices so they can migrate to other ecosystems. And let them make audio noise by intentionally bumping an on-screen red button, and hear noise by listening to the device microphone.

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +41

      Omg that would be incredible ahah
      Real-life interaction and wireless migration... Might even be dangerous ahah

    • @bluedot7817
      @bluedot7817 Před 4 lety +3

      Haha that's a great idea! Somebodt get on this.

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

      I'd download

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

      @@TheBibitesDigitalLife That would be an epic program! A lot of people would be willing to run it and provide feedback.

    • @worldprops333
      @worldprops333 Před 2 lety

      great ideas

  • @NICK....
    @NICK.... Před 4 lety +369

    Since it's a computer program shouldn't they be called Bibytes?

  • @bertrandrodruiguez2614
    @bertrandrodruiguez2614 Před 5 lety +532

    This is pretty cool, I am working on a similar (Very similar, in fact, down to using NEAT) project myself.
    One thing I have noticed in your video at around 3:35 is that your bibites can collide and grab each other, I suggest that you look at energy sharing, i.e. if two creatures are colliding and each are willing enough, they share their energy in proportion of how much energy the other has. I think it just might evolve synergy organisms or even multi-cellular groups of bibites, which would be very cool.

    • @BrettClimb
      @BrettClimb Před 4 lety +10

      Here is another similar project, in case anyone is interested: czcams.com/video/tDqDRze9cmk/video.html

    • @raccoonman4691
      @raccoonman4691 Před 4 lety +10

      what kind of software do people use to make these things

    • @BrettClimb
      @BrettClimb Před 4 lety +9

      @@raccoonman4691 Mine uses the Unity game engine

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +40

      unity is nice because it takes care of the physics, collisions, etc. Already.
      It does come with its limitations too tho

    • @BrettClimb
      @BrettClimb Před 4 lety +10

      I actually do all of my calculations on a separate C# thread, and only use Unity to display the result, which helps to avoid some of the limitations, but I don't get to use any of the Unity physics.

  • @malekbensalem8430
    @malekbensalem8430 Před 4 lety +90

    Concerning the colors: You can have different viewing modes where colors represent different states like the current action (mating, laying egg, searching food) or other states (energy level, diet composition, ...)

    • @briansepolen4917
      @briansepolen4917 Před 4 lety +9

      I was thinking that the bibites don't have to be a solid color. The head, tail, and each side could be used to (debug) represent some trait that is not readily apparent. So, like five colors on each bibite, even though that complicates the rendering model.

    • @tipoima
      @tipoima Před 4 lety +3

      @@briansepolen4917 They are kinda small tho

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

    Did I search for this? No. Did I watch the whole thing? YES

  • @Deez-Master
    @Deez-Master Před 4 lety +154

    While nutrients on earth are a closed loop system, Energy is not, plants absorb incoming energy from the sun, capturing it in chemical bonds. Maybe you could make a system where the food pellets are also evolving to cover maximum area to capture light.

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +40

      That would be very interesting :o !

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

      Evolving food?

    • @thonktank1239
      @thonktank1239 Před 4 lety +10

      Or make it possible that bibets evolve photosynthesis and make movement cost energy, thus giving them the ability to become photosynthetic plankton, while the pallets represent inorganic foodsources

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +23

      Hmm yeah, so there could develop a true microcosm, with different "levels" of life.
      The problem would probably come from computing resources

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

      @@TheBibitesDigitalLife Don't let technology limit your vision. Don't let your dreams just be dreams! XD
      But seriously, I have no Idea of the technical aspects. I'm more comfortable with the evolution part than the simulation part :/
      This project is seriously interesting though. I love these kinds of simulations. Good work.

  • @Potato-sg3wq
    @Potato-sg3wq Před 4 lety +30

    use graphs to represent what traits are most used, this would show what traits are the most favored for survival.

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

      Absolutely also better brain graphs...
      I've been searching for a solution, but without any luck so far

  • @ashtwenty12
    @ashtwenty12 Před 5 lety +69

    Will you share the source code on git in description ? I'd be curious to see how it works. Maybe people can contribute

  • @auri1075
    @auri1075 Před 4 lety +41

    I love this, its so interesting, i could see it for hours, if more variables were added id see it for even longer.

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

    1:36 I love how there's just that one that just runs around in circles trying to get a pellet

  • @peytonfastabend4319
    @peytonfastabend4319 Před 4 lety +36

    I just found this and I haven't watched your other videos yet, but it's exactly the kind of thing I've been learning coding for! I love the idea of ecosystem simulators as sort of digital fishtank where you can experiment with different organisms and how they react to environments and each other, with no real animals getting involved. I'm excited to see where this goes!

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +4

      Thank you, I absolutely feel the same way (I'm not sinking many hundred hours in this project for nothing ahah) !

    • @Leftysrev3nge
      @Leftysrev3nge Před 2 lety

      Check out davidrandallmiller too. He does a pretty interesting breakdown of a similar setup, minus the realtime aspect.
      czcams.com/video/N3tRFayqVtk/video.html

  • @bmobert
    @bmobert Před 4 lety +163

    This is cool.
    Have you considered using CPU cycles as your "energy"?
    I don't know how to implement this but it would be aa more "real" limitation than an arbitrary amount of pellets.

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

      Excellent concept particularly applied to the real world I'd think. 👍

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +39

      Yeah, the Tierra simulation used that concept (RAM memory as ressource) it's truly interesting. I thought about it at the start but didn't really have any idea on how to implement it either ahah

    • @TiagoTiagoT
      @TiagoTiagoT Před 4 lety +11

      @@TheBibitesDigitalLife Maybe you could use something like the time the app takes processing each animal as the energy consumption per-frame, weighted so that the total framerate of the app stays around the target (if the frame is taking too long to process, animals start running out of energy)?

    • @ancapftw9113
      @ancapftw9113 Před 4 lety +3

      @@TiagoTiagoT he could copy the current pellet spawner formula and make it use framerate as a multiplier for energy use.

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

      @@ancapftw9113 That's actually a really good suggestion.
      One would have to save the relative frametime over the last second or so before new pallets get spawned and then multiplay with the pallet amount. Do this by summing up all Time.deltaTimes during that timeframe and divide by the amount of samples.

  • @francoisrioux5869
    @francoisrioux5869 Před 4 lety +8

    When I saw this in my feed I was like cool a simulated evolving ecosystem I haven't seen yet! Then I saw the channel name and I was like ah bin tabarnak ! Very well done, this looks promising

  • @grevel1376
    @grevel1376 Před 4 lety +18

    you gave me some ideas and inspired me to do some project

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

      Honestly glad to hear that :) please share

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

      @@TheBibitesDigitalLifeMaybe I will start a channel with my projects? Some people asked me to share my projects, I think that it could be a good idea.
      (For now I did some basic stuff, like camera etc, didnt have enough time for bigger things)

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +3

      @@grevel1376 still, send me a link when you get around doing it :)
      thebibites@gmail.com

    • @grevel1376
      @grevel1376 Před 4 lety +3

      Ok, I have working prototype, it works, but I want to tweak some energy constants and add few sensors for creatures. Because of upcoming week ._. probably I will finish it next weekend.

    • @grevel1376
      @grevel1376 Před 4 lety +4

      Ok, sorry I didn't publish that this weekend, I have ended project, recorded videos, recorded audio and preapred slides. I started to edit that into a video, but I have big history exam next week and unfortunately it is more important. I will upload everything when I will have free time. Thank you.

  • @flixou262
    @flixou262 Před rokem +3

    Merci beaucoup d'avoir entièrement traduis la vidéo en français. En plus, tu as très bien simulé l'évolution naturelle. Super vidéo

  • @sijohnson5632
    @sijohnson5632 Před 4 lety +3

    Brilliant. Thank you for this, its mesmerising. Great use of neural networks and I'm looking forward to future developments.
    Thanks again

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety

      Thank you so much :)
      I'm currently recording a video about it but in the meantime I've released the simulation if you want to try it out on your own computer :
      leocaussan.itch.io/the-bibites

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

    I like the one that's running in circles but still out surviving most of the others.

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

    This video got me going crosseyed in a good way. Good job!

  • @AkhierDragonheart
    @AkhierDragonheart Před 5 lety +11

    As far as having something to show their 'stats' in a visual fashion the first thing you need to do is limit the number of stats you want to show. Some are already visible. For instance speed. They already move on screen at their speed. The same thing with size as you can visually check that. If you can get the number down low enough then depending on how you have it set up you might be able to just have a few dots on their back of appropriate color. That way you can maintain their unique coloration.
    Also you have probably already read or heard this but adding a predator will not make your population problems go away. Your closed system idea will however likely do it for you (if the ecosystem doesn't collapse somehow).

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

      Do you have the ability to pause it and then click on them to get that info? Or maybe the ability output everyone's current stats to a file with a capture the current screen? This wouldn't give you a constant finger on the pulse as it were but would let you check on any one of them that seems to be acting weird. The first idea would be good for the videos as you can pop them up on screen as needed to explain what is happening. (also the mouth idea is a good visual cue)

  • @Modusiticate
    @Modusiticate Před 4 lety +4

    you could have the antenna or mouths change color along the spectrum to indicate whether they're an omnivore or what.
    i'm really interested to see if they'll develop as predators or scavengers when the food dropping feature is added. Great work!

  • @tyfoodsforthought
    @tyfoodsforthought Před 3 lety +2

    Beautiful project my friend! :) Bibites are so cute!
    Thank you for sharing!

  • @Kiloristy
    @Kiloristy Před 2 lety

    What a great video! It mixes so many disciplines!

  • @MattMajcan
    @MattMajcan Před 5 lety +5

    i think the colors should stay random. if it really works properly then the colors will end up being representative of different traits like speed anyway.
    My suggestion is to give the bibits a way to determine the fitness of other bibits, and prefer mating with ones who are more fit.
    another idea i had after watching many similar videos to this is maybe add more than one type of food. Like maybe 1 type is more numerous but provides less energy and another type is the opposite. Eventually I guess the idea would be that some bibits would eventually specialize in one food type (or maybe not, who knows).
    i really like the idea of a closed energy loop where dead bibits and/or waste turn into new pellets eventually. I'm really interested in this project and like how you want to work with a community to develop it more.. I subscribed.

  • @murkasp
    @murkasp Před 4 lety +42

    what about cannibal bibites who eats another bibites and choose target by color

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety +3

      That would already be possible (if they evolve to do so) in the most recent update

    • @aricre8886
      @aricre8886 Před 4 lety

      but why the would do that? they can use feromones to indentify their own kind

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

      @@aricre8886 but they have to evolve to do so !

    • @k.butler8740
      @k.butler8740 Před 4 lety

      There's no cost function to prevent them from choosing to eat their own kind, ya? Maybe after they eat meat they get slowed down for a duration of time and the amount of slowing and duration of being slowed are a function of how similar they are to their pray

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

      Kyle real cost function would be potential damage taken during the fight.

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

    Bro, CZcams suggest me your video and I'm glad it did it ! I will devore all your content, it seems so interresting OMG

  • @dinoschachten
    @dinoschachten Před 2 lety

    Very nice thoughts on how every feature brings with it an efficiency penalty! I'm very excited to see this unfold!

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

    2:59 Neuro Evolution of Augmenting Topologies
    3:16 Stanley K. O. 2002
    3:19 RT-NEAT

  • @KJOB
    @KJOB Před 4 lety +4

    For some reason most of the comments are people with experience with similar projects or at least have experienced programming such things. Wow

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

    Seeing this old prototype for the simulation is oddly surreal.

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

    this was a very entertaining video, i hope you keep producing such video.

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

    Add classical physics
    Like basic Newton laws so they interact with environment
    Just spawn few 2D objects that just interact and pass organism's momentum to it.
    But floor should have slight friction as a fundamental property of basic area where it exists.
    So while organism takes in food, the part of food which is taken is converted to waste as it moves more and more cause it's getting energy wasted from friction, but here's a catch, were will the energy go after it goes to friction?
    Well that is take by the background (area where everything simulated exist) and that energy is collected, once enough of it is there background takes that energy and spawns an food particle, with random place.
    This is a great convectional cycle that allows your organism to interact with objects to create things on 2D plane!
    But things get tricker if u add something more....but what?
    Adding a condition!
    If and organism of specific type pushes few objects that could enclose an area but a little bit is still opened through which they can come in and out, then the background triggers to spawn food mostly inside that structure, this let's our organisms think and start reasoning for survival !
    There is no limitations of what to expect as we really don't know how that kind of life would react to this type of change, *they are the once who change things not something already programmed to change without their will!*
    In a nutshell *you give them freedom of choice, a path that divides into two, a will*
    You say to them that, we grant you this power only if you fulfill this task, and so on.
    So this is it.
    I Hope this will be helpful
    THANKS FOR READING SO FAR GREAT PERSON!
    😊😊😊😊😊

  • @thatguynamedmorgoth8951
    @thatguynamedmorgoth8951 Před 4 lety +4

    I think that "baby's color" should be something chosen by the neural network, so color could act as a job assigner, like in ants

    • @Kugelschrei
      @Kugelschrei Před 3 lety

      So each color is associated with a job?

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

    Came here from reddit, this is a really interesting project! Thanks for sharing.

  • @lutum5292
    @lutum5292 Před 2 lety

    Great Work! Love your stuff

  • @voodoodoll4960
    @voodoodoll4960 Před 4 lety +3

    They needs a purpose to collaborate, look for the exploration exploitation dilemma, zero sum games.
    And thanks for the French subtitles :)

    • @voodoodoll4960
      @voodoodoll4960 Před 4 lety

      You can also example ensures that food is concentrated in one place instead of being distributed fairly.
      he should be able to attack each other (besides predation) and be able to see the color of the others, to see if a form of rasism could emerge.

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

    And we need to add sunlight to keep the " human simulation going
    We recently updated the global warming patch to see how the humans react

  • @hazardgoose2352
    @hazardgoose2352 Před rokem

    its amazing to see what how much this have evolved from the beginning!

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

    Excellent and inspiring. Thanks for taking the time to make a video

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

    Feromones - add diffusion and hlaflife.

  • @ilovehumongoushonkers
    @ilovehumongoushonkers Před 4 lety +4

    This looks very interesting. Have you considered using the GPU for computation? Algorithm would have to be changed a lot, but it would incredibly improve the performance. Or just try to utilize all CPU cores. Also you could add patterns to bibits to make them look more pretty, like dots, checkered, crosses and many others. Also you could add more needs than just food, like there could be a day-night cycle, weather, seasons, terrain with water sources and stuff. It would make the system so more complex but it would be incredible. You could make eggs need certain environments and make egg cost dependent on how quickly it hatches, how big of a range of temperatures it can handle and stuff. You could add more ways that bibits can communicate, for example sound, which transmits information instantly in certain range. You could also split world in chunks for optimization and allowing much bigger worlds. I know, all of the stuff I said is hard to implement and would increase project scope a lot, but I just think that it would be fun to experiment with those features. This project is just really awesome, I want to see it update and change over time. I wish I could run something like this on my pc.

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

      Thanks !
      Yeah I'll probably need help for performance optimization, but all your pointers will help a lot already!
      I'm not experienced with threading and GPU ...

    • @ilovehumongoushonkers
      @ilovehumongoushonkers Před 4 lety

      @@TheBibitesDigitalLife Thank you for responding to me, yeah, threading and GPU stuff is complicated, I'm just learning it, but it's a very interesting technology that has many uses. By the way, are you going to make this project open source? I would love to experiment with it.

  • @kyleschroder9045
    @kyleschroder9045 Před 2 lety

    What a cool idea. I'm fascinated by this story of the bibits.

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

    Hey man, this project is really interesting!!. I love the idea. My only suggestions is add predation like you describe at the end of the video. Mix food/predation would be interesting. Another thing would add obstacles in their path. Another interesting is adding a seed which conduct to creation of pellets/food.

  • @JeanJacket311
    @JeanJacket311 Před rokem +3

    How is there only 1 comment this is CRAZY COOL!!!

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před rokem +5

      The channel got banned by mistake by CZcams, and since being reinstated All my previous comments disappeared :(

    • @isaacmendes1926
      @isaacmendes1926 Před rokem +2

      @@TheBibitesDigitalLife that's a shame. You got a pretty cool channel brother, subscribed.

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

    I think the obvious Additions would be flocking or non flocking, and housing, like a bee hive or anthill

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

    Remember to post updates frequently! even if it's a small feature addition, since development isn't so fast i'm sure we'd love to see any small changes

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

    Such amazing project

  • @shadowdragon2484
    @shadowdragon2484 Před 4 lety +4

    i would be very interested to see some source code. I dont know if you are ever planning on making money with this or not, but if you publish it on github, a lot of people could help out and build up from your already very impressive base.

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety

      Yeah I intend on making it open source someday, but I'm not sure I understand a lot about it yet... I'll need to do some research.
      And yes, living from this and being full time on this project would truly be a dream come true, but I don't know if that's realistic ahah

    • @matiascollado9926
      @matiascollado9926 Před rokem

      @@TheBibitesDigitalLife I am fascinated with your work, I would love to know what language you programmed it in!! I can't find info about it...Greetings from Argentina!! You have inspired me and my little brother so much. When I showed him your work he was impressed!!

  • @sebastianeggleton5417
    @sebastianeggleton5417 Před 4 lety +21

    yay colour now we can have racism!
    AI really is becoming more advanced these days

    • @Jim_WoodPike_Gherkin_WangWick
      @Jim_WoodPike_Gherkin_WangWick Před 4 lety

      First:Lol
      Second: this kinda remenbers me that colours could be used as mechanic in case of vision being added like how poisonous frogs do.

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

    Super boulot, hate de voir la suite !

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

    Simply amazing! Keep up the good work! :)

  • @ddAAntes
    @ddAAntes Před 4 lety +11

    they are already fighting each other for food. but they are reproducing asexually. my suggestion: try adding sex and sexual selection... at one point they'll start farming ;)

  • @Aaqil6588
    @Aaqil6588 Před rokem +3

    hi

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

    A while ago I played a game “Sim life“ it made me want to program something like your simulation. I can think of a whole bunch of ways to make their behaviors more interesting, basically it’s make the world more complex and give lots of options for successful life strategies.

  • @sebastianwette11
    @sebastianwette11 Před 4 lety

    I really like this project. Keep us updated please :)

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

    photosynthesis bibits that making eggs and green things

  • @AnishWagle
    @AnishWagle Před 3 lety

    I am creating the similar project in 3d in godot engine and youtube suddenly suggested me this video. It highly motivated me and gave me a direction on what i should do next. Thanks

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

    This is amazing!

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

    @6:45 color for traits would still result in identifiable species since "families" should be similar in color.
    you could use the three primary colors to represent 3 different important traits and the mix of how far those traits have drifted will determine color. You could also introduce simple patterns for this like stripe or XX pattern or something.

  • @GameRocker
    @GameRocker Před 4 lety

    This looks great man.

  • @user-cd4bx6uq1y
    @user-cd4bx6uq1y Před 2 lety +1

    2 years ago, I'm so happy that I found this channel

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

    I think it is a great idea to make evolution process to food as well

  • @thismianeptunis
    @thismianeptunis Před 4 lety

    I think the idea of keeping color non-adaptive so that it can track genetic drift and speciation is really cool! Definitely worth keeping as a feature

  • @davidorr947
    @davidorr947 Před 2 lety

    Good work!

  • @ObeyBunny
    @ObeyBunny Před 4 lety

    Absolutely fascinating work! I can't wait to see this develop further! You can have different amounts of pellets spawning on a timer to simulate seasons.
    Pellet Spring--> Pellets are numerous, but small. Bibites might select for speed and being able to sense pellets at a greater range.
    Pellet Summer--> Pellets are numerous and big. Bibites might select for making lots of eggs.
    Pellet Fall--> Pellets spawn in smaller amounts, but they are big. Bibites might hoard food or even begin farming.
    Pellet Winter--> Very few pellets spawn at all. Bibites might start hibernating if they can not sense food near them. Or, Pellets might develop seasonal diets, where they are vegetarian in the summer and carnivores in the winter.

    • @marcb1257
      @marcb1257 Před 2 lety

      I think for that to have any effect you also need to add the perception or at least comprehension of time in some way. I'm not sure if the neural net used is a recurrent neural network because then you can have some sort of memory of past actions.

  • @utunga
    @utunga Před 5 lety

    fascinating project.. i think you want to have an evolution mode that is non-visual so you can evolve faster. my other suggestion is, yes, to put the pheremones on the board but maybe also have some kind of logic as to where pellets tend to appear in this way the pheremone trails may have the option to evolve to represent some sort of useful signaling between bibites

  • @s.l.960
    @s.l.960 Před 3 lety +1

    Nice simulation! I had similar project 10 years ago but less inputs. I used acceleration on output insted speed and creatures (mine was fishes) looked much more real.

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

    First of all, this is amazing. I love it. I really enjoyed programming little population simulations back when I started computer science, but that was long before I knew anything about machine learning.
    As for your question about color-coding, I'm more inclined to think you should leave it. My reason why is that I think there are too many traits/feature-weights to map them to colors and still have those colorful be meaningful.
    I think displaying weights on input features may be interesting, if you can assign the size of the weight to the size of a shape, and place those shapes as identifiable parts of the Bibites. There's a Steam game called Eufloria, which gives an example of what I'm talking about - though with only 3 traits, not 20- input weights (more with hidden layers). It's not necessarily functionally useful information - because weights often don't tell you much information on their own - but it might allow you to create an even more unique visual character for them.
    On second thought... maybe you could use a combination of shapes and colors to represent the weights, and thus give a unique visual character to each Bibite.

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

      Yes ! I'll be working on that, I call it "procedural sprites" in my most recent video

  • @garrettlich7140
    @garrettlich7140 Před 4 dny

    This is like thrive but even more of a simulation

  • @lachlanstewart9314
    @lachlanstewart9314 Před 5 lety

    I’ve done something like this myself too! Very rewarding program

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

    The pheromones are a good idea, perhaps a bibite would be willing to give a pellet to a bibite that it likes based off its signal

  • @sailbatten2056
    @sailbatten2056 Před 2 lety

    6:45 - One thing I did was to have two mechanisms available in the UI. Basically, when I click on a creature, I've "tagged it" and a translucent box with internal stats appears that follows it everywhere. I can click on that box to increase/decrease the amount of information present.
    The other thing I did was have a set of options on which critical things I wanted alerts for. I never finished this, but the ones that I played with was literally writing "Pred" temporarily right over the creature to show an offspring had been produced that evolved from herbivore to predator.

  • @Kiloristy
    @Kiloristy Před 2 lety

    For the colours: you can have the body colour being independent, and have another colour for the tail representing speed stats, mouth colour for strength, etc.

  • @Agesilas2
    @Agesilas2 Před 4 lety

    cool ces bibites, on attend les coucouilles avec impatience !

  • @tomakist
    @tomakist Před 4 lety

    Complexity in behavior: you could add push, grab, release, break, try to eat.To really get things interesting you could make the environment more complicated so there are structures they can hide in or build to store food or protect their eggs, or whatever else they can evolve.

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

    OOH OOH OOH ! make a really cool custom forest background!!

  • @seanhardy_
    @seanhardy_ Před 5 lety

    This is awesome! For the vision, you should use raytracing to draw a visual field for each creature with each ray as RGB input, although that may be too complex to optimise with the NEAT algorithm

    • @seanhardy_
      @seanhardy_ Před 5 lety

      @@TheBibitesDigitalLife I have seen similar projects using a ray cast system with only 4-5 rays which act more like feelers which can sense an environment without necessarily gathering an entire view of the terrain, for realism i would also suggest a cap on the angle it can detect the closes item of food so the creatures cannot see behind them. That might help to develop predatory strategies but nevertheless this is great work!

  • @garethrhodes7830
    @garethrhodes7830 Před 5 lety

    Very cute! Love it. If you want to communicate something visually went not add some fx? Like a simple aura or particles or maybe a toggleable overlay that brings up little tags on them

  • @Rakinshu1203
    @Rakinshu1203 Před 4 lety

    You could add a seperate sprite to your bibites for every stat they have and then scale that sprite with the stat. Those fin like things at the side could be for speed and scale with speed for example

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

    This is amazing! As someone who's just getting into coding, this is absolutely mind-boggling.
    Might I suggest using the color scale to indicate how carnivorous/herbivorous the bibites are (the more red, the more carnivorous, etc) and having stripes/polka dots as an independent gene that can identify species?
    All in all, very entertained. Good luck and keep working!

    • @watsoncasal4954
      @watsoncasal4954 Před 4 lety

      And, is there an age constraint? I understand that they become mature, but I didn't see anything along the lines of old age; the older they get, the less likely they are to reproduce, the more energy it takes just to live, etc

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety

      No, they don't have old age as of yet. As of now they can easily live and grow up to 2000% maturity, which can get problematic
      And check my most recent video ;) right now I'm working on procedural sprites

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety

      Not easily, but under the right conditions*

  • @mystwalker479
    @mystwalker479 Před 4 lety

    Neural Evolution of Augmenting Topologies sounds NEAT

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 4 lety

      I decided to call my implementation bioNEAT because there is enough differences from the basic NEAT algorithm, might even publish it !

  • @NoMercy8008
    @NoMercy8008 Před 3 lety

    This is a really really awesome and very inspiring project! Software engineering is a huge passion for me and AI in general is a super interesting topic :)
    Thanks a lot for making and sharing this project with us, really really apreciated!
    I have been playing around with neural networks and genetic algorithms lately, so obviously I take a lot of inspiration from your project and have learned a lot watching your videos already.
    And I know this video is a couple years old now, but I have a few questions, maybe you'll see them anyway :D
    1) At around 0:56 in the video you show an overview with inputs and outputs of the neural network. Input 0 is called "constant", what exactly does that mean? Are you feeding in some constant number or is this constant representing some sort of current state of the bibite or something thereabouts? Finding the right inputs is obviously pretty important and I've been thinking about that topic a lot lately, which is why it's very interesting and helpful to me to see how others do it :)
    2) Is there any mechanism to make sure that bibites don't wander too far off the area they're supposed to be in? Or is the availability of food really the only thing to make them stay in that area? If so, I imagine that there's a very real risk for them to just die out early on if all of them just happen to race off into the sunset and never return, if you know what I mean :D
    Or do they just kinda loop back to the other side if they go off screen?
    3) Do you normalize all inputs into for example the 0-1 range or are some of them fed in as is?
    I hope it's ok for me to ask those questions, sorry if they are too specific :)
    As you can see, I have a very big interesting in this kind of thing :D I would love to see some videos going into more of the technical detail behind these systems :)
    Though I can understand that you have got more than enough work on your hands already and maybe you might not want to share all your secrets :D
    Anyways, once again thanks a lot :) I love The Bibites and am looking forward to seeing how the project evolves in the future!

  • @gigim7363
    @gigim7363 Před 5 lety

    Wow! I am impressed! Je suis vraiment impressionnée!

  • @mckryall
    @mckryall Před 2 lety

    I've liked this video for a while, but the from-scratch way you explained it has convinced me to implement something similar. I'm making a little "fish tank" to be displayed on a screen and run in the background. I plan to increase the maximum number of nodes in their neural nets and add "adding a node" as a mutation so they start off simple and get more complex if they stop improving with the same number of nodes

  • @jerrygreenest
    @jerrygreenest Před 2 lety

    Snaps! I like those neural networks

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

    Could you share this code you made ? It's dope and i would like to see how this is done.

  • @evancombs5159
    @evancombs5159 Před 5 lety

    This is awesome, it is very similar to an idea I tinkered around with when I was first learning to program, but a lot more advance and better (I didn't have a neural network). Neural networks are something that intrigue me, but I've never really been sure where to start. It would be sweet if you made the code open source on Github or something?

  • @anubis63000jd
    @anubis63000jd Před 4 lety

    I love this. You have a surprisingly complex ecosystem going. Well done.
    Suggestion: Maybe allow them to pair up and travel together? Maybe even groups of 3 or 4.
    This would make mating more efficient, and be safer if you implement carnivores. Downside the cost of covering less area when looking for food.
    It would be very interesting if you had diverse diets. Looking forward to more.

  • @rutgervandeputte3685
    @rutgervandeputte3685 Před 2 lety

    I created much the same, only added hunters and made the entities talk to each other and experimented with all kinds of neural network hidden layers and cost function. Seeing emerging behaviour after a total random start is awesome :)

  • @markathena4730
    @markathena4730 Před 2 lety

    I could imagine them instead of a trail or visual, you just have them "twitch" at each other, kinda like bees, or ant communication. Where they go up to each other, sort of dance, say something, the bees, or bibits, may understand where the food is now. On the map.

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

    Some suggestions:
    - keep the main body colour of the bibets as you have it, I agree with you on that
    - Have a visual indicator for herbivore/carnivore ness, maybe the outline colour (what is currently black)
    - to display the pheromones have a "pheromone cloud" basically a circle around the bibet that is the colour that represents the pheromone and translucency of about 5-10%
    - have your bibets evolve to use the various pheromone and body colours (both the main colour and outline predatoriness) for determining mating i.e. some bibits are attracted to blue bibits and other prefer red or green bibits then you'll get to see if/how these attributes evolve
    - have some other appearance genes like wing size/shape variations, tail length, spots stripes, include these in the mating as well, then hopefully you can evolve several bibet species
    - rather than having a generic predatoriness, have the predators evolve preference for certain traits, some bibits might find longer tails more tasty and others might prefer purple bibets others might find red bibets poisonous and other might prefer to eat dead bibets
    - use waste (excrement & decaying dead bibets) as fertiliser for different pellets that "grow" (now you don't need to spawn them) maybe over time some bibets prefer pellets that grew from excrement and others prefer pellets that grew from decaying dead bibets
    Thanks for the interesting video hope you take some of these ideas

    • @TheBibitesDigitalLife
      @TheBibitesDigitalLife  Před 2 lety

      Some of these idea have already made it into the simulation 😁!

    • @daveamies5031
      @daveamies5031 Před 2 lety

      @@TheBibitesDigitalLife Hi I posted that after watching this video not realising how old it was, then I saw the newer videos, congrats on such a cool simulation, I think I still did give you some new suggestions, though I didn't think about the viruses that I saw you implemented that was very clever 👍🏼

  • @dmdizzy
    @dmdizzy Před 4 lety

    This is really cool. For the pheromones, I think letting them produce and detect different colours of pheromone could potentially create more complex communications, especially if you introduce the carnivore/herbivore dichotomy.

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

      Yeah, that'dd be very powerful, having an arbitrary infinte number of combinations, I'll have to figure out how to do that

  • @erroneum
    @erroneum Před 4 lety

    Pheromones could be implemented as each bibite emitting particles of each type spread Gaussian in their vicinity proportionally to the strength of the output, either decaying gradually or being picked up by another bibite and being read as an intensity to it. You might have to make the inputs read lower when emitting, or it could be left as something for the bibites to control (although in that case maybe add extra inputs to let them know how strong the output rate is).

  • @ziril3972
    @ziril3972 Před 4 lety

    Oh god its this classic eco sim music everyone uses, fabulous fabulous

  • @justinlipkin
    @justinlipkin Před 4 lety

    Nice is amazing and has good potential

  • @tyler6859
    @tyler6859 Před 5 lety

    Good production quality! It'd be neat to be able to cycle each lil critter and see what their own neural net is doing. Maybe add some sprites... To make it more intresting make amount of food vary more so they starve. More RNG

  • @TengouX
    @TengouX Před 2 lety

    I like the idea of similar colors being an indication of homogeneity.
    I would be super interested to see how much of a role 'intelligence' (the number of synapses) plays in natural selection, and how this number changes over time. Haven't watched your other videos yet though, so maybe this is already answered.

  • @4Dipayan
    @4Dipayan Před 4 lety

    Wonderful work. ❤ Its really the kind of work that I crave to work on.
    I have a suggestion : since you are using only natural selection/mutation as the only process to produce favourable/intelligent agents, how about using a feedback system? I mean when ever an agent performs an action, it can observe the changes (in its internal state and it's external state) and hence send back a positive/negative feedback to it's neural network to further strengthen or weaken it's connections on the path where the signal had passed in the last iteration the most. Basically incorporating a reinforcement learning concept. This would produce more intelligent agents even during their lifetime and not just in the next generation. Pardon if I got it wrong somewhere.

    • @4Dipayan
      @4Dipayan Před 4 lety

      The kind of behavior I am trying to imagine is that: whenever an agent does something useful, it tends to repeat that action more, and when it does something bad, it refrains from repeating it again. This can be achieved by evolving the neural net at every time step, taking into account the instantaneous rewards/punishments.

  • @zatch7349
    @zatch7349 Před 4 lety

    Something that you could add to your function is like a nest or shelter, allowing their to be a certain growthpoint to where's there's a nest Queen and adding like a apex predator to go along with hunting