Synthetica
Synthetica
  • Видео 54
  • Просмотров 14 344
I Made ARTIFICIAL LIFE... and You Can Too!
A small guide on how to create particle life in Python. This is by no means the fastest simulation possible, but I thought it would help people who are struggling with it.
Consider liking and subscribing :)
A good video on the maths: ruclips.net/video/scvuli-zcRc/видео.html
Code repo : gitlab.com/etimush/python-particle-life.git
Просмотров: 2 458

Видео

ParticleLife long form experiment. Letting creatures emerge from simple rules.
Просмотров 4182 месяца назад
ParticleLife long form experiment. Letting creatures emerge from simple rules.
Particle Life: Large scale simulation
Просмотров 1347 месяцев назад
Particle Life: Large scale simulation
Particle Life Large Scale Simulation!
Просмотров 497 месяцев назад
Particle Life Large Scale Simulation!
Particle Life Large Simulation Extended cut
Просмотров 497 месяцев назад
Particle Life Large Simulation Extended cut

Комментарии

  • @allayallay-z1z
    @allayallay-z1z 3 дня назад

    It would be nice if this could be simulated as an infinite world.. but unfortunately because with today’s technology that can only be achieved with estimates

  • @JetOfTheWind
    @JetOfTheWind 9 дней назад

    Pretty cool as always ❤

  • @test-uy4vc
    @test-uy4vc 11 дней назад

    Very simple straightforward explanation!

    • @Artilife1
      @Artilife1 10 дней назад

      Thank you, these algorithm can be hard to explain !

  • @JetOfTheWind
    @JetOfTheWind 14 дней назад

    Thats explains little 😅

    • @Artilife1
      @Artilife1 13 дней назад

      There are good papers out there that explain it quite well!

  • @test-uy4vc
    @test-uy4vc 14 дней назад

    Interesting

    • @Artilife1
      @Artilife1 13 дней назад

      Thanks for always commenting; it really helps to have dedicated fans; I promise a longer video on NCA is coming! These models are just complex to train and take a very long time.

  • @test-uy4vc
    @test-uy4vc 17 дней назад

    🤔

  • @JetOfTheWind
    @JetOfTheWind 17 дней назад

    Awesome work as always !

    • @Artilife1
      @Artilife1 17 дней назад

      Thank you so much 😀

  • @test-uy4vc
    @test-uy4vc 20 дней назад

    Face reveal?

  • @test-uy4vc
    @test-uy4vc 20 дней назад

    Like the shepherds tone, it feels like some globules of organic matter trying to form more complex structures. An explanation on the algorithm would be great!

    • @Artilife1
      @Artilife1 20 дней назад

      There is a video coming soon on NCA ! like a longer one

    • @Artilife1
      @Artilife1 20 дней назад

      Also the reason they don't form more complex forms, and it feels like they are trying is because it's trained on a style loss which means there is no specific image in mind, just a style.

  • @JetOfTheWind
    @JetOfTheWind 20 дней назад

    This is a head splitter 🤯

  • @JetOfTheWind
    @JetOfTheWind 23 дня назад

    The isotropic one looks like neurons

    • @Artilife1
      @Artilife1 23 дня назад

      The isotropic one has rules similar to how neurons gorw !

  • @test-uy4vc
    @test-uy4vc 24 дня назад

    Interesting!

  • @JetOfTheWind
    @JetOfTheWind 24 дня назад

    Oh damn thats awesome !

  • @test-uy4vc
    @test-uy4vc 25 дней назад

    We need to see more examples of this and how it works! Seems quite promising.

    • @Artilife1
      @Artilife1 25 дней назад

      I will do a more thorough video on cellular automata in general

  • @cookiesandmilk7840
    @cookiesandmilk7840 28 дней назад

    Best ai drawing method? Using my owns hands ideas and creativity, and creating a soul with my experience and care collected over years and years of practice and emotions. My least favorite is Using machine learning too steal and replicate others art without permission because greedy companies do not want too pay living wages too artist, and rather want too use soulless creations used for talentless crud

    • @Artilife1
      @Artilife1 28 дней назад

      I agree; these are less "generative art" and more optimization methods using evolutionary algorithms. The algorithms are mine, so there is some creative input on my end as to what "brush strokes" (polygons or drawing methods) to use, how many, how fine the detail is, how many simulation iterations I run, etc... I do believe GEN AI as it currently stands is what you are saying, greedy companies stealing from artists to make cheap art for commercial purposes or selling you a subscription. However, as a researcher, I know that I find the generation of art through programs interesting, and art in itself, it is just another tool (and so do other colleagues of mine). I would argue that if I write the code that makes the art, the art is mine. In this case, however, yes, the image is taken from someone else (Van Gogh), and the program merely makes a bad copy with shapes.

  • @JetOfTheWind
    @JetOfTheWind 28 дней назад

    I think the top right one is nicest, whats the technique ?

    • @Artilife1
      @Artilife1 28 дней назад

      Its a method that extracts detail first by optimizing for the outline, then fill sin the outlines with a color using voronoi points.

  • @test-uy4vc
    @test-uy4vc 28 дней назад

    Back with another video! Top right seems the best, especially encapsulating the details of the clouds. Bottom right seems the worst visually. Would love to know how many polygons and sides were used for each simulation.

    • @Artilife1
      @Artilife1 28 дней назад

      Yes! I was on holiday for a few weeks so no posting then, but im back and have some big plans. Each simulation used a total of 200 polygons (top right used points of a voronoi diagram)

  • @Nabuuug
    @Nabuuug Месяц назад

    omg this duck is so loud

    • @Artilife1
      @Artilife1 Месяц назад

      Sorry, next vid the sound effects won't be so loud

  • @PaulAllsopp-rh5gb
    @PaulAllsopp-rh5gb Месяц назад

    I've been looking into this for a bit and did a bunch of lower framerate stuff in JS. The next thing I want to explore is forgetting about have too many particles, and instead focus on realism. Get some information from molecular biology, and model real structures using differing masses and attraction/repulsion values. I love this. I love cv2 also, so moving my code to Py tomorrow. Thx

    • @PaulAllsopp-rh5gb
      @PaulAllsopp-rh5gb Месяц назад

      To stop particles going off the screen on mine, I just set their velocity to *= -1 on the axis in question to flip it...a la collision detection bounce. I use the standard gravity function, like you do but without the delta time. As soon as they appear they conform to a matrix of attraction or repulsion values, including to themselves. A B C A 0.7 0.4 -0.1 B 0.1 -0.8 -0.7 C 0.6 -0.2 0.1 This is my current matrix I'm playing with. 3 particle groups obviously, 1500 in each set, though like I said my next step is to try and make some real monsters ;0)

    • @Artilife1
      @Artilife1 Месяц назад

      That also works, it really just depends what effect you want, a toroidal world is effectivley an infinite world without barriers. If you want more realistic interactions, consider making the interaction forces equal and opposite (forces matirx mirrored about the y = -x diagonal ) and making the particles polar, so they have negative and positive ends at diffrent angles.

  • @jds7006
    @jds7006 Месяц назад

    Great video! I'm subscribed and excited to see your future content.

    • @Artilife1
      @Artilife1 Месяц назад

      Thank you ! Currently working on the code for the next video :)

  • @test-uy4vc
    @test-uy4vc Месяц назад

    Around 6 sec. Will only using quadrilateral s make it faster to generate a "legible" picture? Would love to see how this works, I'm mostly fresh to programming and neural networks, so excuse me if I'm wrong.

    • @Artilife1
      @Artilife1 Месяц назад

      In general no, qudrilaterals restric the shape to having harsher lines and wider angles. In general the fewer straight lines and angles the better + quadrilaterals are a harder shape to aptimize as changing one of the points leads to greater variation. Doing it with circles is much better and the painting becomes clearer faster. The largest effect however (for evolutionary algorithms) are the hyperparameters such as mutation rate and population size.

  • @JetOfTheWind
    @JetOfTheWind Месяц назад

    Roughly 8 seconds, this one was harder !

  • @test-uy4vc
    @test-uy4vc Месяц назад

    Around 3 seconds.

  • @MattgxG
    @MattgxG Месяц назад

    I said Shrek at first 😭😭😭

    • @Artilife1
      @Artilife1 Месяц назад

      Hahaha maybe the colour got you confused !

  • @CoPHooligaNz
    @CoPHooligaNz Месяц назад

    Before it came clear, my dumbass said “Sisyphus”

  • @najn.a
    @najn.a Месяц назад

    2 seconds i guess the colors gave it of

  • @CaptainManatee
    @CaptainManatee Месяц назад

    About 2 and a half seconds wow this is a cool video good job!

  • @JetOfTheWind
    @JetOfTheWind Месяц назад

    3.5 seconds !

    • @adrianpaul7956
      @adrianpaul7956 Месяц назад

      Cap

    • @CaptainManatee
      @CaptainManatee Месяц назад

      ​@adrianpaul7956 if you spent more time learning instead of wasting it in social media or video games it would be very simple for you, this isn't difficult just apply yourself homie

    • @adrianpaul7956
      @adrianpaul7956 Месяц назад

      @@CaptainManatee suicidal ass man

    • @test-uy4vc
      @test-uy4vc Месяц назад

      ​@@adrianpaul7956 Bro is so insecure that he needed several reply comments to one singular comment. 🤣

    • @CaptainManatee
      @CaptainManatee Месяц назад

      @@adrianpaul7956 oh wow you really popped off sorry I hurt your fragile little ego lol, carry on keep going you look hilarious

  • @krishnamania1
    @krishnamania1 Месяц назад

    Hey I also did something similar some months ago , but it was making random polygons and check whoever is closer to target , it uses genetic algorithm But this is way more faster than mine , my 900 gen was not even clear Can you tell which algo or technique you used , It would be great to see an entire video discussing the technique

    • @Artilife1
      @Artilife1 Месяц назад

      I used an algorithm called Gene Optimal Mixing evilutionary algorithm or GOMEA. It was also written in rust to be fast. But indeed GOMEA is very sample efficient

  • @hexxt_
    @hexxt_ Месяц назад

    some parts of the video were loud af

    • @Artilife1
      @Artilife1 Месяц назад

      Yes I need to fix that for the next video!

  • @test-uy4vc
    @test-uy4vc Месяц назад

    Amazing work! We need to see more examples of this!

  • @leominecraft5031
    @leominecraft5031 Месяц назад

    I'm a fan of Wrinkle the duck! ( @seDUCKtive )

    • @Artilife1
      @Artilife1 Месяц назад

      It is truly a great duck 🦆

  • @fangorito7918
    @fangorito7918 Месяц назад

    Nice! More vids like these pls

    • @Artilife1
      @Artilife1 Месяц назад

      Will be making more !

  • @lukas-ho6xu
    @lukas-ho6xu Месяц назад

    Please make more, this is extremely interesting. Im a novest low level python enthusiast who loves artificial intelligence. I like to observe it, not use it.

    • @Artilife1
      @Artilife1 Месяц назад

      I certainly will make more !

  • @VNDROID
    @VNDROID Месяц назад

    <3 love u! so glad you made this, it will help a lot

  • @sacredcat3222
    @sacredcat3222 Месяц назад

    Good video but i recommend to tone the sound effect down abit and make your voice abit louder because the sound effect are way to loud compared to the voice just make sure your voice and sound effects are on the same page in terms of loudness

    • @Artilife1
      @Artilife1 Месяц назад

      @@sacredcat3222 Thanks for the tip, no idea how this slipped past me since I listened to the whole video before finalizing it.

  • @xeysus5907
    @xeysus5907 Месяц назад

    can you share github

  • @Blunebear
    @Blunebear Месяц назад

    Hey man love this video can you tell me how to learn this level of programming. Last month i started learning programing and this video sparks mh intrest in field i have almost no clue about what is it, why ks it used, and how its build all it understood was programming and maths were used. I found it really amazing and wanna learn this

    • @Artilife1
      @Artilife1 Месяц назад

      Thank you! I suggest first looking into basic coding courses that teach you things like what is syntax, for loops, logic, etc. Then try some very simple programs. This level of programming isnt really advanced so you could get there in a few months of practice.

    • @Blunebear
      @Blunebear Месяц назад

      @@Artilife1 ok I will fs rn I am doing cs50 to get basic understanding of programming in general. Next I am planning to do some math(calculus, linear algebra, probability) courses online, I hope these things make me ready to do these kinds of program's

  • @knorpelmancer
    @knorpelmancer Месяц назад

    Praise the algorithm. Great video, thank you.

    • @Artilife1
      @Artilife1 Месяц назад

      Praise the almighty numbers !

  • @xoxogamewolf7585
    @xoxogamewolf7585 Месяц назад

    1:21 begginers

    • @Artilife1
      @Artilife1 Месяц назад

      Yea sorry, English isn't my first language, but you are right !

    • @sacredcat3222
      @sacredcat3222 Месяц назад

      i think its a pretty good mistake this aims to be educational and quite funny so in type of this videos that spelling mistake dont really matter much

  • @keremgelegen
    @keremgelegen 2 месяца назад

    thanks for this informative video, but in your next videos if you lower the volume of sound effects it will be much better

    • @Artilife1
      @Artilife1 2 месяца назад

      Thanks for the advice , I'll make sure things arent too loud !

  • @JetOfTheWind
    @JetOfTheWind 2 месяца назад

    Great explain video, easy to follow !

  • @davidcahan
    @davidcahan 2 месяца назад

    The thumbnail for the vid is hilarious

    • @Artilife1
      @Artilife1 2 месяца назад

      Hahahaha thank you, I worked hard on it!

  • @test-uy4vc
    @test-uy4vc 2 месяца назад

    This was really informative! Loved the video. 👍

    • @Artilife1
      @Artilife1 2 месяца назад

      Thanks you for your support, I see you comment a lot. It really is apreciated!

  • @V_050
    @V_050 2 месяца назад

    Was curious if something like autocatalytic behavior (but not simulating "chemistry" per se) can be modeled in a program, especially if it arises just from the how the environment was configured? Interesting and noob-friendly tutorial!

    • @Artilife1
      @Artilife1 2 месяца назад

      I'm not sure that is possible in particle life, unless I also start limiting the interactions to certain angles by giving the particles polarity, then maybe certain configurations can cause low energy chain reactions. I think the main issue however is that there is unlimited energy in the system, so there is "energy barrier" to break through for there to be catalytic like behaviour, since its highly likely all particles are already in the highest energy state. There are other artificial life systems such as FlowLenia where changes in phase can happen spontaneously. This could be seen as autocatalytic.

  • @Artilife1
    @Artilife1 2 месяца назад

    I welcome all and any suggestions for my videos!

  • @JetOfTheWind
    @JetOfTheWind 2 месяца назад

    Nice and concice !

  • @test-uy4vc
    @test-uy4vc 2 месяца назад

    Really good explanation!

  • @test-uy4vc
    @test-uy4vc 2 месяца назад

    Interesting! What are the rules for this?

    • @Artilife1
      @Artilife1 2 месяца назад

      Its the ususal rules of cohesion, avoidance, and alignment present in boids. However, the forces are aplied slowly over time in a cumulative fashion, so it takes a while for the alignment and cohesion to happen until it suddenly does so all at once.

    • @test-uy4vc
      @test-uy4vc 2 месяца назад

      ​@@Artilife1 May I know what programming language you are using? 🤔

    • @Artilife1
      @Artilife1 2 месяца назад

      Im using Rust :)