Coding Adventure: Simulating an Ecosystem

Поділитися
Вставка
  • Опубліковано 14 чер 2024
  • In this coding adventure I attempt to simulate a simple ecosystem. Will the foxes and rabbits get along? Probably not...
    If you'd like to support the creation of more programming videos like this, please consider becoming a patron here:
    / sebastianlague
    This video was inspired by Primer's series on evolution. I highly recommend taking a look!
    • Simulating Natural Sel...
    As many in the comments have said, if you enjoy this, you may want to check out equilinox, which is an entire game based around creating an ecosystem. It’s awesome. • Equilinox Gameplay Dem...
    Source code:
    The source for this video is a total mess, which I don't really want to share!
    I'm working on a second part though, and you can find the work-in-progress code for that here: github.com/SebLague/Ecosystem...
    Music from filmmusic.io:
    "Inspired", "Deadly Roulette", and "Le Grande Chase" by Kevin MacLeod (incompetech.com)
    Licence: CC BY (creativecommons.org/licenses/b...)

КОМЕНТАРІ • 2,7 тис.

  • @Vohasiiv
    @Vohasiiv 4 роки тому +7894

    Shouldn't the foxes also have thirst and only eat if they need to? It might be more stable if they have other things to think about than to kill everything in sight

    • @nalissolus9213
      @nalissolus9213 4 роки тому +1189

      Same exact thoughts. Running (or moving in general) after rabbits should cost calories and thirst.

    • @sal_strazzullo
      @sal_strazzullo 4 роки тому +880

      And they should be full after a certain amount of rabbits eaten

    • @icecoldnut5152
      @icecoldnut5152 4 роки тому +420

      @@nalissolus9213 or make them not eat if they arent hungry enough

    • @OfficalCali
      @OfficalCali 4 роки тому +199

      Vohasiiv predators don’t just prey, they eat drink and ante as well. And most predators eat and don’t eat for a long time after a meal

    • @man.horror
      @man.horror 4 роки тому +190

      Exactly, big reason for failed hunts is a predator runs out of energy and prey gets away.

  • @leeroyjenkns5182
    @leeroyjenkns5182 5 років тому +5770

    Foxes: **Eat rabbits**
    Rabbits: **Die**
    Foxes: (・□ ・)

    • @___xyz___
      @___xyz___ 5 років тому +19

      ??? That made absolutely no sense.

    • @carteradams43
      @carteradams43 5 років тому +48

      @@___xyz___ no

    • @ratboychase
      @ratboychase 5 років тому +151

      @@___xyz___ the foxes eat all the rabbits, the rabbits die, fox regret

    • @skylarkenneth3784
      @skylarkenneth3784 5 років тому +40

      @@___xyz___ I think "All Rabbits: Die" would've made it clearer

    • @Phychologik
      @Phychologik 5 років тому +68

      Guys it's a surprised pikachu face

  • @Sulfrix_
    @Sulfrix_ 4 роки тому +3403

    4:14 "So i made something that hopefully looks at least a little bit like a fox"
    *shows a beautiful low poly fox model*

    • @icegod4849
      @icegod4849 4 роки тому +104

      IKR I wish I had that level of awesome rendering skills

    • @disrespecc9678
      @disrespecc9678 4 роки тому +149

      The rabbit model: **jealous**

    • @luxraider5384
      @luxraider5384 3 роки тому +11

      @@icegod4849 he may have just picked an opensource fox model

    • @olfmombach260
      @olfmombach260 3 роки тому +48

      @@luxraider5384 no, Sebastian Lague ain't no liar

    • @jarblewarble
      @jarblewarble 3 роки тому +8

      These low-poly models would look even better if they were rendered using subdivision surfaces.

  • @mustafazemin7101
    @mustafazemin7101 3 роки тому +448

    The worst part of this video is that it ends

  • @mikaxms
    @mikaxms 5 років тому +3150

    I think the foxes kill all of the rabbits, because of balancing issues. The foxes should reproduce slower and take longer before they are hungry, resulting in more rabbits per fox. The foxes also don't have any preditors, so the growth is only controlled by the survival meters. Also can the animals die of old age?

    • @Jonestr1986
      @Jonestr1986 5 років тому +369

      I was thinking a long the same lines. A fox would only eat one-ish rabbit per day, breed slower and, have other things to occupy their time when they aren't hungry. Rabbits would also be more defensive, like those hiding rabbits via burrows.

    • @milanstevic8424
      @milanstevic8424 5 років тому +135

      That's only to show that playing God ain't easy.
      Nature certainly has some self-balancing parameters at play, though it provably provides catastrophes and extinction events in case something overly disruptive happens, so these self-balancing parameters appear to be part of the gradual evolution of the species across the board, and not a part of some general design. In other words, Seb's approach to modelling this is fairly accurate, it's just that balancing it is HARD. It has to work by iteration and you simply cannot expect it to be absolutely perfect ever (unless an AI was implemented to address this self-correcting behaviour on its own, which would be interesting to watch; and since the AI would also have to learn the rules on the fly, it wouldn't do things any better than a human would, it would only learn more reliably and apply changes faster; by this argument, God is imperfect by definition lol, hence any theological God cannot possibly exist, because the omnipotence there is assumed).
      All being said, this is definitely not a simulation, but a playful exploration of how to implement a basic living ecosystem in Unity.

    • @iago1840
      @iago1840 5 років тому +32

      @@milanstevic8424 lol, the omnipotence paradox is solved if the omnipotent being created a rock he cannot lift in superposition with one he can: That's exactly us, human beings, both under his will and with free-will at the same time. We are the rock God cannot lift, so yes, a omnipotent being is not impossible to exist (neither he needs to create something stronger than him to be omnipotent, he could do that with himself, being infinitely omnipotent)

    • @milanstevic8424
      @milanstevic8424 5 років тому +9

      @@iago1840 absolutely true, but that argument presupposes free will, while mine is completely mechanical, or at least I tried to make it as such.
      from that point on, of course strictly theologically speaking, God could exist, but he would have to abandon the notion of omnipotence. therefore things could happen without his own volition (in other words, he's ought to make a mistake), and this is basically what Devil is -- clearly a religious notion of free will/err as you described it. but still no omnipotence anywhere to be seen. I guess it would violate all laws of thermodynamics anyway :)
      anyhow, all of this is practically a nod in the direction of simulation hypothesis imho. not that I'm prescribing it as a solution per se, but it's definitely a strong suggestion.
      not to mention that here we are, in a cascade down the ladder, commenting a simulated ecosystem as if we're Gods, yet we can all agree that we're not omnipotent.

    • @iago1840
      @iago1840 5 років тому +7

      @@milanstevic8424 well, there's still omnipotence there, an omnipotent being should just be able to do something, not forced to do it to prove he's omnipotent, and teologically speaking, he would not even be part of reality, violate thermodynamics is as easy as stopping imagining the world (because this is kinda what it means teologically: God don't create things and let them alone as we humans "do", he keeps "thinking" or "recreating" everything to these things exist on our reality, just as how we imagine things: if we stop imagining, it simple vanishes from the "imagination reality" - that kinda creates other paradox, as he's not omnipotent if he needs to be imagining all things, but he's omnipotent, omniscient and omnipresent, related to what WE call reality, just as we're omnipotent, omniscient and omnipresent related to our imagination)

  • @preddy09
    @preddy09 5 років тому +841

    In the quest for a perfect simulation the more variables you add, the more you realize there are more variables to add.

    • @ETXAlienRobot201
      @ETXAlienRobot201 4 роки тому +10

      yep...
      also
      CLICK HERE AND GET A PRIZE...OR SOMETHING...

    • @TheRainHarvester
      @TheRainHarvester 4 роки тому +5

      Lol, yes. I took a different approach: bio-digital life that emerges from simple rules.. Search my channel for "Heartbeats and blood flow".

    • @peeblekitty5780
      @peeblekitty5780 4 роки тому +4

      Yep. This is why I would have the worst time making a survival simulation game, though it is cool to see when survival game devs put in that extra touch of realism over just "hunger bar thirst bar" without diminishing gameplay, like Saurian's minor digestion delay/fullness bar thing over the normal hunger bar.

    • @d-o-n-u-t
      @d-o-n-u-t 4 роки тому

      More subjects = more variables, but more variables = less subjects because they die off due to having more things to worry about.

    • @ghosthitt849
      @ghosthitt849 4 роки тому +2

      Haha yeah. Every time something is added it becomes more interesting though. If I had more time to learn to create this stuff I would want to mess around with this 24/7

  • @thel0n3lytramp63
    @thel0n3lytramp63 4 роки тому +1019

    The foxes should hunt only when they are hungry, the foxes should also need to drink water as well.

    • @T1Oracle
      @T1Oracle 4 роки тому +111

      They should also get more hungry and thirsty the longer they hunt and die if they don't eat or drink enough.

    • @lennonjesus3673
      @lennonjesus3673 4 роки тому +95

      And they should take a little more time to eat the bunnies instead of instant.

    • @halbkuppe4895
      @halbkuppe4895 3 роки тому +1

      do it

    • @talonstride
      @talonstride 3 роки тому +2

      Are foxes omnivores or carnivores?

    • @hugo57k91
      @hugo57k91 2 роки тому +1

      @@T1Oracle Isn't that a self feeding cycle

  • @bira3232
    @bira3232 4 роки тому +2831

    god: But unfortunately i wasn't gonna let him have such an easy life.

  • @stealthy1223
    @stealthy1223 5 років тому +2563

    *Deploys foxed that can instantly kill a rabbit and never stop eating until everything is dead*
    Ecosystem!

    • @Erebus2075
      @Erebus2075 4 роки тому +85

      that's sound like the first capitalist ;P

    • @dawgie1253
      @dawgie1253 4 роки тому +125

      @@Erebus2075 *Deploys economic system that normalizes social inequity and monetizing natural resources to no end* Free market!

    • @ThatOneDudeWhoPostsStuff
      @ThatOneDudeWhoPostsStuff 4 роки тому +4

      Sounds like Epic Games Store. *Capitalism!*

    • @OriginalCatfish42
      @OriginalCatfish42 4 роки тому +10

      Thats not a fox thats a human!

    • @weasle2904
      @weasle2904 4 роки тому +38

      @@dawgie1253 AH yes, we should be employing communism instead. Cuz that always worked out /s

  • @unity
    @unity 4 роки тому +4828

    Great video Sebastian! Super interesting use of Unity! - Matt

  • @jcfiggy
    @jcfiggy 3 роки тому +358

    1:15
    Rabbit: “searching for mate”
    Later: “mating”
    Later: “SeArChInG fOr MaTe”

  • @sheditz4962
    @sheditz4962 4 роки тому +1091

    bunnies: jump up and down
    youtube: DEMONETIZED FOR SEXUAL CONTENT

    • @sethdesilva
      @sethdesilva 4 роки тому +11

      69 likes so cant add one more

    • @sheditz4962
      @sheditz4962 4 роки тому +18

      @@sethdesilva You are doing a good deed my sir.

    • @sheditz4962
      @sheditz4962 4 роки тому +33

      @@whenyournameisduoduos1282 Sorry but I'm currently doing homework :/. It's on who asked. The equation is x = 1 - (24/24). X stands for who asked. Could you help?

    • @okyes3995
      @okyes3995 4 роки тому +5

      your brain is the equation

    • @slevinchannel7589
      @slevinchannel7589 4 роки тому +6

      UA-cam cares Shit for that, they just sometimes pretend so people think they're doing their job.
      But actually, you can find anything on UA-cam. ANYTHING. It's disgusting sometimes.

  • @Sausytime
    @Sausytime 5 років тому +1133

    Reminds me of Thin Matrix's project Equilinox.

    • @danielridge6000
      @danielridge6000 5 років тому +44

      I was just thinking the same thing. It's a fun little game to play.

    • @aloufin
      @aloufin 5 років тому +15

      that video where he gets throat cancer hits hard! like he is trying to live so healthily by eating right and escaping the city to the parks, then bam!

    • @kevnar
      @kevnar 5 років тому +1

      It also reminds me of Maxis's Sim Life from back in the 90s. You can play it free online, I believe. Worth checking out.
      classicreload.com/res/simlife.html

    • @redfireflames441
      @redfireflames441 5 років тому +1

      same

    • @ordenhartley1309
      @ordenhartley1309 5 років тому +4

      Same actually thought that’s what I was clicking on. 😂

  • @Zholat
    @Zholat 5 років тому +2502

    So uh.. could you reduce my List of unimpressedFemales? My ForgetRejection Timer seems to have stopped working...

    • @senismarsenis9678
      @senismarsenis9678 5 років тому +11

      kekkeke

    • @anthonyconde7604
      @anthonyconde7604 5 років тому +232

      Grow red fur, incel

    • @RoxOn413
      @RoxOn413 5 років тому +94

      *hands you a can of red paint* there you go m8, now good luck

    • @blackturbine
      @blackturbine 4 роки тому +5

      My ForgetRejection timer overflown functions as My Happens

    • @MouseGoat
      @MouseGoat 4 роки тому +3

      @@anthonyconde7604 woa, brutal

  • @littlepomacanthid
    @littlepomacanthid 3 роки тому +165

    The concept you touch on at 6:16 is interesting, and there’s actually a similar situation in real-world ecology! In the wild, it’s common for prey animals to re-establish from areas called “refuges,”which predators can’t access easily. This usually occurs after predator populations decrease and is partly responsible for boom and bust reproductive cycles like the ones you saw in your simulation. If you want to play with this model more, you might wall off a couple of areas to foxes and see what that does.

    • @UndoneOne
      @UndoneOne 2 роки тому +6

      Some foxy cannibalism would emerge, surely.

    • @AlexDC93
      @AlexDC93 6 місяців тому

      Thats a very interesting point.
      Also it may benefit to have some sort of aggression between foxes to emulate territories as that appears to be how modern large predators protect their food sources from over predation.
      Also fitness may also have an important role.
      ie healthy rabbits should always escape. Only old, sick or young rabbits should be easily caught which means their should always be a stable adult population.

    • @arjandikhoff5201
      @arjandikhoff5201 4 місяці тому +1

      I coded a simulation like this when I was a biology major, using fish and sharks. Adding something we called an 'atol' will indeed stabilize the predator/prey cycle. The atol was a sectioned off space that predators could not enter (due to being too big to fit through the barrier for example). This will create a safe space where the fish can procreate without the chance of being eaten, ensuring there is always a small population of prey that can repopulate the rest of the area once the predators start dying off.

  • @MrJimbo925
    @MrJimbo925 Рік тому +99

    I know this is 3 years old now, but I really want a part 2 please.

  • @RenbeOfficial
    @RenbeOfficial 5 років тому +390

    one reason why the foxes dominate is that there's no rest mechanic. in real life apex predators have to expand markedly more energy to acquire their food and generally run their bodies. this is why lions, for example, spend most of their time resting. they preserve their energy so they can hunt successfully.
    if the foxes need to rest for a time after a certain amount of kills then the rabbit population would have time to recover. one way to do this organically would be to give the foxes an exhaustion meter and allow them to hunt until said meter has run out, then have them rest for a while to get it back up to a certain point before being able to hunt again.
    you can create more genes around this mechanic. so some generations of foxes would be able to expend energy more efficiently, lower the threshold required for hunting, or speed up their energy recovery!

    • @57thorns
      @57thorns 5 років тому +11

      One way to simulate this would be to allow energy expenditure depend on current speed, and not always moving at top speed. But there are tons of way to simulate populations, and this one shows (more or less) when it does not pay to be a predator.

    • @ranjithrans
      @ranjithrans 5 років тому +2

      Interesting. May I ask if the resting duration of rabbits (also herbivores, prey) in general are lower than their predators? What is your opinion?

    • @57thorns
      @57thorns 5 років тому +6

      @@ranjithrans In general yes. Cats (of all sizes) sleep most of the day, while gracing animals tend to eat most of the day.
      But the largest herbivores really have no other safe spot that herds. Smaller animals like deer can hide in tall grass or bushes, rabbit in burrows. They would really gain from an efficient food source.

    • @ranjithrans
      @ranjithrans 5 років тому +1

      @@57thorns hmm... I had this idea (without any research) that herbivore food takes more time to digest and get transferred into energy than carnivorous (maybe watching cows etc gave me the idea).
      Anyway, adding nutritional values to food leads to more complex code with little gain in the outcome for a simplified simulation. Reducing energy with respect to speed looks like a good approximation.

    • @martinmikkelsen8183
      @martinmikkelsen8183 4 роки тому

      bullshit...

  • @QuestionMark43
    @QuestionMark43 5 років тому +876

    "Which I hope looks a little bit like a fox." Dude your modeling skills are pretty good no need to flex on us like that...😂

  • @samllyn
    @samllyn 3 роки тому +470

    "if she rejects him he'll add her to his mental list of unimpressed females and wont approach her again"
    good guy rabbit
    "until he's forgotten about it a little while later"
    typical guy rabbit

    • @andrew-paulclements1502
      @andrew-paulclements1502 3 роки тому +38

      Good Guy Rabbit with bad memory.

    • @kristimeacham6987
      @kristimeacham6987 3 роки тому +32

      Lolol *codes in "ForgetRejection"*

    • @baronvonbeandip
      @baronvonbeandip 2 роки тому +12

      Also called persistence.

    • @lelrond
      @lelrond 2 роки тому +25

      @@baronvonbeandip nooo what. If you've been overtly rejected, never ever pressure the person you're interested in. It's nearly always highly uncomfortable for them and your chances of success are low anyway. Just stop. :(

    • @inanitas
      @inanitas Рік тому

      @@lelrond hiGhLy uNcomPfoRtAbLE. Yeah right mate, that is life. If you're uncompfortable with being asked again way later you should just stay inside, because that is what babies are supposed to do. A generation of wimps man, I hate them.

  • @rendeer8822
    @rendeer8822 4 роки тому +531

    Instructions unclear, am covered red paint and still don't have a girlfriend

    • @Hambo144
      @Hambo144 3 роки тому +32

      You didn't use enough

    • @melody3741
      @melody3741 3 роки тому +31

      You have to hop around randomly then when you see them hop up and down in place!

    • @curiously-cinnamon
      @curiously-cinnamon 3 роки тому +14

      Your first mistake was using paint. A false red coating such as this couldn't possibly attract a female which evolved to have superior eyesight. You must tan your skin red naturally. Secondly, you must reduce your memory capacity so that rejections won't weigh you down for long and you'll get back in the game looking for a GF. Implement these and your chances should increase by 63% by my estimations. Good luck, and do your best!

  • @RobertMilesAI
    @RobertMilesAI 5 років тому +510

    You and SethBling both doing this kind of thing!
    And yeah, getting predator/prey simulations to be stable usually needs much larger populations

    • @SebastianLague
      @SebastianLague  5 років тому +89

      Woah, I thought I recognized your name... Love your videos, I always drop whatever I'm doing when I see a new one is out :)
      I'll have to try it with larger populations in the future, thanks!

    • @user-xh4vy3ro6y
      @user-xh4vy3ro6y 5 років тому +4

      I'm guessing the diversity of species would make a bigger difference compared to raw population size.

    • @DmitryRomanov
      @DmitryRomanov 5 років тому

      It looks like bigger domain will do. If new bunnies may grow during L/Vfox, the fox may feed itself forever, IMHO. And new seed bunnies may survive because of they are just far enough 🤞🏻

    • @RobertMilesAI
      @RobertMilesAI 5 років тому +11

      @@SebastianLague Haha, same to you :)

    • @Michal235
      @Michal235 5 років тому +6

      @@DmitryRomanov I was also thinking about a new attribute of rabbits that would decrease distance from which a predator can sense the rabbit. It would be like:
      > predator sense distance: 1000
      > rabbit hide attribute: 100
      > outcoming predator sense distance for this perticular rabbit: 900
      Young rabbits may have this attribute multiplied (so if a rabbit borns with this attribute equal to 120, when he's young it should be multiplied by ~3, decreasing over time to the value of 120 as he grows).

  • @jeffthevomitguy1178
    @jeffthevomitguy1178 5 років тому +137

    Fox: exists
    Rabbit: We’re in the endgame now

  • @andreibalasa745
    @andreibalasa745 4 роки тому +112

    All I want for Christmas is this man's knownledge in programming

    • @christianeriksson4733
      @christianeriksson4733 2 роки тому +13

      All the knowledge is out there, the question is if you´re motivated enough to gather it and develop it.

    • @InvasionAnimation
      @InvasionAnimation Рік тому +2

      Me too! I'm trying to learn to code and I am simply not smart enough to get it. I managed to copy a few lines like hello world.

    • @azeTrom17
      @azeTrom17 11 місяців тому

      The basics of coding are pretty easy, actually, and from there you can learn whatever you're interested in. If you really wanna learn, give it a shot!

    • @tristanmoller9498
      @tristanmoller9498 5 місяців тому

      The UA-cam channel CodeWithMosh created a huge leap in knowledge for me. The guy has an online school, where you can pay for courses but depending on the programming language, he has full UA-cam videos online.

  • @PunnamarajVinayakTejas
    @PunnamarajVinayakTejas 4 роки тому +47

    "H's not likely to have much luck though, on account of being the only rabbit in existence" LMAO

  • @sykoo
    @sykoo 5 років тому +237

    These Coding Adventures are fantastic! 😁
    Also that reproduction animation though... thought UA-cam would take this down for a moment 😂

  • @SebastianLague
    @SebastianLague  5 років тому +353

    Hello everyone! Thanks for all the great suggestions so far on how to balance the system, and where to take it in the future. Will definitely work on an updated version sometime!
    Just want to clear up something I inexplicably failed to mention in the video, which is that foxes do have their own hunger/thirst/etc properties, so they’re not just constantly hunting as it appears from the little clip I showed. They do also have longer reproductive cycles, get hungry less quickly than rabbits, and die from old age.
    The code for this project is a total mess, so I don't really want to release it. However, I'm currently reimplementing and expanding on it for a second part, and you can find the work-in-progress code for that here: github.com/SebLague/Ecosystem-2/tree/master
    If you'd like to support the creation of more programming videos like this, please consider becoming a patron of the channel here: www.patreon.com/SebastianLague.

    • @mikaxms
      @mikaxms 5 років тому +2

      Yeah Primer's videos are great, I discovered him a couple of weeks ago. Your simulation is also more detailed than the Equilinox game from ThinMatrix.

    • @l.t.cgaming2157
      @l.t.cgaming2157 5 років тому +1

      remake the planet generation series its outdated please

    • @user-xh4vy3ro6y
      @user-xh4vy3ro6y 5 років тому +1

      Really cool! I bet if you put more species in and alternative food sources for the foxes, the rabbits and foxes could reach an equilibrium. Now I really want to try this for myself!

    • @DeMoZyou
      @DeMoZyou 5 років тому +6

      Can you show the code?)

    • @muevecubos
      @muevecubos 5 років тому

      Incredible video! Like many others said any change to get the code of this Code Adventure?? Thanks and awesome job as always!

  • @yugen7147
    @yugen7147 4 роки тому +46

    The bunnies should have had a certain % chance to escape the fox; I think in the wild, most of the time a predator doesn't make the kill. The fox should also have a certain amount of energy - enough energy to only make like 5 attempts at killing a bunny. If it fails to do so in those many attempts, it should die off.

  • @sirdurtle9519
    @sirdurtle9519 3 роки тому +16

    Most likely the foxes and rabbits can’t coexist for two reasons: 1, the foxes aren’t thirsty and 2: the rabbits can’t burrow

  • @hedonyable
    @hedonyable 5 років тому +305

    I feel like you will end up simulating a whole planet. And I love that idea.

    • @y.z.6517
      @y.z.6517 5 років тому +12

      He needs GPUs the size of a planet.

    • @borjanpeovski7615
      @borjanpeovski7615 5 років тому +3

      He could do make this on a sphere instead of a plane so it would resemble a planet. Similar to how he did in one of his ludum dare games. Would be cool to see that.

    • @jona7164
      @jona7164 4 роки тому

      He could also just code a little planet.

  • @Kanerade
    @Kanerade 5 років тому +56

    You seriously need to make another one of these videos.

  • @AethernaLuxen
    @AethernaLuxen 4 роки тому +38

    "Alright, it's safe to look again"
    _oh thank god lmao_

  • @SorchaSublime
    @SorchaSublime 3 роки тому +5

    i think a way to balance things a bit would be tohave the foxes work more like the bunnies, where they only eat if they are hungry, need to drink and reproduce. Also you can make their gestation and development period much higher. you could also make the growing of plants dynamic so that they actively spread and can be eaten to extinction. tbh this system could be expanded upon endlessly, it's pretty neat

  • @shimakeemakenza4469
    @shimakeemakenza4469 5 років тому +134

    Wow, amazing...
    Having a safe place for the bunny like a burrow would be good... that way they only take risk when certain need arise... not always being exposed to be hunted...

    • @diepssuarez2676
      @diepssuarez2676 5 років тому +15

      Shimakee Makenza in addition you could add a “Fear Gene” with lower fear the bunnies don’t care about the foxes, getting more food but having a higher chance of getting eaten. Higher fear means the rabbits constantly stay in holes even if they are starving and they have a higher risk of death for that! Great idea

    • @imveryangryitsnotbutter
      @imveryangryitsnotbutter 4 роки тому +1

      @@diepssuarez2676 And at 0 Fear you get Okunoshima.

    • @peeblekitty5780
      @peeblekitty5780 4 роки тому +2

      Yeah, my guess is the bunnies all died because they could hardly take a step without entering a fox's detection range. Running would work fine if there weren't threats everywhere you go...

  • @pectoralismajor1097
    @pectoralismajor1097 4 роки тому +514

    The true goal of every Programmer: Becoming a GOD

    • @icegod4849
      @icegod4849 4 роки тому +11

      LMAO so true

    • @benevolentmadman5225
      @benevolentmadman5225 4 роки тому +8

      If you're trying to create something , that's usually the highest skill ceiling you would ever reach in any profession provided they are getting better with practice.

    • @user-me7hx8zf9y
      @user-me7hx8zf9y 4 роки тому +21

      @@benevolentmadman5225
      The words every programmer dreads:
      finally, it works, but is it efficient?

    • @MaiMaiStrawberrylovely7750
      @MaiMaiStrawberrylovely7750 4 роки тому +2

      Yes!!

    • @falconeer4382
      @falconeer4382 3 роки тому +11

      i mean technically if you think about it, if God exists, he literally is a programmer xD

  • @meh-pc2tw
    @meh-pc2tw 4 роки тому +11

    You could add some code for day and night so that all foxes fall asleep at night allowing the bunny's to regain a bit of their population

  • @orange0170
    @orange0170 2 роки тому +2

    2:30 this says so much about society

  • @Nyck0s
    @Nyck0s 5 років тому +277

    Hey Sebastian, amazing video! Would love to see more videos like this one

  • @TheZeclus
    @TheZeclus 4 роки тому +656

    No one :
    Sebastian : ok guys ive added humans and now theyre trying to see if theyre simulated, no biggie !

    • @betin731
      @betin731 4 роки тому +14

      dead meme

    • @thecuriousgorilla6005
      @thecuriousgorilla6005 4 роки тому +27

      @@betin731 AI takeover isn't a killable meme by merit of being possible

    • @jensb3946
      @jensb3946 4 роки тому +11

      @@thecuriousgorilla6005 Not what he's talking about you fucking idiot

    • @benlyman115
      @benlyman115 4 роки тому +7

      @@jensb3946 mean

    • @ljhoser5842
      @ljhoser5842 3 роки тому +9

      @@thecuriousgorilla6005 he is talking about the no one:
      someone:
      format

  • @MultiFreaky123
    @MultiFreaky123 2 роки тому

    I would love to see you explore this a lot more. There are so many things to add and interesting discoveries to make! Really enjoying your adventures :)

  • @anoukmeuwsen8583
    @anoukmeuwsen8583 4 роки тому +1

    I really like this style that primer and Sebastian use its very cool! Keep it up both of you!

  • @Fire321Star
    @Fire321Star 5 років тому +70

    I don't care how long it takes you to post it, but thank you thank you thank you so much for announcing that you will be posting source code for this eventually. You have no idea how excited I am to add on to this. Thank you again so much. keep making videos like these, the coding adventures. I really like them and this one in particular.

  • @MatthewBishop64
    @MatthewBishop64 5 років тому +67

    Wow that was some pretty disturbing and graphic bunny porn.

  • @hydrofrog6496
    @hydrofrog6496 4 роки тому

    i hope you plan to do more with this, as it's a really cool concept and im sure im not the only one who wants to see more.

  • @GameDevHQ
    @GameDevHQ 3 роки тому

    Your channel has become just another level of quality. Love it!

  • @boxicknowsbest9100
    @boxicknowsbest9100 5 років тому +96

    I've been waiting for this! Can't wait to see more stuff on terrain generation, keep up the awesome work (your graphics are always amazing!)

  • @eL3ctric
    @eL3ctric 4 роки тому +119

    This is so interesting!!! What Library did you use for the graphics?

    • @SebastianLague
      @SebastianLague  4 роки тому +71

      Thanks! Models were created in Blender, and everything put together in the Unity game engine.

    • @j_respect5948
      @j_respect5948 3 роки тому +2

      @@SebastianLague hey sir, can I ask if how I can animate an obj or .stl file or maybe if those can't be animated,what the best file format for animating 3d models in games

    • @asadityas67
      @asadityas67 3 роки тому +3

      @@j_respect5948 you can import obj or stl file in blender and "rig" them, then you can animate the object and export as fbx, or you can use the blender format if you use unity

  • @smileyp4535
    @smileyp4535 4 роки тому +63

    "of course I wasn't going to give him such an easy life so I gave him hunger and thirst" my god, that litteraly sounds like a quote from some creation myth for some religion, that's almost eerie lol

  • @flobbinhoodgames8117
    @flobbinhoodgames8117 4 роки тому

    I love how enjoyable you manage to make these videos!

  • @StephenOwen
    @StephenOwen 4 роки тому +95

    You know what would be cool? An instructional series like : here's how to go from a default new project to an overhead view with some terrain.
    Then something like ' Here's how to add characters and here is how to setup one basic behavior', and then build in complexity from there. I know, it sounds like a lot of work but I know I would be interested in seeing ho you do it!

    • @funkyflames7430
      @funkyflames7430 4 роки тому

      Stephen Owen Livestream??

    • @saito853
      @saito853 3 роки тому +1

      He published the code on Github, just take a look at it.

    • @KenikoB
      @KenikoB 3 роки тому +6

      @@saito853 code and step by step aren’t the same thing

    • @argmentum22
      @argmentum22 3 роки тому +2

      think this would be a great idea, from implementing basic terrain to basic entities to behaviour.

  • @CosmicCleric
    @CosmicCleric 5 років тому +254

    "Source code: Coming soon.."
    Any ETA on this? I'd love to learn how you handle the programming for this! Thanks.

  • @MiquelCanal
    @MiquelCanal 2 роки тому

    I'm enjoying your channel a lot, impressive work Sebastian!

  • @HappyGamerNick
    @HappyGamerNick 2 роки тому +3

    It’s really amazing to see natural selection so simplified 😍

  • @rasmus4521
    @rasmus4521 4 роки тому +4

    Please make a continuation of this!
    I am in awe of your proficiency in coding, video creation and execution of your ideas!

  • @josephrogers1282
    @josephrogers1282 5 років тому +9

    I've been fascinated by the idea of creating a simulation like this for ages but never quite got around to doing it, so thank you. I look forward to having a peek at the source code when you're ready to release it.

  • @dominiksmeda7203
    @dominiksmeda7203 4 роки тому

    This is so cool. Those kind of things motivate me to learn programming and do something similar on my own in the future. Man you are awesome. I hope I'll be able to make such amazing things.

  • @lucystarlight8887
    @lucystarlight8887 2 роки тому +17

    The relationship between fox and rabbit populations, with one rising and the other falling, is generally what happens with predators and prey in real life, like wolves and deer. This is a pretty good sign that your simulation is at least somewhat realistic. Awesome video!

    • @mauer1
      @mauer1 Рік тому +1

      well its a good sign that the simulation does exactly what it should do.
      realisticly the foxes wouldnt need to hunt that eagerly

  • @umadbroyo2388
    @umadbroyo2388 5 років тому +5

    What amazing timing!! I was literally googling for tutorials on this topic for the past few days!!

  • @olebatting
    @olebatting 4 роки тому +32

    Try adding field of vision; ie predators with narrow field of vision (maybe with depth perception), and prey with large field of vision

  • @HansMilling
    @HansMilling 2 роки тому

    Great video, it’s fun with all your experiments. Reminds me when I started coding on my C64, trying all sorts of techniques, algorithms etc out.

  • @Sawta
    @Sawta 3 роки тому +4

    If you do an update to this simulation, it would be interesting to see you include other variables, like how each animal acts during day/night, temperature, weather, diseases, greater variety of plants, issues with plants (not fully developed, rot, undersized, oversized, etc.), and communal/social aspects (burrows, dens, etc.)
    If you would like some inspiration that isn't from a research paper, I'd recommend reading Watership Down. I'm reading through it now, and it's really great!

  • @anthonytonev1357
    @anthonytonev1357 5 років тому +59

    I don't think that most people understand just how gifted you are.

  • @dynamichunter843
    @dynamichunter843 5 років тому +3

    This is actually really awesome! I would love to see more "simulation" type game coding from you! Blew my mind and really interests me

  • @rogerwinright2290
    @rogerwinright2290 4 роки тому

    This is absolutely fascinating!
    Thanks for sharing!

  • @kobilica999
    @kobilica999 4 роки тому +1

    Seriously enjoyed it, single video I finished in whole day!

  • @Kimchi_Studios
    @Kimchi_Studios 5 років тому +3

    You do such a great job explaining your creative process!

  • @LucidTactics
    @LucidTactics 4 роки тому +12

    The main mechanic that you are missing is a defense mechanism for the prey. There needs to be a cost to engaging the mechanic (so they don't just engage it all the time) and it needs to offer pretty good protection. Here are some examples from the natural world:
    Ponds/Aquariums: Dense cover/vegitation allows spaces where larger fish can't get in to find smaller fish; but since only a small portion of the biom has dense cover; to increase population density small fish need to venture out to feed.
    Rabits & Holes: Rabits can hide in holes with multiple entrances & exits to evade predators that they cant outrun over long distances. The cost is pretty obvious; you cant feed or anything while in a hole, nor can you see much.
    Buffalo & Protective circles: Water buffalo will often form walls of flesh and horn when repelling a predator. This works for a while but eventually they need to spread out to feed.
    Honestly there are as many of these as there are predator prey relationships. That is because whenever a hunter has an extreme advantage over its prey, they basically hunt them to extinction as their own population explodes.

    • @benlyman115
      @benlyman115 4 роки тому

      @dolofonos huh?

    • @Kugelschrei
      @Kugelschrei 3 роки тому

      100% agree, to get a balanced ecosystem the environment can't favor one over the other - or to put it in other words, both species have to be able to coexist without a crushing advantage for one species.

    • @seraphina985
      @seraphina985 3 роки тому

      I also think the simulation could benefit from some additional work which puts the populations under stress if they overproduce. Changing the breeding desire mechanic could help here have both populations have needs like Rest, Hunger, Thirst etc that they will prefer to satisfy first before looking to breed. Thus simulating the reality that when merely surviving gets hard for the adults birth rates tend to fall. This in combination with having an effective floor on the per capita death rate by adding a limited lifespan for the animals would perhaps help to curb excessive population spikes. The closer the population got to outgrowing it's food supply the more time animals would spend trying to find food only to come home exhausted and hungry. Make it so they have a reduced desire to mate when that happens to simulate the natural tendency for the growth curve to flatten out and fall into decline when members of the population have to invest pretty much all their time just to try and support themselves and their existing offspring to have time for breeding so much.

  • @erin2150
    @erin2150 4 роки тому

    These are so fun to watch, glad I found your channel :)

  • @DarkBlueChemical
    @DarkBlueChemical 4 роки тому

    You are a mad genius and I admire you greatly because you inspire me to learn to do similar creative projects and more!

  • @frostden
    @frostden 5 років тому +4

    To fix the extinction problem, you could try making the foxes territorial, so they fight each other, becoming more likely to fight each other as the population density increases. That would put negative pressure on large populations.
    Something like parasites could model the same effect.
    Or allow rabbits to hide? Hiding rabbits can't be eaten by foxes, but their hunger+thirst meters continue to rise. The most successful rabbits will find the right balance between cowardice and bravery. Hiding rabbits could give a 'backup' population of rabbits to survive explosions in fox populations.
    Also, you could try a larger map, so that oscillations in either population are statistically less likely to hit 0.

    • @markoap91
      @markoap91 5 років тому +1

      Agreed. I recommended similar things. I think it's a right direction to move in and see what happens.

  • @MathematicsOptimization
    @MathematicsOptimization 5 років тому +16

    Heavily related to the Lotka-Voltera-Equations

  • @RealityScapeStudios
    @RealityScapeStudios Рік тому

    Very cool! I will use something similar running on the background for my Survival gamethat way players have a direct impact on the ecosystem. I like what you did here.

  • @DaRat100
    @DaRat100 3 роки тому +1

    Thank you for the knowledge, love you!

  • @ivannintendo
    @ivannintendo 4 роки тому +7

    Im really liking these "simulations of complex systems" videos lately on youtube

  • @judechauhan6715
    @judechauhan6715 5 років тому +4

    This very simple but effective simulation is pretty cool. The fox to rabbit pop almost exactly matches real life examples of predator and prey except for the going extinct part XD

  • @12321dantheman
    @12321dantheman 3 роки тому

    dude this channel is so great. Inspiring me to try and improve at programming

  • @thefirstcoatline
    @thefirstcoatline 4 роки тому

    Amazing. You really helped me out and inspired me to try to make something like this.

  • @GEONEgaming
    @GEONEgaming 4 роки тому +8

    Sebastian: "Simulating an Ecosystem in 6 minutes"
    ThinMatrix: Guess I'll die

  • @ShankarSivarajan
    @ShankarSivarajan 4 роки тому +154

    "The rabbit runs faster than the fox, because the rabbit is running for his life while the fox is only running for his dinner." You clearly didn't implement this in your ecosystem.

    • @BertyLohani
      @BertyLohani 4 роки тому +33

      Ew why would you quote Dawkins.
      It isn't really relevant either. The fox is running for its life because if it doesn't eat it will die. They're both running with equal importance.

    • @SirBenjiful
      @SirBenjiful 4 роки тому +29

      @@BertyLohani yeah but if the fox doesn't catch the rabbit one time, it's not the end of the world. if the rabbit gets caught even once, it's lights out forever.

    • @purplefire2834
      @purplefire2834 4 роки тому +5

      @@SirBenjiful unless the fox is just about to starve to death

    • @SirBenjiful
      @SirBenjiful 4 роки тому +20

      @@purplefire2834 yeah, but the fox is only sometimes about to starve to death, most of the time it isn't that desperate. so the fox will only very occasionally die if it misses its meal. the rabbit, on the other hand, will die every time if it gets caught. so on balance the situation is worse for the rabbits.

    • @Pac0Master
      @Pac0Master 3 роки тому +6

      @@BertyLohani
      What's wrong with Dawkins?

  • @SiggyPony
    @SiggyPony Рік тому +1

    Always coming back to this one :)

  • @TF8ase
    @TF8ase 3 роки тому

    Wow. Really fascinating. Helps me appreciate our own ecosystem. Beauitully done as always.

  • @MarkBTomlinson
    @MarkBTomlinson 5 років тому +3

    Beautiful Computer Science fun and informative well done. Subscribed!

  • @Iceyia
    @Iceyia 4 роки тому +4

    I think the introduction of an ability like burrowing, where the rabbits could create a safe place could have been implemented to help the two animals coexist. I think that the rabbits having to choose to hide from predators or hunt for resources would have given the rabbits the edge they needed to last longer.

  • @aenetanthony
    @aenetanthony 3 роки тому

    I would love to see similar videos to this one. I think it would be interesting to gradually add more things and to watch the complexity grow.

  • @eamonia
    @eamonia 8 місяців тому

    4:14 - You just *had* to add in the "chomp" sound effect. I don't know why but this almost had me falling out of my chair. Too funny, dude.

  • @LazerQip
    @LazerQip 4 роки тому +4

    I would really love to see more of these series. It's sooo interesting. Please make foxes more balanced with hunger and thirst and add genes and all that genetic stuff to them. Also it would be really nice that eating one rabbit reduces foxes hunger to zero and it stops hunting for some time (i.e. make them hunt only when their hunger is high enough). Would be very interesting to see various versions of this - for instance, make rabbits that have more speed/vision/attractiveness consume more energy and get hungry or thirsty quicker appropriately. Maybe add shelters for rabbits where they can hide from foxes but can't do anything. Also would be very nice to see some kind of triangle food chain like in rock-paper-scissors. Overall, amazing series, please make more of these!

  • @bogiesmigforl1
    @bogiesmigforl1 4 роки тому +8

    I can't wait to see them realize they're in a simulation

  • @ProperSerious
    @ProperSerious 3 роки тому +1

    This is really interesting stuff! It seems making this was a game within itself. It also shows how delicately all life hangs in the balance....

  • @justblinkcode
    @justblinkcode 3 роки тому

    That was absolutely amazing. Thanks

  • @SnakeEyes4505
    @SnakeEyes4505 5 років тому +3

    Omg, this is amazing!

  • @braxtonsdev9564
    @braxtonsdev9564 5 років тому +55

    Could you put a link to the source code or the project because this looks so fun to mess around with ourselves.

    • @ThatGuy-qv1uu
      @ThatGuy-qv1uu 5 років тому +6

      Yeah I'd love that too. Or a tutorial series.

    • @h.celine9303
      @h.celine9303 5 років тому +5

      Definitely a tutorial series :D

    • @braxtonsdev9564
      @braxtonsdev9564 5 років тому

      ThatGuy that would be great

    • @ndrcreates2431
      @ndrcreates2431 4 роки тому

      @@ThatGuy-qv1uu Sebastian Hear us, we want a tutorial series ...

  • @keelan270
    @keelan270 4 роки тому

    Please make a part 2 to this!

  • @richardosborn3810
    @richardosborn3810 2 роки тому

    This was incredibly interesting! Thanks.

  • @nagoshi01
    @nagoshi01 5 років тому +12

    Would you ever consider releasing your source code for these projects? How about as a Patreon reward tier?

    • @earth4180
      @earth4180 5 років тому +1

      He does for a lot of them I'm pretty sure (he did for the erosion thing)

  • @PatrickHoodDaniel
    @PatrickHoodDaniel 2 роки тому

    This is a great example of the very delicate balance necessary to keep populations. Love it!

  • @SpicyMelonYT
    @SpicyMelonYT 4 роки тому

    So awesome and definitely would make Primer proud

  • @d97x17
    @d97x17 5 років тому +4

    Awesome video! Could you give some more information on how you created the animation (which program did you use and how did you translate output from your code to an animation)?

  • @animationspace8550
    @animationspace8550 4 роки тому +5

    I'm curious to how you've created the connecting vertices for the beginning of these videos in the background (0:00) and wonder if they can be used to generate 2D terrain height. Perhaps simulate tectonic movement over time?

  • @Legomicroman
    @Legomicroman 3 роки тому

    i demand a sequel.
    this is the coolest stuff i've seen, so far.

  • @Songfugel
    @Songfugel 4 роки тому

    Wow, this is pretty awesome in its simplicity

  • @Kanal994
    @Kanal994 5 років тому +3

    1:01 haven't laughed this hard in a while