How I created an evolving neural network ecosystem

  Рет қаралды 329,332

The Bibites: Digital Life

The Bibites: Digital Life

Күн бұрын

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-...

Пікірлер: 923
@nikosaarinen3258
@nikosaarinen3258 4 жыл бұрын
You could use shape to show the speed. A faster Bibit could be more slender.
@bearnaff9387
@bearnaff9387 4 жыл бұрын
Alternately, flickering the color inside the bibit could indicate speed or some other process driving the bibit.
@Jachii9
@Jachii9 2 жыл бұрын
and then slower bibits could be more t h i c c
@Squirtledrool
@Squirtledrool 2 жыл бұрын
@draqon ofwhitestars sounds personnel
@aytj2073
@aytj2073 Жыл бұрын
@draqon ofwhitestars you fat?
@ChimneyCrab737
@ChimneyCrab737 Жыл бұрын
@draqon ofwhitestars lmao someone has some insecurities
@CamelCaseCam
@CamelCaseCam 4 жыл бұрын
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 4 жыл бұрын
Agreed on all of them !
@water2205
@water2205 4 жыл бұрын
@@TheBibitesDigitalLife bibite eat bibite.
@chrissmith3587
@chrissmith3587 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@chrissmith3587 they are already implimented.
@malekbensalem8430
@malekbensalem8430 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
@@briansepolen4917 They are kinda small tho
@NICK....
@NICK.... 4 жыл бұрын
Since it's a computer program shouldn't they be called Bibytes?
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Damn, missed a good opportunity right there....
@DarckHardStyle
@DarckHardStyle 4 жыл бұрын
Good, or maybe Bibites to Bibit's
@dirkmcnasty8585
@dirkmcnasty8585 4 жыл бұрын
@@DarckHardStyle No, the conversion is 8 Bibites equal a Bibit :D
@NStripleseven
@NStripleseven 3 жыл бұрын
B
@Idontknow-km5hp
@Idontknow-km5hp 3 жыл бұрын
@@NStripleseven C
@bertrandrodruiguez2614
@bertrandrodruiguez2614 4 жыл бұрын
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 4 жыл бұрын
Here is another similar project, in case anyone is interested: kzbin.info/www/bejne/qnXUdYWwmp6Wo80
@raccoonman4691
@raccoonman4691 4 жыл бұрын
what kind of software do people use to make these things
@BrettClimb
@BrettClimb 4 жыл бұрын
@@raccoonman4691 Mine uses the Unity game engine
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
unity is nice because it takes care of the physics, collisions, etc. Already. It does come with its limitations too tho
@BrettClimb
@BrettClimb 4 жыл бұрын
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.
@SMunro
@SMunro 4 жыл бұрын
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 4 жыл бұрын
Omg that would be incredible ahah Real-life interaction and wireless migration... Might even be dangerous ahah
@bluedot7817
@bluedot7817 4 жыл бұрын
Haha that's a great idea! Somebodt get on this.
@axisodepeople1658
@axisodepeople1658 4 жыл бұрын
I'd download
@captainbadassitude1845
@captainbadassitude1845 4 жыл бұрын
@@TheBibitesDigitalLife That would be an epic program! A lot of people would be willing to run it and provide feedback.
@IWannaBeTheKiwi2
@IWannaBeTheKiwi2 2 жыл бұрын
great ideas
@peytonfastabend4319
@peytonfastabend4319 4 жыл бұрын
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 4 жыл бұрын
Thank you, I absolutely feel the same way (I'm not sinking many hundred hours in this project for nothing ahah) !
@theac695
@theac695 Жыл бұрын
Check out davidrandallmiller too. He does a pretty interesting breakdown of a similar setup, minus the realtime aspect. kzbin.info/www/bejne/hGTXg3mXrtaJqs0
@ashtwenty12
@ashtwenty12 4 жыл бұрын
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 4 жыл бұрын
I love this, its so interesting, i could see it for hours, if more variables were added id see it for even longer.
@Deez-Master
@Deez-Master 4 жыл бұрын
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 4 жыл бұрын
That would be very interesting :o !
@water2205
@water2205 4 жыл бұрын
Evolving food?
@thonktank1239
@thonktank1239 4 жыл бұрын
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 4 жыл бұрын
Hmm yeah, so there could develop a true microcosm, with different "levels" of life. The problem would probably come from computing resources
@thonktank1239
@thonktank1239 4 жыл бұрын
@@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 4 жыл бұрын
use graphs to represent what traits are most used, this would show what traits are the most favored for survival.
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Absolutely also better brain graphs... I've been searching for a solution, but without any luck so far
@greatestgrasshopper9210
@greatestgrasshopper9210 4 жыл бұрын
1:36 I love how there's just that one that just runs around in circles trying to get a pellet
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Bibites can suffer from birth defects too 😢
@bmobert
@bmobert 4 жыл бұрын
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 4 жыл бұрын
Excellent concept particularly applied to the real world I'd think. 👍
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
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 4 жыл бұрын
@@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 4 жыл бұрын
@@TiagoTiagoT he could copy the current pellet spawner formula and make it use framerate as a multiplier for energy use.
@Kugelschrei
@Kugelschrei 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 4 жыл бұрын
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
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Ahahah Esti de criss merci beaucoup !
@warriorcast8567
@warriorcast8567 4 жыл бұрын
I like the one that's running in circles but still out surviving most of the others.
@dols5712
@dols5712 2 жыл бұрын
Bro, KZbin suggest me your video and I'm glad it did it ! I will devore all your content, it seems so interresting OMG
@lazartoncev1614
@lazartoncev1614 4 жыл бұрын
Did I search for this? No. Did I watch the whole thing? YES
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Ahahah, it's my pleasure
@grevel1376
@grevel1376 4 жыл бұрын
you gave me some ideas and inspired me to do some project
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Honestly glad to hear that :) please share
@grevel1376
@grevel1376 4 жыл бұрын
@@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 4 жыл бұрын
@@grevel1376 still, send me a link when you get around doing it :) thebibites@gmail.com
@grevel1376
@grevel1376 4 жыл бұрын
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 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.
@tyfoodsforthought
@tyfoodsforthought 3 жыл бұрын
Beautiful project my friend! :) Bibites are so cute! Thank you for sharing!
@phills6732
@phills6732 2 жыл бұрын
This video got me going crosseyed in a good way. Good job!
@Modusiticate
@Modusiticate 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!
@flixou262
@flixou262 Жыл бұрын
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
@MrRyanroberson1
@MrRyanroberson1 4 жыл бұрын
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
@purplehaze2358
@purplehaze2358 Жыл бұрын
Seeing this old prototype for the simulation is oddly surreal.
@sijohnson5632
@sijohnson5632 4 жыл бұрын
Brilliant. Thank you for this, its mesmerising. Great use of neural networks and I'm looking forward to future developments. Thanks again
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
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
@MattMajcan
@MattMajcan 4 жыл бұрын
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.
@ernestoramos520
@ernestoramos520 3 жыл бұрын
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.
@fruitsicles
@fruitsicles 4 жыл бұрын
Came here from reddit, this is a really interesting project! Thanks for sharing.
@AkhierDragonheart
@AkhierDragonheart 4 жыл бұрын
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 4 жыл бұрын
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)
@EveryFConcept
@EveryFConcept 4 жыл бұрын
2:59 Neuro Evolution of Augmenting Topologies 3:16 Stanley K. O. 2002 3:19 RT-NEAT
@dinoschachten
@dinoschachten 2 жыл бұрын
Very nice thoughts on how every feature brings with it an efficiency penalty! I'm very excited to see this unfold!
@hazardgoose2352
@hazardgoose2352 Жыл бұрын
its amazing to see what how much this have evolved from the beginning!
@masterchief5603
@masterchief5603 4 жыл бұрын
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! 😊😊😊😊😊
@masterchief5603
@masterchief5603 4 жыл бұрын
Also I am new to this channel 😁
@captainbadassitude1845
@captainbadassitude1845 4 жыл бұрын
No way, you saw what happened with Cortana!
@masterchief5603
@masterchief5603 2 жыл бұрын
@@captainbadassitude1845 don't worry, his computer isn't enough to simulate her.
@voodoodoll4960
@voodoodoll4960 4 жыл бұрын
They needs a purpose to collaborate, look for the exploration exploitation dilemma, zero sum games. And thanks for the French subtitles :)
@voodoodoll4960
@voodoodoll4960 4 жыл бұрын
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.
@ProxyProof
@ProxyProof 4 жыл бұрын
Excellent and inspiring. Thanks for taking the time to make a video
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
I'll be making more !
@kyleschroder9045
@kyleschroder9045 2 жыл бұрын
What a cool idea. I'm fascinated by this story of the bibits.
@thatguynamedmorgoth8951
@thatguynamedmorgoth8951 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 3 жыл бұрын
So each color is associated with a job?
@antonstezhkin5991
@antonstezhkin5991 4 жыл бұрын
Feromones - add diffusion and hlaflife.
@Kiloristy
@Kiloristy 2 жыл бұрын
What a great video! It mixes so many disciplines!
@user-cd4bx6uq1y
@user-cd4bx6uq1y 2 жыл бұрын
2 years ago, I'm so happy that I found this channel
@user-cd4bx6uq1y
@user-cd4bx6uq1y 2 жыл бұрын
I mean found again
@TheBibitesDigitalLife
@TheBibitesDigitalLife 2 жыл бұрын
And it's a pleasure to have you back 😁!
@murkasp
@murkasp 4 жыл бұрын
what about cannibal bibites who eats another bibites and choose target by color
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
That would already be possible (if they evolve to do so) in the most recent update
@aricre8886
@aricre8886 4 жыл бұрын
but why the would do that? they can use feromones to indentify their own kind
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
@@aricre8886 but they have to evolve to do so !
@k.butler8740
@k.butler8740 4 жыл бұрын
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 4 жыл бұрын
Kyle real cost function would be potential damage taken during the fight.
@KJOB
@KJOB 4 жыл бұрын
For some reason most of the comments are people with experience with similar projects or at least have experienced programming such things. Wow
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Yeah, quite an awesome community :)
@vinisius
@vinisius 4 жыл бұрын
Such amazing project
@AnishWagle
@AnishWagle 3 жыл бұрын
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
@JeanJacket311
@JeanJacket311 Жыл бұрын
How is there only 1 comment this is CRAZY COOL!!!
@TheBibitesDigitalLife
@TheBibitesDigitalLife Жыл бұрын
The channel got banned by mistake by KZbin, and since being reinstated All my previous comments disappeared :(
@isaacmendes1926
@isaacmendes1926 Жыл бұрын
@@TheBibitesDigitalLife that's a shame. You got a pretty cool channel brother, subscribed.
@shadowdragon2484
@shadowdragon2484 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 4 жыл бұрын
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 Жыл бұрын
@@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!!
@thismianeptunis
@thismianeptunis 4 жыл бұрын
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
@sailbatten2056
@sailbatten2056 Жыл бұрын
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.
@preppertechnicianee6013
@preppertechnicianee6013 4 жыл бұрын
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
@ilovehumongoushonkers
@ilovehumongoushonkers 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 4 жыл бұрын
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 4 жыл бұрын
@@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.
@elchikoriko592
@elchikoriko592 4 жыл бұрын
@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.
@ObeyBunny
@ObeyBunny 4 жыл бұрын
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 2 жыл бұрын
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.
@FuZZbaLLbee
@FuZZbaLLbee 4 жыл бұрын
I think the obvious Additions would be flocking or non flocking, and housing, like a bee hive or anthill
@Aaqil6588
@Aaqil6588 Жыл бұрын
hi
@spor_ex
@spor_ex Жыл бұрын
Hi
@vivyanshakyaabhiyan5540
@vivyanshakyaabhiyan5540 Жыл бұрын
Hi
@justincrafty2683
@justincrafty2683 Жыл бұрын
Hi
@silasweber9633
@silasweber9633 Жыл бұрын
Hi
@bosanskirambo4066
@bosanskirambo4066 Жыл бұрын
Hi
@tomakist
@tomakist 4 жыл бұрын
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.
@Kiloristy
@Kiloristy 2 жыл бұрын
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.
@sebastianeggleton5417
@sebastianeggleton5417 4 жыл бұрын
yay colour now we can have racism! AI really is becoming more advanced these days
@Jim_WoodPike_Gherkin_WangWick
@Jim_WoodPike_Gherkin_WangWick 4 жыл бұрын
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.
@ddAAntes
@ddAAntes 4 жыл бұрын
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 ;)
@hasanyahya8384
@hasanyahya8384 4 жыл бұрын
this was a very entertaining video, i hope you keep producing such video.
@anubis63000jd
@anubis63000jd 4 жыл бұрын
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.
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Thanks a lot ! check my most recent video, you're in for a threat ;)
@vladkazakov4109
@vladkazakov4109 4 жыл бұрын
I think it is a great idea to make evolution process to food as well
@watsoncasal4954
@watsoncasal4954 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
Not easily, but under the right conditions*
@tomakist
@tomakist 4 жыл бұрын
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.
@lutum5292
@lutum5292 2 жыл бұрын
Great Work! Love your stuff
@david0aloha
@david0aloha 4 жыл бұрын
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 4 жыл бұрын
Yes ! I'll be working on that, I call it "procedural sprites" in my most recent video
@mckryall
@mckryall Жыл бұрын
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
@TheBibitesDigitalLife
@TheBibitesDigitalLife Жыл бұрын
You should see the most recent Videos!
@rutgervandeputte3685
@rutgervandeputte3685 2 жыл бұрын
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 :)
@rutgervandeputte3685
@rutgervandeputte3685 2 жыл бұрын
kzbin.info/www/bejne/kHrHdIZ4qN2LpLM
@mystwalker479
@mystwalker479 4 жыл бұрын
Neural Evolution of Augmenting Topologies sounds NEAT
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
I decided to call my implementation bioNEAT because there is enough differences from the basic NEAT algorithm, might even publish it !
@grumbo8634
@grumbo8634 4 жыл бұрын
Super boulot, hate de voir la suite !
@PaperDevil
@PaperDevil 4 жыл бұрын
Simply amazing! Keep up the good work! :)
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Thank you very much :) I sure will
@owls6514
@owls6514 4 жыл бұрын
OOH OOH OOH ! make a really cool custom forest background!!
@Sklasik
@Sklasik 4 жыл бұрын
Could you share this code you made ? It's dope and i would like to see how this is done.
@bsphera4026
@bsphera4026 4 жыл бұрын
photosynthesis bibits that making eggs and green things
@sebastianwette11
@sebastianwette11 4 жыл бұрын
I really like this project. Keep us updated please :)
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Absolutely ! New video coming out in like a week ;)
@NoMercy8008
@NoMercy8008 2 жыл бұрын
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!
@GameRocker
@GameRocker 4 жыл бұрын
This looks great man.
@s.l.960
@s.l.960 3 жыл бұрын
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.
@xanderxalamander9492
@xanderxalamander9492 4 жыл бұрын
To fix the problem with colours, how about different "Vision modes"? You could make a menu to switch modes and each one would use the coulur differentelly. Mode 1 could be the genetic colour (to see genetic drift), Mode 2 could show speed and so on. This way you could see what is needed at the moment.
@Christopher-xe4lb
@Christopher-xe4lb 4 жыл бұрын
You could add some personality with characteristic traits, such as tails. You could use a sin-wave tail that varies in length relative to the bibite's speed. In terms of pheromones, they can spawn discrete pellets that broadcast with a geometric falloff in intensity, and fade over time. You could also make it so the A, B, and C pheromones have individual characteristics in intensity and duration.
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Check my most recent video ;)
@CaraDeCoco
@CaraDeCoco 4 жыл бұрын
This is amazing!
@marfin1990
@marfin1990 2 жыл бұрын
For the different colors u could implement a selction for all parameters (speed, genetic variance, carnivore/herbivore, sending pheromones, etc.), so u can choose "on the fly" what your colorcoding is based on.
@utunga
@utunga 4 жыл бұрын
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
@AxeMurderer2222
@AxeMurderer2222 4 жыл бұрын
One of the things I noticed right off is the uniformity of the environment your creatures live in. Excepting the other creatures and food pellets there is nothing available for them to react to. Adding environmental obstacles which can either assist or repress the bibits' ability to survive and/or reproduce would be a great way to add interest to the project. Couple that with characteristics in the creatures that could potentially allow them to more effectively take advantage of the assisting type obstacles along with others that potentially allow them to more effectively resist the repressing type obstacles and I think the project would be far more interesting and diverse. Additionally, it would permit you to see what happens in different environments by altering what obstacles are present and in what ratios etc.. For instance, have two type of food pellets, one which is poisonous. Then implement a characteristic which determines how effective they are at discerning between the two. Also you have pheromone transmitters and receivers, but no antennas to determine the signal strength received or sent. This would be another good way to introduce more diversity into the population. For example, antennas can be either directional so they only detect pheromones in a forward cone or they can be omni-directional but weaker (less detection range). Food appears out of thin air. Instead, have an object that spawns the food somehow when they interact with it somehow. Maybe make it movable and make it so when two of them are positioned adjacent, they lock together and produce much more food, or much better food, than they do when separated. See if the creatures can figure out to push them all together.
@driftingdragon1
@driftingdragon1 4 жыл бұрын
I personally think you should have a 'hybrid' type approach to this. Having the LINE COLOR represents the status of one's evolutionary advantages etc, (Maybe even adding a feature, such as an antenna or pincers) But there's a vast combination of visuals to represent the evolution of these features. When watching them carry things around. That way you can still observe the process of genetic drift with the internal colors of the bibits for that factor.
@phxf
@phxf 4 жыл бұрын
This is really cute and I love the idea of it. One thought I had, is that it might be nice if the sprites of the bibites themselves were also evolved, and if some sort of simple aerodynamic sort of analysis could determine things like their mobility. for example, you could check the two sides, seeing which pixels are bibites edges, and which are empty space, and look for any diagonal two pixels, and add those up to determine how forward pointy they are, to get some sort of speed score on that side. You could treat the internal color area as an Energy Storage capacity, to incentivise them to be large, but treat any holes in their edges as a deadly mutation so they need to be strong and well defined too. You could possibly even relate different colors to different traits, which might cause them each to evolve interesting patterns as they trade a pixel here and there for changing their stats
@phxf
@phxf 4 жыл бұрын
Like what if Meat Digestion was a red pixel and Pellet digestion was a green pixel and bibites could evolve whatever mix they like? omnivores would look like a christmas theme! Maybe the area the pixels are in could be important too, like, what if it were possible for a bibite to evolve to be green on one side and red on the other, and as long as it is intelligent and eats the food with the correct side, it got an efficiency improvement in digestion?
@phxf
@phxf 4 жыл бұрын
you could possibly have an “eye” pixel, which creates a set of input neurons that encode what objects are in that direction, just by determining the angle the pixel is from the centre of the sprite, and checking what objects are in a certain area in that direction around the bibite
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
All great ideas :o not sure how I would come around implementing that tho. You seem well informed, send me a message at thebibites@gmail.com if you have tips or technology suggestions for me
@JadeReys
@JadeReys Жыл бұрын
This is so cooool!!! I've always wondered if we can do simulation of evolution. It would be awesome if we can play this as standby back ground on TV or desktop. It would be like an aquarium - then people would cultivate them like pets, where they have to monitor the parameters/environment to make sure they're alive or purposefully evolve cool looking species with lights or whatever
@JadeReys
@JadeReys Жыл бұрын
And you could also sell tools to maintain the "aquarium" like on the 100H simulation where it selectively kills non pink eyed mutation.
@jerrygreenest
@jerrygreenest 2 жыл бұрын
Snaps! I like those neural networks
@seanhardy_
@seanhardy_ 4 жыл бұрын
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_ 4 жыл бұрын
@@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!
@nitrothunderbird6740
@nitrothunderbird6740 4 жыл бұрын
I think that when the bibets eat or move food to eat later, the food should drop 2 seeds, so that the bibets sort of act like "bees" and the flower releases "pollen". Then it need fertilisation to grow and maybe you could even awldd a water system. Little lakes (watering holes), where all the animals go to eat, some carnevoures maybe even would wait to ambush their prey there (by random evolution). Or maybe the foods only release seeds if they are moved around. This mechanic might force toffee to bibets to learn they have to move it around.
@CSGdesign01
@CSGdesign01 4 жыл бұрын
Alife is an awesome thing to produce, great work so far! You ask for comment regarding the pheromones, etc. I would suggest that you either have the ability to pause the simulation and sample individuals and read their genomes, and/or a visual cue, such as pheromones being visually visible on screen (which will reduce the efficiency of your simulation). Since you've already said your computer is low on processing resources, the latter may not be practical, unless you choose to upgrade your computer. It seems to me such a simple simulation would be easily handled by a modern computer, so maybe you should consider upgrading to something faster to help you see more than 200 units "bibets". A population of 1000, or even 1,000,000 would yield far better evolutionary results, especially if you have a function for mating and passing on combined genetics, as you seem to suggest in your video. A great project, I'm interested to see where it goes!
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
Video out soon to show off just that :) !
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
But yeah I need a better computer ahah, and some help optimizing the game ahah
@4Dipayan
@4Dipayan 4 жыл бұрын
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 4 жыл бұрын
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 4 жыл бұрын
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
@NarattoRadians
@NarattoRadians 4 жыл бұрын
A good way to conserve energy is keeping the corpses around as food for scavengers, as well as allowing eggs to be eaten as they require a certain amount of energy to be produced.
@sherifaboulnasr9261
@sherifaboulnasr9261 2 жыл бұрын
Perhaps consider adding static obstacles, as well as a method where the brighter their colors ae the more likely they are to be spotted and eaten by other organisms or vice versa, would be rather interesting
@bernardlemay8563
@bernardlemay8563 2 жыл бұрын
As a French Canadian I find the name especially funny, as bibitte means critter to us. Great video btw.
@TheBibitesDigitalLife
@TheBibitesDigitalLife 2 жыл бұрын
Je sais, je suis quebecois aussi 😂 Et merci!
@tomakist
@tomakist 4 жыл бұрын
Complexity in metabolism: you could have different nutrient types and some particles that have no nutritional value. Then have sensors for the different types and stomachs to digest the different types. Some types you might have to eat a lot of but are plentiful, others might be hard to find but give a lot of energy.
@lilyrooney
@lilyrooney 4 жыл бұрын
This is amazing! what a great video and very well put together, easy sub. Toward the end of the video you mentioned how you're going to try and rework the energy system to be conservative. I wonder how that will play out in regards to parent/grandparent bibbits. They'll want to min-max their energy usage, right? but after they lay an egg, they'll find themselves in direct competition with their own family most likely. What if families had a pheromone network where any elders would get "satisfied" by helping their young, instead of themselves. As long as there's a child in their 'home' they'll try to stuff it full of food as much as it can. Either way, I look forward to seeing how your project evolves. Have fun with it!
@Rakinshu1203
@Rakinshu1203 4 жыл бұрын
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
@jaydeepvipradas8606
@jaydeepvipradas8606 4 жыл бұрын
You can add swarm behaviour by adding survival of the fittest plus surviving in groups. This can lead to species having shapes and eventually shapes can combine to produce organs like eyes and brains, as some shapes can be used for sensing.
@TheBibitesDigitalLife
@TheBibitesDigitalLife 4 жыл бұрын
I'm planning to add energy sharing
@lachlanstewart9314
@lachlanstewart9314 4 жыл бұрын
I’ve done something like this myself too! Very rewarding program
How  I added Viruses in my Evolving AI Ecosystem
13:27
The Bibites: Digital Life
Рет қаралды 78 М.
But what is a neural network? | Chapter 1, Deep learning
18:40
3Blue1Brown
Рет қаралды 15 МЛН
How much chalk do you think this took? #happykelli
00:12
Happy Kelli
Рет қаралды 46 МЛН
Өнер Қырандары - Мешіт 2024
34:59
ONER KYRANDARY
Рет қаралды 715 М.
Predation and Pheromones in an AI Ecosystem
11:01
The Bibites: Digital Life
Рет қаралды 88 М.
How to Create a Neural Network (and Train it to Identify Doodles)
54:51
Sebastian Lague
Рет қаралды 1,7 МЛН
Why is this number everywhere?
23:51
Veritasium
Рет қаралды 2,1 МЛН
I Created Life. Where is it going?
20:07
The Bibites: Digital Life
Рет қаралды 89 М.
How are memories stored in neural networks? | The Hopfield Network #SoME2
15:14
Coding Adventure: Ant and Slime Simulations
17:54
Sebastian Lague
Рет қаралды 1,8 МЛН
Why Neural Networks can learn (almost) anything
10:30
Emergent Garden
Рет қаралды 1,1 МЛН
The Evolution of Predation in a Simulated Ecosystem
18:40
The Bibites: Digital Life
Рет қаралды 366 М.
Simulating the Evolution of Teamwork
18:22
Primer
Рет қаралды 918 М.
Mi-35P Army combat-transport helicopter
0:22
Rosoboronexport
Рет қаралды 798 М.
⚡️Почему лайтнинг - убогий разъем
0:45
Pochinka_blog
Рет қаралды 1,2 МЛН
Google Pixel 4 pt.2
0:59
youngfix
Рет қаралды 1,5 МЛН
Обманет ли МЕНЯ консультант в 2024?
19:19
Харчевников
Рет қаралды 393 М.