Last updated
Last updated
When a user purchases a Plantoid seed, they purchase an NFT containing a unique combination of traits (βDNAβ) that impact how the plant grows and looks. These traits determine key characteristics like flower shape, fruit color, leaf design, as well as other parameters such as tolerance to sun, efficiency of water absorption, etc. Plantoid's traits are all determined randomly before mint, and thanks to our innovative growth algorithm, this means that even if your Plantoid shares the same flower and leaf types as someone else's plant, they'll grow completely differently!
The NFT does not contain an actual picture of the plant, because the plant evolves over time. Instead, it will contain the Plantoid's birthday along with the DNA, so that your plant can potentially be generated anywhere.
A Plantoid is created through the process of generating and minting of an NFT. These NFTs are implemented by leveraging the Token program and adding some decorators on top that encode its traits.
The birth function is very straightforward. Once all of the traits for a generation of Plantoids has been determined, the function is called to output a JSON file containing the necessary for creating an NFT. Inside of the trait fields, random values within predetermined ranges are generated with a pseudo-random number generator. The predetermined ranges are used because each trait needs to be bounded so that while each plant remains unique, they also remain aesthetically pleasing.
While traits like leaf size and flower frequency are determined at birth, that does not mean that the exact size of each leaf is determined. Each trait's value acts as the starting point, where chance and external influences will push the actual expression one way or the other, just like with genes.
Below is a code snippet from an early prototype of the OG generation's DNA. The ranges for each trait are simply determined by testing some of the outputs and adjusting based on what we think looks good.