Digital Garden. Generative Art Project

2023 ж. 9 Там.
5 058 Рет қаралды

A prototype of the project of virtual breeding of digital plants by crossing. Each plant has a genome, which is an array of numbers. By crossing plants (mixing their genome), we get a new kind of plant. In this way, you can get very interesting and unusual results.
You can support the channel on Patreon:
/ simulifehub
More support, more opportunities for new projects.

Пікірлер
  • I definitely wanna know the specifics of how the genome encodes a plant. It also looks like this particular genome allows for *continuous* design changes, which is interesting. To introduce natural selection, you'd somehow have to be able to derive function from the form of these plants. So you'd have to do stuff like introducing light and water, and make it so the plant can survive given the available resources using some simplified form of capillary fluid dynamics. Could also add the roots into that equation. And perhaps also introduce gravity and wind (I think it should be possible to simulate these branches as sufficiently stiff chains plus a maximum force where a branch would snap off) to make sure these plants are able to survive broad weather conditions. Oh and temperature (plus humidity plus wind) could determine the rate of water loss, which could be slowed down by reducing surface area per volume (making it so very hot arid places give rise to very smooth bulky shapes, i.e. cactuses) - should be easy to get that approximately from the sphere radii Doing something meaningful for the evolution of colors is gonna be trickier though, unless you manage to simulate various other things such as pollination strategies and corresponding pollinators who may only see certain parts of the spectrum and what not. That'd be very complex. Flowers evolved in coevolution after all, so it'd be tricky not to use coevolution to meaningfully support them. It'd also be great to have a 3D version of this algorithm as a lot of the interplay of, say, leaf shape and efficiency would stem from how much light gets through between gaps, and in 2D like this, that's inherently gonna be limited. Perhaps it'd also be possible to support ellipsoids rather than only circles, to allow the widening or twisting of shapes

    @Kram1032@Kram10329 ай бұрын
  • Could we get a full explanation of the algorithm? It would be interesting to see how these systems work under the hood.

    @codemassi@codemassi9 ай бұрын
  • YOOOOOOOOOOOO as a programmer turned gardener, thank you

    @willtheoct@willtheoct9 ай бұрын
  • Oh, that's really cool, something I've also been thinking about. My ideas were going a little bit further, like having procedurally generated plants like this, but actually in a game, where you experience the full lifecycle of the plant and can influence if with different modifications to the environment. These plants are always just like still images, right? How would you go about this if you wanted to see the lifecycle of the plants, like from first sprouting, starting to grow branches, leaves then flowers, then maybe fruit and maybe dying at some point (or not)? Would be interesting to have a game were you have to care for your unique otherworldly plants and can breed them into new species over time, maybe even with a mechanic were you have to sell flowers and/or fruit to get money for fertilizer, seeds etc. I'd totally wanna play a game like that.

    @CatNolara@CatNolara9 ай бұрын
    • In this project, it's just a still picture. In order to have a growth process, you can try using the L-system.

      @wallcraft-video@wallcraft-video9 ай бұрын
  • breathtaking. thank you for this

    @user-tu3hh7oy8o@user-tu3hh7oy8o5 ай бұрын
  • I absolutely love these videos. Also, the specifics of how the genome encoding works is always my favorite part, so I would like a follow up analysis video! I loved the previous evolution of digital trees series so much because it was fascinating to see exactly how the genome encoded development strategies.

    @mikethemuffinman@mikethemuffinman9 ай бұрын
  • Explain away! This is a great series - would love to see behind the scenes more.

    @michaelrawson9100@michaelrawson91009 ай бұрын
  • There are some good texts and papers on the subjectiveness of beauty. While there are no hard and fast rules for everyone, there are some generalities that apply to population groups. Symmetry is one aspect that is commonly perceived as beauty. Here, though, that is usually limited to left and right symmetry due to how we perceive the world. That said, too much symmetry triggers a strong aversion in many people because it is perceived as fake or false to the eye. In nature there are aberrations and defects (or unique qualities) that break symmetry. Because of this, if something is too symmetric, we subconsciously reject it as being not real, or a danger. Next, color schemes come into play. There are complimentary colors, triads, quads, etc. Usually a few color choices are pleasing, but too many are distracting. Some colors blend well together, while others do not. Shadows and contrasts apply here as well. We see hard edges in shapes through shadows and contrast. An image lacking these will seem flat or false to our eyes. Also, some color choices evoke emotions, such as blue for sadness, orange and yellow for warmth, red for anger, green for growth or envy, purple for shyness or desire, etc. Depending on the color choices we might perceive something as inviting, or frightening. Both have their place and purpose. Last, but not finally, there is smoothness. Edges and shapes can affect whether we find something beautiful and attractive, or ugly and repulsive. Sharper edges and more primitive shapes can lend to an image being uninviting or harsh, while smoother edges and rounder shapes might be welcoming and comforting. Again, both have their place, but in determining which is a better fit, then I would suggest a dichotomy. Your central bit should be picked less, but same for the outliers. A double bell curve with the points at around 15-20% and 80-85% would probably produce the most realistic of both ends of the spectrum (inviting and beautiful contrasted with uninviting and dangerous). There is an AI technique called GAN (Generative Adversarial Network) that takes this type of fuzziness into account using sliders for different traits allowing for an easier selection when generating a random population sample. A GAN does require training images, but that is where your original samples come from. You generate a few hundred to a few thousand samples (like the ones in your video) that have the various traits you want to represent and then train the system on that set. From there you can use the sliders to control the amount of each trait you want in the final image. Hope this helps and I hope you have fun with it!

    @jdyerjdyer@jdyerjdyer9 ай бұрын
    • Thank you. There is something to think about

      @wallcraft-video@wallcraft-video9 ай бұрын
  • My mind exploded into the amount of possible plants pieces holy #$&$ this is awesome

    @LuisFrontanilla@LuisFrontanilla9 ай бұрын
  • Hey! I love your work and It would be cool to see that plants evolving in a natural selection environment, or maybe let the plants itself be the environment for a population of animals (insects, birds, etc)

    @tonib111@tonib1119 ай бұрын
  • Nice work.

    @stundogha4947@stundogha49479 ай бұрын
  • nice work, can’t wait for the next video

    @imlemonth@imlemonth9 ай бұрын
  • interesting video! it’s interesting to see how the plants can be created and generated. i hope we get more evolution videos soon!

    @LeWolfYT@LeWolfYT9 ай бұрын
  • just great thx

    @user-xc2yc3vz5e@user-xc2yc3vz5e7 ай бұрын
  • you could use these procedurally generated plants in an environment with threats just like with your older plant cell sim, and do selection on which plants survive the best in a set environment

    @dottedboxguy@dottedboxguy9 ай бұрын
    • Most likely they will not be beautiful. We need a selection for beauty, but I don’t know how to do it

      @wallcraft-video@wallcraft-video9 ай бұрын
    • ​@@wallcraft-video You might be surprised. Wild trees are beautiful to us, but they weren't selected for beauty. Your challenge is to create a selective environment that captures the essence of the selective pressures that influenced the plants that we evolved alongside and find beautiful. Think about access to sunlight and water, energy consumption, attracting pollinators, dispersing offspring, withstanding winds and gravity...

      @Twosies20@Twosies209 ай бұрын
    • ​@@wallcraft-video the beauty of real life comes from functionality in the end. There are *some* things you could do, such as avoiding overlaps (though this is best done in 3D as in 2D this is extremely restrictive) and promoting various kinds of symmetries (reflective, rotational (mostly in 3D), screw (definitely only in 3D), translational, and scaling symmetries) Other than that, though, the only thing you really can do is having people select. The way to do that would amount to, say, taking a parent, randomly mutating it, and giving a bunch of example children, allowing to select a preferred child. Or you maintain a population, randomly present two parents, do crossover *and* mutation, and give a bunch of examples, having the user select which one survives. It might be fun to do a combination though: Add natural selection pressures and, on top of that, the ability to do artificial selection. That way your plants have to go for solving a more complicated sort of selection function which might yield more interesting results

      @Kram1032@Kram10329 ай бұрын
  • One way to harness artificial selection would be website where you are presented with several plants and pick one that you think is prettiest. There are a lot of gritty details to handle (for example you want to track multiple lineages instead of just same one lineage for every user), but that could work, provided there is enough interest from people to bother with actually going to website and picking plants.

    @madcio@madcio9 ай бұрын
  • Fantastic work! I'm guessing you're aware of this, but depending on how your genome is structured you might get 'better' results by using a different form of crossover between the two parent genomes. You're using uniform crossover, a random chance of getting a gene from each parent. A more block based crossover, where whole blocks of genes are copied from each parent might allow you to get offspring that are more like parent 1's branching structure, combined with parent 2's leaves, or color pattern. Is this something you've tried?

    @programmingchaos8957@programmingchaos89579 ай бұрын
  • A 3D version of this would be great for a game like NMS.

    @Laff700@Laff7008 ай бұрын
  • There's often a conflict of interest in saying beauty is subjective.. It is true, but many (most?) people lie about what they find beautiful using subjectivity as the excuse.. Subjective, but not uncorrelated.. It's noble and aspirational to reach for a universal and true standard of beauty..

    @kaiserschmarrn_3687@kaiserschmarrn_36879 ай бұрын
  • Since there is no algorithm for beauty, you could find a photo of a tree on the internet and make plants try to resemble it through natural selection

    @adreszek@adreszek9 ай бұрын
    • I saw a similar project that used a genetic algorithm. But there, with the help of circles of different colors and sizes, it was necessary to repeat the famous paintings of artists. Thanks for the reminder, added to the list of future projects

      @wallcraft-video@wallcraft-video9 ай бұрын
  • more detailed description of the algo please ...

    @swyveu@swyveu9 ай бұрын
  • Wow

    @Lucasbrlvk@Lucasbrlvk4 ай бұрын
  • Oooh, these things are uncanny

    @alessiomuccio2795@alessiomuccio27958 ай бұрын
  • maybe like the Trees project, certain parts of the plant needs access to sunlight....

    @playerthree38@playerthree389 ай бұрын
  • 4:46 As an idea I would suggest the following: You could use your followers as a tool for natural selection, the ones that we may not find appeasing are selected out. You could create a giant batch of random genes and let us rate them on a scale to 64. Because everyone rates differently it would be good to not just copy the points given, but instead let each user have a constant amount of points and give each rated tree points in proportion to the other ratings (Example, someone who voted all 0 and one who voted all 42 have the same rating for everyone and in both cases each tree would get the same amount, but one who voted ever tree but one 0 would give all points to the tree that is not 0). The trees could be devided for a number of trees for each voter, the voting goes up till every tree has a minimum vote number. The top 10% of trees get to reproduce up to the number of trees it was befor the selection (each 10 times, or maby the ones with better voting more often): Maybe with each other or (what I think would be more reasonable) to slightly different versions of themself. Then reapeat the voting process. After doing this often enough there should be clear results. I know that this would be a really workload heavy project, but in a way it would be a interactive and fun community project. By the way: your video is great, keep going!

    @LaplacescherDaemon@LaplacescherDaemon9 ай бұрын
    • Picbreeder but for plants! neat

      @Kram1032@Kram10329 ай бұрын
    • I would like something like this, but I don't have the skills to do it.

      @wallcraft-video@wallcraft-video9 ай бұрын
  • You can algo the beauty with machine learning create a form with with a fair amount of plant images and ask us to classify their beauty from 0 to 10, you have enough subscribers to create a descent dataset that you can train your software this approach will give a sense of beauty faily close to ours and dismiss the need for us to understand/define beauty itself

    @carlossoares712@carlossoares7128 ай бұрын
  • l LOVE You

    @infinityKnowledge06@infinityKnowledge064 ай бұрын
  • You should do a website like picbreeder with this and let humans do the evolution.

    @Johny117x@Johny117x7 ай бұрын
  • You could shine a light on top of them, and create the fitness function based on how much light they can absorb

    @ZeDlinG67@ZeDlinG679 ай бұрын
    • They will be wide, but unlikely to be beautiful. 😒

      @wallcraft-video@wallcraft-video9 ай бұрын
  • this needs more views!

    @raducristiandimitrie@raducristiandimitrie9 ай бұрын
  • Natural selection isn't only about reproduction. Its also about fitness itself. Like how many water does every plant/root become if it rains? How many sunlight shines through the higher levels of leaves and gets absorbed by lower ones? How big is the tree trunk so insects can become a problem or not? Also reproduction is a sum of variables. How many wind gets through the tree to its blossoms to fly them how far away from the mother tree, so the roots of the new tree gets enough nutrients to grow it? Or how many fruits are eaten by birds and the fruit kernels can become descendants? Also it should be considered to reuse genome information. For example a trunk of a leave and a blossom could be the same, only with different colors. Also rules can depend on the level away from the trunk/root/... . Counters can be helpful too. Like every 5/6/... leave becomes a blossom instead and not every of them had to be randomized. This way the genome could be easier to understand but varieties have more impact. Or less if wanted.

    @yksnidog@yksnidog9 ай бұрын
  • day 4 of telling you to bring the old voice back

    @btdubsy@btdubsy9 ай бұрын
    • Im with you the old voice was better

      @operalalalaalal2522@operalalalaalal25229 ай бұрын
  • hi dude ive been following your channel for a bit and im really interested in this type of things and would like to specialise in this in uni. But there is one problem, what is this type of programming called? Also can i get a job for doing these things all day?

    @obamareal2281@obamareal22818 ай бұрын
  • yeh do inpeth vid, and usually some sort of way to access this cool simulation

    @mr_nexys4735@mr_nexys47359 ай бұрын
  • ohhh yes, please DO explain the details in an other video :)

    @ZeDlinG67@ZeDlinG679 ай бұрын
  • if you could make these 3D it'd be very very very cool

    @dottedboxguy@dottedboxguy9 ай бұрын
    • I don't see any problems to implement something similar in 3D. But I have no experience in 3D projects. Maybe one day

      @wallcraft-video@wallcraft-video9 ай бұрын
  • Leta do natural selection tho. Select a sample for the community to upvote / downvote via a simple webpage. Let the subjecrive opinion of your patreons be thr selection pressure and lets drive these plants towards something beautiful.

    @brandonsaffell4100@brandonsaffell41009 ай бұрын
  • maybe the natural selection would be based on the healthy of the plant, because in the real world the plant don't envolve to be more beautiful but to be more "survive", idk if anyone can get what im trying to say lol

    @katekko1@katekko19 ай бұрын
    • And our idea of ​​plant beauty has been shaped by healthy plants. I think so

      @wallcraft-video@wallcraft-video9 ай бұрын
  • Ou need an environment with light rays, soil wetness, breeding and time

    @tag666kill@tag666kill9 ай бұрын
    • usually do this in other projects, but the resulting plants cannot be called beautiful))

      @wallcraft-video@wallcraft-video9 ай бұрын
  • Don't you want to put this in thrive ? It's open source

    @ludovicoprestipino851@ludovicoprestipino8519 ай бұрын
    • How can you find his projects?

      @_unkown8652@_unkown86529 ай бұрын
  • Want

    @ikitsar459@ikitsar4599 ай бұрын
  • texted you

    @nathanielflear9045@nathanielflear90459 ай бұрын
  • Umm 💭😅

    @Negreb25@Negreb259 ай бұрын
KZhead