Create Artificial Life With Simple Rules - Particle Life Explained In JavaScript

  Рет қаралды 779,755

Brainxyz

Brainxyz

Күн бұрын

Пікірлер: 1 200
@clfleishman
@clfleishman 2 жыл бұрын
If you came up with this you’re a genius. Even if you got inspiration from other projects making something with that little code that can simulate these complex emergent properties is a huge achievement
@brainxyz
@brainxyz 2 жыл бұрын
Thanks for the compliment. This project was inspired by Ventrella's Clusters (the link is in the descriptions). Once I wrote the code, I spent the entire month trying to make the code as concise as possible and as educational as possible. Hopefully, this presentation inspires more work on investigating emergent patterns from very simple rules.
@christianremboldt7028
@christianremboldt7028 2 жыл бұрын
kzbin.info/www/bejne/o5LOkn2mgduVpdk
@HardcoreMontages
@HardcoreMontages 2 жыл бұрын
no, this isn't an original idea. Code Parade did it first.
@reversev9778
@reversev9778 2 жыл бұрын
@@HardcoreMontages code parade was nowhere near the first
@commenturthegreat2915
@commenturthegreat2915 2 жыл бұрын
Guys, these things have existed for decades. Nearly every youtube coding series out there is drawing upon earlier research and isn't a breakthrough in of itself. The beauty here isn't "being original", it's presenting things in a simple and accessible way.
@NorthernHurricane7
@NorthernHurricane7 2 жыл бұрын
While Conway's Game of Life has been impressive for a long time, the striking part of this adaptation is the organic way the movement, shapes, and patterns appear. There are a number of ways to use this approach to visualize concepts about chaos, probability, prediction, and determinism in systems. The first-principles development approach to set it apart from similar programs is the cherry on top. It looks great!
@JatPhenshllem
@JatPhenshllem 10 ай бұрын
Oh hey
@JamilaJibril-e8h
@JamilaJibril-e8h 7 ай бұрын
Amazing
@ecliptic2ecliptic111
@ecliptic2ecliptic111 2 жыл бұрын
I've never seen an algorithm of this simplicity granting such lifelike behavior. Truly Impressive
@Mushele
@Mushele 2 жыл бұрын
game of life
@estebanod
@estebanod 2 жыл бұрын
@@Mushele game of life is nowhere near a living cell simulation
@Mushele
@Mushele 2 жыл бұрын
@@estebanod neither is this
@Mushele
@Mushele 2 жыл бұрын
@@estebanod the point is, the game of life shows very well, just like this demonstation that we see above, that a set of very simple rules can produce very complex and unpredictable behaviours(just like in real life)
@RavenMobile
@RavenMobile 2 жыл бұрын
@@Mushele This is far closer to representing emergent life coming from simple rules than Conway's Game Of Life. I absolutely love Game Of Life, but this looks like what one sees from microscopes. Cells consuming other cells, cells losing their cell wall and leaking their insides, cells that are highly active, other cells that are mostly stagnant, etc.
@mauritspuggaard4689
@mauritspuggaard4689 2 жыл бұрын
Currently studying computer science at university, and this dude is one of the reasons I love what I do and keeps getting inspired. Keep up the good work, you’re a legend!
@Daniel-Davies-Gonstead-Student
@Daniel-Davies-Gonstead-Student 2 жыл бұрын
As a person who has never coded before but is interested in biology this was really cool!
@ruffianeo3418
@ruffianeo3418 2 жыл бұрын
Computers and code are the most accessible facsimile to a generic laboratory. Be it some finance stuff, physics, biology, quantum mechanics - whatever - if you take an interest and want to see how an idea pans out, coding is the way to go. Frankly, it even teaches respect to all those scientists before the computer age, who managed to produce useful insights without computers :) But today, anyone should be able to code a little, so they can use it as a tool of learning.
@katungwakioko465
@katungwakioko465 2 жыл бұрын
I'm a python and coding beginner and such projects are an inspiration to continue learning and not give up. To me, this is a masterpiece even if I don't understand the code. Thank you.
@joshmyer9
@joshmyer9 2 жыл бұрын
I wonder how much more emerges if we make the rule coefficients a function of a common parameter (we can call it "temperature"), then have that variable go through a "day cycle" of sin(t). This might make some of the very unstable/twitchy patterns more stable for a bit, and vice-versa. Or make t itself a function of (x,y) and make warm/cool pockets with different stable patterns, swapping particles between them. Lots of neat stuff to play with here, thanks for sharing it!
@WomboBraker
@WomboBraker 2 жыл бұрын
Thats a cool idea
@giannipiccioni8411
@giannipiccioni8411 2 жыл бұрын
slightly differences in the game rules with add exponentially more complex structures. Like in real life
@AlissonNunes
@AlissonNunes 2 жыл бұрын
Isn't "temperature" the "value" of how much particles moves? At a certain point, some measurements that we use at normal level doesn't apply to molecular level
@AlissonNunes
@AlissonNunes 2 жыл бұрын
The "temperature" increases by the sun that emits radiation (photons), which are more molecules... Or I'm just being dumb
@joshmyer9
@joshmyer9 2 жыл бұрын
@@AlissonNunes Not dumb, but I do think you're taking the model a little too literally (which his presentation kind of encouraged). This model is too simple to capture anything like that level of detail. It gives us big picture, super hand-wave-y patterns, which is neat, and helps guide one's thinking for more fine-grained problems. This is why I said "call it" temperature: it's a kinda-sorta analogue for temperature within the very coarse-grained model we're using. Honestly, my motivation is entirely to make it fun to watch for longer. It's a bummer that each model stabilizes to a static state, though. I'm mostly interested in finding ways to make it visually interesting for longer spans of time =)
@bencressman6110
@bencressman6110 2 жыл бұрын
Dude, this was so, so well done! From the pacing, to the code walkthrough, open source, pop culture reference, music, video length. Superb. I love artificial life, and this is so exciting to see. You discovered some really dope paramaters
@GuilherminoBr
@GuilherminoBr 2 жыл бұрын
This is one of the coolest life like simulations I have ever seen
@alexhuang7681
@alexhuang7681 2 жыл бұрын
While looking at the thumbnail, it's complexity put me off from watching the video, thinking "I'm probably not going to understand a thing". But upon actually watching it, you showed that the rules are so simple that you could go through writing every line of code in a small portion of the video. Stunning.
@carel91
@carel91 2 жыл бұрын
This is not just perfect presentation of amazing simulation with source code, code walkthrough tutorial, but also metaphysical essay with humor and great images. I am really thankful for your work. Thank you. I will be pleased to try your program and to code my from your tutoring. Amazing
@Eichro
@Eichro 2 жыл бұрын
I really appreciate how you show step by step how to achieve it with plain vanilla js
@mehrshadfarahani6071
@mehrshadfarahani6071 2 жыл бұрын
I don't know what to say man, it just changes the way I look at the universe. Thank you for sharing this. Great job.
@JB-fh1bb
@JB-fh1bb 2 жыл бұрын
I don’t know whether I have enough experience to understand what might be complex for others, or whether it’s just that simple, but whatever it is I’m stunned by how simple the explanation is and how beautiful the results are. 10x points for starting from 0 with a single empty html file.
@pocketallen1051
@pocketallen1051 2 жыл бұрын
it's real amazing product I have seen. It demonstrates how complexity is emergent from simple rules. Thank you
@SeanStClair-cr9jl
@SeanStClair-cr9jl 2 жыл бұрын
Wow. I've seen these kinds of simulations before, but what I was not expecting was this level of production and entertainment. Cool stuff, hope your channel gets the subs it deserves!
@nicolasgaritagoitia5536
@nicolasgaritagoitia5536 2 жыл бұрын
This is the best video i've seen on KZbin for a very, very long time
@PokeKnoxDSRomHacker
@PokeKnoxDSRomHacker 2 жыл бұрын
Don't know why this is on my homepage but I'm glad it is!
@bacillusanthracis9073
@bacillusanthracis9073 2 жыл бұрын
Super interesting. In some of these simulations, there even were shapes ressembling cell division and macrophages phagocyting !
@Mind_z_______Gap
@Mind_z_______Gap 10 ай бұрын
This is amazing and beautiful and I can't wait till I get mine fully up and running. I hope am am able to save people a few hours by suggesting to go right to github for finding the actual code to copy down and just use the video for what order to write everything up.
@rfly-fpv
@rfly-fpv 2 жыл бұрын
Oh man, this is truly amazing! First time ever I see code explained in such way with examples on the right. Really you deserve millions likes on this video
@rsanche4726
@rsanche4726 2 жыл бұрын
this is exactly what all programming tutorials should be. Simple, clean, fast, to the point, and showing how it works. Thank You!
@Tubeytime
@Tubeytime 2 жыл бұрын
Did it work for you? I followed along and it didn't work.
@mememanfresh
@mememanfresh 2 жыл бұрын
i cant get html to display in chrome bruh its blank
@mememanfresh
@mememanfresh 2 жыл бұрын
now i cant yellow particles to appear i give up
@95Geli
@95Geli 2 жыл бұрын
Its a crime that this channel doesnt have wayy more subscribers.
@i_never_asked_for_an_alias
@i_never_asked_for_an_alias 2 жыл бұрын
You Sir have that special talent of not only making something very intersting but also explain it in a simple way.
@cogtortion
@cogtortion 2 жыл бұрын
Thank you for this, amazing video, great explanation, I certainly did not expect to actually be shown the code let alone a full rundown from scratch. Please make more videos like these, the motivation it brings to open up a code editor is next level, these are the types of videos I wish I could find more of, perfect pacing, i like how you sped up most of the coding to match your explanation as you went. Other people would have turned this into a 3 hour tutorial including all their mistakes, fixes, overexplanation, etc. Very wonderfully produced. You sir have an amazing brain. Thanks again.
@operandassembler
@operandassembler 2 жыл бұрын
Just wanted to stop by and say this is the coolest fucking thing I've seen as a programmer for a long time. Got me excited even. I want to make one of my own now! Thanks stranger!
@silentnight.official4261
@silentnight.official4261 9 ай бұрын
I got a tell you. It was perfect. Perfect. Everything, down to the last a few detail.
@thomassheldon2365
@thomassheldon2365 2 жыл бұрын
WOW!!! I’m only halfway through the video but I’m already mindblown! It’s amazing how such a complex system can arise from so few rules!
@heliquackterstudios
@heliquackterstudios 2 жыл бұрын
"I know this universe is set up against me" - Had a solid chuckle 😂. Rock on brother, really nice work.
@codeunited5905
@codeunited5905 Жыл бұрын
I came here to know about Particle Life and learned more philosophy. Tysm for the video, it looks absolutely splendid!
@karmatical5837
@karmatical5837 2 жыл бұрын
I like how you made and explained the code part by part, i believe even a beginner can understand your video and with your explanation i can convert this concept to other languages and plataforms and apply my own ideas, thanks for helping. Someone already said, but you are a Genius, you have a lot of potential and you are using it for good. Keep the amazing work.
@N8O12
@N8O12 Ай бұрын
Both the actual programming part and the philosophical part at the end were some of the most brilliantly simplistic yet clever stuff I've seen, good job.
@n00dles79
@n00dles79 2 жыл бұрын
I am unsure if I have ever seen anything this amazing. Thank you so much for the open GitHub file man you’re a legend. I’m at my desk screaming.
@goaty1208
@goaty1208 2 жыл бұрын
This has kickstarted an amount of coding and phylosophical questions inside of me that are beyond comprehension. This is amazing.
@sammyclassicstarfoxfan9827
@sammyclassicstarfoxfan9827 2 жыл бұрын
This is by far the most interesting cell simulation i have seen
@uuquuuquu5235
@uuquuuquu5235 2 жыл бұрын
This is by far the best video I have ever seen explaining the idea of emergence. Kudos to you.
@Lunsterful
@Lunsterful 2 жыл бұрын
Sublime presentation, impressive on several fronts, well done. I've seen explorations of this concept from Conway, Hoftstadter, and Wolfram as you mentioned, but I don't think I've seen anything close to this level of elegance and complexity of emerging behaviour. I think the key differentiator is adding clean, physical laws with an emphasis on simplicity - and then allowing time to take over. You also make many astute comparisons and analogies in this video. Imagine how complex our simulations could be in decades to come!
@EgonFarkas
@EgonFarkas 2 жыл бұрын
Hihetetlen, milyen egyszerű csak maga a létezés, a kölcsönhatások elkerülhetetlenek. Kiváló leképezése még ennek is, amit írtam.. Gratulálok!
@n0deguy
@n0deguy 2 жыл бұрын
Wow. I’m really amazed of that little amount of views.. Your work is very cool, hope you get much more views and subs!
@brainxyz
@brainxyz 2 жыл бұрын
As I said in the video, this universe setup is against me! Edit: OK now the views have increased dramatically. The settings of this universe may not be against me 😅
@n0deguy
@n0deguy 2 жыл бұрын
@@brainxyz Incredibly! xD
@KenoBeatZ
@KenoBeatZ 2 жыл бұрын
This was... Mind-blowing !! 🤯 First introduction to code, and I understood mostly everything that matters, in order to give life to all that "matter"'. Impressive ! Thank you
@aliceberethart
@aliceberethart 2 жыл бұрын
This video is as much a lesson in biology, programming, math, astronomy, and physics as it is a lesson in literature.
@konstantinabakumov5861
@konstantinabakumov5861 2 жыл бұрын
Wow, you so clearly demonstrated how life emerged with this simulation
@rudawabdulrahman1010
@rudawabdulrahman1010 2 жыл бұрын
I can see that your content quality is improving. Keep it going.
@abhinavprajapati5962
@abhinavprajapati5962 Жыл бұрын
I havent left a comment on a utube video for years but this has to be one of the simplest-coolest things ive watched on the platform
@redstoneranger1404
@redstoneranger1404 2 жыл бұрын
What a great piece of work! This is even more amazing than Game Of Life. You HAVE to do a 3D version.
@The-Martian73
@The-Martian73 Жыл бұрын
If there's one sentence I have to say about this channel to this man ... that sentence would be: Don't never ever stop ... Please!
@mosaic34
@mosaic34 2 жыл бұрын
Wow I am impressed ! This is genius man. This is so meta and also shows how life actually is formed cause of different behaviour of particles!
@zbnmth
@zbnmth 2 жыл бұрын
Glad to see complexity theory become more and more mainstream and well-explained
@OutbackCatgirl
@OutbackCatgirl 2 жыл бұрын
This is friggin cool. A "randomize" button in the C app would be amazing
@JB-fh1bb
@JB-fh1bb 2 жыл бұрын
It might be a good first pull request to the repo
@waterpicker6879
@waterpicker6879 2 жыл бұрын
@@JB-fh1bb Its number 7 apprently.
@JB-fh1bb
@JB-fh1bb 2 жыл бұрын
@@waterpicker6879 🎉
@MarkAhlquist
@MarkAhlquist 2 жыл бұрын
The online demo is great, thank you! It seems that every random rule-set has something interesting going on.
@Vetrivel.Shanmugam
@Vetrivel.Shanmugam 2 жыл бұрын
is this based on rule-set ?
@vornamenachname597
@vornamenachname597 9 ай бұрын
Wow! That stuff around 12:28 really resembles mitosis, crazy!
@Ludifant
@Ludifant Жыл бұрын
I like that you give the code. You have to play around with it yourself. The complexity from simplicity is staggering and hard to believe. It is the same flight of imagination as the cellular machine life by Conway. the behaviour of it's attractors resembles eukaryotic life and it lacks the quantisation artifacts of Conway's game. I urge everyone to play with this.
@dreadflow3155
@dreadflow3155 2 жыл бұрын
Because of the music, I kept waiting for him to say "And I will become the god of a new microworld"
@mikkirefur
@mikkirefur 2 жыл бұрын
This is a textbook example of Intelligent Design. Good work guys - you are helping prove, once and for all, that life requires a creator.
@simonmasters3295
@simonmasters3295 2 жыл бұрын
You have no idea what you are talking about, or how foolish your comment makes you look
@nowar452
@nowar452 2 жыл бұрын
Very cool project! It's not really a life simulator. It's more like simulating chemistry from another dimension. If you add here not only particles, but also waves, you get a quantum physics simulator!
@lemming7188
@lemming7188 2 жыл бұрын
How could one go about adding waves to a program like this?
@francovillarreal7266
@francovillarreal7266 2 жыл бұрын
@@lemming7188 Divide the screen into a grid, and give each cell a vector, make the cells influence their neighbors, make them change color depending on the intensity of the vector. Some thing like that, thou I'm sure there are dozens of ways of implementing this, and probably all of them run faster than my idea.
@nowar452
@nowar452 2 жыл бұрын
@@lemming7188 wery good question. My suggestion about waves is more joke than offer. But i think waves could be a carrier's of powers like in real world. The simulation have a lot of powers. Every link between particles with different color is power. Every power would be an elastic plane and every particle would pertrub the plane. Waves move on plane and influence to other particles. Of course, it is very complicated. And it will be absolutely not same programm.
@christhorne116
@christhorne116 2 жыл бұрын
Hmmm whoop whoop pump the brakes there sonny…just adding waves will NOT give you QM
@zarinavarina8580
@zarinavarina8580 2 жыл бұрын
@@christhorne116 Adding stochasticity to maxwellian electrodynamics is enough to produce the results of QM in the linear regime. Adding non-local sources (wave-like rather than point-like) to that would probably be enough to capture at least some of the non-linear QM phenomena.
@chaotickreg7024
@chaotickreg7024 2 жыл бұрын
This video is profound and I will be using it in my discussions about the nature of the universe. I hear many people claim that complex multicellular life cannot come from simple rules without intervention. This program demonstrates very well that simple particles with simple rules can make things that look like complex organic cells. Limiting yourself to attraction and repulsion was a good decision, because they are very simple rules that can be related to the Fundamental Forces like Gravity and Electromagnetism which most people are familiar with. I think abiogenesis is not as unlikely as some would claim, and we are always finding experiments and demonstrations like this that chip away at proving that it's possible and probable.
@kreendurron
@kreendurron 2 жыл бұрын
The rules are not simple. There's a lot of things that needed to happen before these 'simple' rules were written. Like the intelligence of the mind required sit down and write it, and all the technological developments nessesary before you can even type the first keystroke of code etc etc. Also. These examples are very chaotic unstable and unpredictable, which is a very different situation than the world we actually live in. With enough tweaking of the settings and variables eventually you might find something more akin to the behavior of life or particle physics as we would recognize in the universe, but at that point the simplicity suggested here is no longer simple. I love this project because it really does get you thinking about the fundamental nature of things. Like who added the code to "render the particles" lol or set them in motion, and then give them rules and boundaries of behavior.
@chaotickreg7024
@chaotickreg7024 2 жыл бұрын
@@kreendurron No. Artraction and repulsion are simple. There is no "particle rendering" there is just quantum fluctuations, and you're seeing the emergent "life" that is demonstrated in this video. There is no great renderer. There is a quantum universe that follows deceptively simple rules. If we tweaked the settings then there would be a different universe. I see no reason why your god would choose this exact one. Your intelligent design theory is simply pride. Put it away.
@kreendurron
@kreendurron 2 жыл бұрын
@@chaotickreg7024 Particle Rendering is analogous to creation. Where did you get the particles from? The process of this video demonstration is telling. First you need the particles. Now that they are there. You need to setup rules for the particle interactions once they are in motion.... then someone needs to say... okay go. And off they go. And they behave according to the established rules. Questions the naturalists have to overcome... where did anything come from? If you say, it just was and is and is to come. How is that any different than "God just was and is and is to come?" Why are there rules of attraction and repulsion? What set it into motion? And why should I put it away? Because YOU said? I think not. Where's the fun in that?
@chaotickreg7024
@chaotickreg7024 2 жыл бұрын
@@kreendurron This is a god of the gaps fallacy. We can demonstrate everything all the way down to "Where did particles come from?" And scientists are happy to reply with "It is impossible for us to know at this point given the complete lack of information to go off of" And then you come in like "ACTUALLY I can just use my intuition to go beyond the beginning of time, and what I see it an INTELLIGENT SUPER BEING that demonstrates nothing to us but must exist because I exist." And I think that is an absurd proposition. Instead, take a minute and consider the world from the perspective of "We might never know where particles are from, it's possible this all could gone very very different, but I'm glad the dice rolled in my favor." And then see if life still makes sense. It should. I've never seen anything that made me go "OBVIOUSLY emergent physics couldn't have done THAT" and so you're left with a creator god of gaps, and I hope even that gap gets closed before you lose your mortality.
@chaotickreg7024
@chaotickreg7024 2 жыл бұрын
@@kreendurron I think special relativity breaks the "universe as code" theory too. There is nothing that connects 2 objects over a distance, there is only the forces propagating from them. I cannot send information across a distance without disturbing the matter between me and my target. There is no stream of data connecting anything to anything else. Instead, it's more like every particle has to, on its own, compare passports and travel plans with every single particle around it. There is no Main() function in this universe. This universe computer would require a processor with more cores than there are particles.
@nick2629
@nick2629 2 жыл бұрын
You are a genius
@BooBar2521
@BooBar2521 2 жыл бұрын
Mind blowing how little effort you put in it to generate this patterns. I think this is kind a proof of that life really apeard extendly
@simonmasters3295
@simonmasters3295 2 жыл бұрын
appeared what?
@andreasnesse04
@andreasnesse04 2 жыл бұрын
Now make it 3d
@AdrianneDickenson
@AdrianneDickenson 4 ай бұрын
*human appears*
@Scuiid
@Scuiid 4 ай бұрын
And then 4d
@LunaticLacewing
@LunaticLacewing 4 ай бұрын
Yes please make it 4d too
@EggEgg-c7x
@EggEgg-c7x 3 ай бұрын
@@Scuiidno 10D
@AAAAAAAHHHHHHHHHHHHHHHHHHHHH
@AAAAAAAHHHHHHHHHHHHHHHHHHHHH 2 ай бұрын
​@@EggEgg-c7x What about 40D?
@jonbrouwer4300
@jonbrouwer4300 2 жыл бұрын
This is absolutely incredible. Amazing!
@masterrguy4465
@masterrguy4465 2 жыл бұрын
Please do an hour long video of just this! It's so satsifying.
@woodenfences
@woodenfences 5 ай бұрын
Brilliant. I was searching for life simulations and found your video which goes very quickly from a simple dance between two yellow dots to the whole mega freakin universe thing with all its complexity. Well done! Now, me go programming. . . .
@KarelMatthieuLLogro
@KarelMatthieuLLogro 2 жыл бұрын
With your foundation, this will allow others create more complex simulations of life
@dougfoster445
@dougfoster445 2 жыл бұрын
I mean, really gives credit to the simulation theory. This is absolutely mind blowing.
@williamihardwick2871
@williamihardwick2871 2 жыл бұрын
This is way cool! I’d love to see more stuff like this! It’d be interesting to see what kind of self-organizing patterns could emerge from more than 4 fundamental particles, and/or with additional dynamical interactions
@paulodonovanmusic
@paulodonovanmusic 2 жыл бұрын
this is the coolest javascript I've seen in my 10 years of coding. Amazing, can't wait to try it!
@TheTenorChannel
@TheTenorChannel 2 жыл бұрын
Very beautiful project, I loved every part of it. Very interesting to see a Chladni Pattern emerge at 9:09 // these are known to be the nodal lines of a resonant body, and they literally plot Helmholtz equations solutions in function of frequency, the latter being quite omnipresent in any kind of physics, and even in neuroscience, structuring the causality within brain waves. Cheers
@CrystalStearOfTheCas
@CrystalStearOfTheCas 2 жыл бұрын
This comment made me go down a delicious rabbit hole. Thanks Chladni is goat
@uzuna4205
@uzuna4205 2 жыл бұрын
This is just beautiful. I am amazed by your work. This is so pure , elegant.. i admire you!
@loveistheonlything3626
@loveistheonlything3626 2 жыл бұрын
Feels magical, like cellular automata. This feels as if life would actually emerge in a similar way.
@iruns1246
@iruns1246 2 жыл бұрын
Amazing work! It'd be a million times better if combine this with evolution-like process. What I can think of: 1. Add a new type of object, let's call it "nucleus" 2. Genetic information: Each nucleus stores the information of formation of particles in polar coordinates to it. e.g. red: [ [1, 90], [2, 45] ], blue: [ [2, 60] ] Each will be spawned surrounded by other particles arranged according to the gene. 3. Metabolism: Each time there's another type particle that is close enough to a nucleus, it will "eat" it and increment a counter of that particle inside it. e.g. red++. 4. Reproduction: When there's enough particles eaten to satisfy the number of particles of each type needed for the genetic code e.g. red == 2, blue == 1, another one of this nucleus will be spawned elsewhere 5. Mutation: For each reproduction process, there's a chance of a small change in the genetic code. 6. Death: Each time a particle that a nucleus "owns" is eaten or gone too far, the HP of that nucleus is reduced. If it's 0, the nucleus dies. 7. Growth: The genetic information can be split into stages and the nucleus will need to consume enough particles to go to its next stage. It means the consumed particles will be respawned around the nucleus based on the next stage's gene. Reproduction will be done after the last stage is reached.
@jonrjeffrey
@jonrjeffrey 2 жыл бұрын
Technically shouldn't analogues of all of these sorts of processes (hopefully) emerge with the right fine tuning of parameters?
@iruns1246
@iruns1246 2 жыл бұрын
@@jonrjeffrey I think it should, but it would require orders of magnitude more particles, and particle types. The synthetic nucleus there should act like a shortcut that represents a mechanism that would require tons and tons of particles to function.
@wurfelgott1520
@wurfelgott1520 11 ай бұрын
Wow. The video was not just a programming demo but a story in and of itself!
@chibula
@chibula 2 жыл бұрын
The shakiness is purely becasue of the instability of explicit time stepping used in nemerical integration (an artifact). Also this is a perfect example to use webgl shaders to acceelrate (save particle position and velocity as rgba in a float texture, read them in vertex shader and update), render a quad with same amount of pixels mapping to the particles
@Pencil0fDoom
@Pencil0fDoom 2 жыл бұрын
Spectacular. From core concept to implementation to presentation. This universe is stacked FOR you dude. You’ll be a yactillionaire before long.
@waltermcmain1732
@waltermcmain1732 2 жыл бұрын
i'm no physicist but these remind me a lot of how I imagine electron shells in atoms.
@larion2336
@larion2336 2 жыл бұрын
several of them resembled ice crystals at times too
@mikkirefur
@mikkirefur 2 жыл бұрын
no such thing as electron shells in an atom.... think it more like a magnetic & dielectric field emanating from the atom, with the field having certain properties that can be "measured as electrons, and the size of the field." As the great physicists JJ Thompson stated, an electron is simply 1 unit of dielectric induction.
@AM-ui9mc
@AM-ui9mc 2 жыл бұрын
I’ve been looking for this exact type of simulation for years!! Thank you thank you
@TheHottrod3000
@TheHottrod3000 2 жыл бұрын
Very innovative. I’m a junior developer/Art & Designer. I would love to play with the code and make some nice visual elements. Imagine what you can come up with while using Zbrush, Maya, Blender and Unreal Engine.
@kitoru
@kitoru 2 жыл бұрын
do it
@Ipergenio
@Ipergenio 2 жыл бұрын
Super supervideo! I followed your instruction to write the script code. My browsers (Chrome, Firefox and Edge) don't like the "Let" inside the for instructions. Without the Let keyword it works good. The behavior is slightly different depending on the browser because Firefox it's very fast while Edge is the slowest and I slightly changed some parameter affecting velocity. Great great work!
@ayior
@ayior 2 жыл бұрын
This video is amazing and underrated. I've been following life simulations as a hobby for a couple of years now and this is one of the most interesting ones I've come across in a while! It seems like a more advanced Boids, the organicness of the patterns, simplicity of the code and presentation is amazing. My cell biology knowledge is a bit rusty, I think I remember polarity being an important factor in osmosis? I love the elegance of this simulation and would hate to ruin it, but I wonder if more complex mechanisms can be simulated by taking more inspiration like that from real life cells. Edit: maybe I'll try recreating this (Don't know C++ so I'll have to go from scratch) and somehow add in lifespan and evolution to get changing cells... somehow... I'll have to think on it
@carlosgonzalez4112
@carlosgonzalez4112 2 жыл бұрын
these are amazing !! much love brother and thank u for the insights!!! watching everything come together is a trip n a half yall lmaoo
@DavidLindes
@DavidLindes 2 жыл бұрын
This is cool! I typed in the js code, tweaked it a little*, and made a fish! :D (I wasn't setting out to make a fish, but that's what it looks like to me.) * added two parameters to rule(), one is the maximum distance for interaction (80 by default, as in your code), and the other is an option to do 1/d² instead of 1/d. Also a few other tweaks, but I think those are the most noteworthy. The rest was just playing with rules.
@mobina616
@mobina616 4 ай бұрын
You're a genius, I'm absolutely amazed with how much effort and creativity you put on this project, plus you got a nice taste of music 👌🏻
@Eltro101
@Eltro101 2 жыл бұрын
I deobfuscated Ventrella's code once a long time ago. I think it worked in a very similar way, with predicting the other particles positions, except I think in his the rules can be dynamically redefined for particles based on who they've encountered so far
@matjetius
@matjetius 2 жыл бұрын
This is a nice expansion of particle life simulations I knew I had seen long ago. After some digging, "particle life" seems to be the key search term. The first version in this vein appears to be from 2016, but the rules were simplified to be more like we see here in videos around 2018.
@BleachWizz
@BleachWizz 2 жыл бұрын
4:50 if you just take out the sqrt you can correctly calculate it squared and it's actually removing code.
@mccvargues7792
@mccvargues7792 2 жыл бұрын
I came here to say that, taking a squareroot is a very expensive operation. But I also think that the behaviour will significantly change due to the distance being quadratic, which means that attraction over long distances will be way stronger.
@operandassembler
@operandassembler 2 жыл бұрын
@@mccvargues7792 Just in case anyone reading this doesn't fully understand what y'all are talking about, they mean you square the check distance instead of taking the square root of the computed distance. So.. instead of if (CheckDistance < sqrt(dx^2 + dy^2)) you use if (CheckDistance^2 < (dx^2 + dy^2)) then, you are within the tested distance without having to call the computationally expensive sqrt function. Good suggestion you two!!
@BleachWizz
@BleachWizz 2 жыл бұрын
@@mccvargues7792 I think yes but I think you said the opposite. he's using 1/d instead of 1/d^2 if he excluded the sqrt d would become d^2 and 1/d^2 would make the interaction between particles get weaker as distance increases than 1/d. So yes the behavior would change. But you'd be using the correct formula for gravity as he mentioned for less effort. And the interaction has become weaker for greater distances.
@user-kussikh
@user-kussikh 6 ай бұрын
Really neat! I actually never thought that a set of particles' relation to one another is as simple as 1 is attracted to itself but simultaneously repels another. Now, it seems ez to explain
@kuwertzel7980
@kuwertzel7980 2 жыл бұрын
Yooo this is amazing! I've seen a couple simulations like this in the past (eg. by "Particle Life" by Code Parade) but this is far more complex than what I saw so far. Good job! I tried making a simulation like this myself in the Unity game engine but the performance sucked and I ran into some issues... Shameless self promotion: I made a 'slime' simulation inspired by one of Sebastion Lague's videos and uploaded a little showcase of that on my channel :P It brings me so much joy seeing complex behaviour emerging from simple rules :D
@zbnmth
@zbnmth 2 жыл бұрын
Kuwertzel, Unity is a "fourth" level programming language. Physical logic gates -> Machine language -> Programming languages (C, Fortran, etc) -> Fourth level languages (Unity, Mathematica, etc).. That is to say, Unity has something like C between it and the machine code. Generally, the more user-friendliness you have, the less efficient the physical machine (CPU) is given instructions. Maybe you already knew, but it's why your program will run (very) slow when coded in Unity.
@dealloc
@dealloc 2 жыл бұрын
@@zbnmth This is just plain wrong. I've written Particle Life in JS (fnky/particle-life on GitHub) and its performance is fine. This is without much optimisations (no WebGL shaders, just Canvas and purely running on the CPU). Unity is first of all, not a programming language, but an engine. Secondly, any language can be slow if you don't know about pitfalls that are usually general to every language; i.e. allocating within a deeply nested loop can be very slow if not cached or managed properly. Doesn't matter whether you write Rust, C++, C or even Assembly. The important part is to understand those pitfalls and how to use the language to avoid them. C#'s runtime (CLR) is fast and is used in many applications, more complex than this. Not only that but your C# code is also heavily optimized through Roslyn before being translated into MSIL/CIL and then to machine code by the JIT compiler.
@13zensu
@13zensu 2 жыл бұрын
When I finished watching this clip 😳 It's amazing for such a beautiful algorithmic way of thinking and transforming. Thanks for the nice vdo clip.😊
@nembobuldrini
@nembobuldrini 2 жыл бұрын
0:55 reminds me a lot of a recent simulation of a proton model (quarks + gluons)
@brycering5989
@brycering5989 2 жыл бұрын
I saw it also, had to scroll and use ctrl+F to find the word Proton to find you :D
@9393bakus
@9393bakus Жыл бұрын
I very very much appreciate how u showed how it can be created with coding in realtime. Very good idea, presentation n explanation!
@dzidmail
@dzidmail 2 жыл бұрын
Some of the instabilities could be a result of simulating in discrete domain. Different sample time: if you multiply all the forces by 0.5, record the simulation and play it at 2x speed, the results with fast moving particles (e.g. instabilities) will be different. There are also continues domain solvers, but understandably that would make it not very approachable.
@matthewjones5504
@matthewjones5504 Жыл бұрын
Evolution in a nutshell. Awesome delivery of this concept that people think is beyond science.
@zoltarg
@zoltarg 2 жыл бұрын
Really great work! It would be amazing to put this into Unity 3D and also add the third dimension along with some smooth random camera interpolations to view everything.
@peezieforestem5078
@peezieforestem5078 2 жыл бұрын
Halo, Death Note, Veritasium... you're a man of culture, I see.
@dummyspittinglamma6494
@dummyspittinglamma6494 2 жыл бұрын
"This cell has learned to teleport" *Omae wa mo shindeiru* *NANI?!*
@tmagrit
@tmagrit 2 жыл бұрын
One of the most impressive images I've seen lately
@FreeScience
@FreeScience 2 жыл бұрын
It would be interesting to see what happens with a more sophisticated integration algorithm, such as Runge-Kutta for the force-acceleration-velocity-position.
@anywallsocket
@anywallsocket 2 жыл бұрын
smoother but slower motion
@FreeScience
@FreeScience 2 жыл бұрын
@@anywallsocket Sure, but I'm more I'm thinking things like preservation of momentum and energy.
@anywallsocket
@anywallsocket 2 жыл бұрын
@@FreeScience the dynamics will evolve differently, but only slowly as a divergence. The chaotic nature of the system will quickly override any predictability anyway.
@faisalwho
@faisalwho 2 жыл бұрын
His integration scheme is broken. He is isn’t accumulating forces and stepping, he is collecting forces and stepping at the same time.
@phutureproof
@phutureproof 7 ай бұрын
I'm a little late to the party! Great work mate, I have been fascinated by this kind of emergent behaviour since hearing about boids and the simple rules applied to them, I will certainly be using your ideas as inspiration, thanks man. I will add.. Your code example was easy enough to follow and well explained cheers again, I've got weird little thing with wings flying about in my browser :D
@OscarLazzarino
@OscarLazzarino 2 жыл бұрын
This is incredibly cool and I love the walkthrough of the code. I have a question. You have some rules like rule(green, yellow, f1) and rule(yellow, green, f2). It looks to me that's equivalent to rule(green, yellow, f1+f2). Is that so?
@OscarLazzarino
@OscarLazzarino 2 жыл бұрын
Uh, no, looking closer at the code now I see that rule() only updates atoms in the first group. So you can have asymmetrical forces which is really "non newtonian" but is probably what allows the emerging patterns. Very cool.
@brainxyz
@brainxyz 2 жыл бұрын
Nice observation! but I don't think so because these rules specify uni-directional relationships
@brainxyz
@brainxyz 2 жыл бұрын
@@OscarLazzarino Yes to make it symmetric f1 should be equal to f2. Asymmetrical forces don't exist at the atomic level but I guess it is abundant at the level of large compounds, proteins, and enzymes
@РусланРысбековичБайназаров
@РусланРысбековичБайназаров 2 жыл бұрын
@@brainxyz all forces are symmetrical in real life according to Neuton's 3rd law. But this asymmetry might be why your simulation makes such interesting results, so imo it is a good thing.
@РусланРысбековичБайназаров
@РусланРысбековичБайназаров 2 жыл бұрын
@@brainxyz also there is no conservation of energy because of the asymetry. But again, I think it is cooler
@benjamincasatimcintosh2918
@benjamincasatimcintosh2918 2 жыл бұрын
this got philosofical really quickly. also i wanted to point out that the cbm is a product of the electrons recombining with the nucleous all across the universe at the same time and emiting gamma radiation. the cooler and hotter areas are of course denser and less dense areas but only diferenced by a fraction of a degree yet causing massive diferences in the end. the recombination era takes place 370k ish years after the big bang and the cbm shows the effects on slight differences that existed since the very begining (you have to think that the universe was a lot smaller and denser during the big bang meanig that these diferences were even smaller) 🤓🤓🤓🤓
@elxde0
@elxde0 2 жыл бұрын
"Any application that can be written in JavaScript, will eventually be written in JavaScript." ~ Jeff Atwood this dude literally codin life in javascript. (and c++) can't wait for life 2: electric boogaloo | Quantum Physics edition. where he creates an accurate simulation of consciousness and his funny life cells gain sentience and slaughter us like pigs that would be cool i think
@goaty1208
@goaty1208 2 жыл бұрын
If you think about it, (and yesterday I thought about it a lot) if you were to scale this to infinite sizes, were each of these simulations were the size of an atom (obviously impossible), you'd eventually get a fully functioning creature, and since I said an inifinite space it could even be an infinite 2D universe, which works with these simple rules. This is already Life 2. Heck, even Conway's game of life or any Game of Life like these can make an entire creature given enough space and particles.
@SuperYtc1
@SuperYtc1 2 жыл бұрын
You been watching Blametruth?
@elxde0
@elxde0 2 жыл бұрын
@@SuperYtc1 idk who that is. sorry to disappoint
Lenia - Artificial Life from Algorithms
13:15
Birdbrain
Рет қаралды 141 М.
Simulating Biology in Other Dimensions
20:08
Curious Archive
Рет қаралды 970 М.
Как подписать? 😂 #shorts
00:10
Денис Кукояка
Рет қаралды 8 МЛН
РОДИТЕЛИ НА ШКОЛЬНОМ ПРАЗДНИКЕ
01:00
SIDELNIKOVVV
Рет қаралды 3,4 МЛН
Good teacher wows kids with practical examples #shorts
00:32
I migliori trucchetti di Fabiosa
Рет қаралды 10 МЛН
Coding Adventure: Ant and Slime Simulations
17:54
Sebastian Lague
Рет қаралды 1,9 МЛН
An Evolutionary Version of Particle Life
29:45
Programming Chaos
Рет қаралды 21 М.
Using Video Games to Simulate Evolution
20:26
Curious Archive
Рет қаралды 2 МЛН
Creating An Ecosystem Simulation Game In 6 Months
16:28
Fun Master Ed
Рет қаралды 508 М.
I programmed some creatures. They Evolved.
56:10
davidrandallmiller
Рет қаралды 4,2 МЛН
Realtime 2D Gravity Simulation
12:31
Brendan Galea
Рет қаралды 412 М.
How Particle Life emerges from simplicity
10:16
Tom Mohr
Рет қаралды 353 М.
Training an unbeatable AI in Trackmania
20:41
Yosh
Рет қаралды 14 МЛН
Где купить колонку Алиса в ОАЭ или США ?
0:17
Electronics_latvia
Рет қаралды 4,1 МЛН
2024 Brand New 3200 MAH Battery Mobile
0:53
Nj Studio 24
Рет қаралды 955 М.
Что лучше ноутбук или ПК в бюджете 100к?
0:34
Игровой руль - штука годная 👍
0:50
RxFx
Рет қаралды 4,1 МЛН
iPhone 16 Vs S25 ultra💀
1:01
Skinnycomics
Рет қаралды 6 МЛН