Rarity Score
Every Dogamí consists of a combination of different unit variations assembled together (Fur Color, Eye Color, Personality and Rarity Tier). Both the Gender (50%:50%) and the Breed follow an equal distribution and do not impact the Rarity Score in the first drop.
Every configuration of random unit variations will have a specific probability of appearing. The lower the probability of a specific combination appearing, the higher its Rarity Score will be.
The Rarity Tier aspect is a criterion like the other physical variations but holds a bigger weight in the final formula than the other traits.
The Rarity Score allows us to calculate the probability of occurrence of a specific combination of unit variations within the overall population. The Rarity Score will remain static and will only change when new drops of NFTs are released. The potential variations in the scores reflect the changes in the number of occurrences of some traits within the population.
All the NFTs sold through direct mints are Generation-0 Dogamí. Despite the fact that this will not influence the Rarity Score in the beginning, we still include it in the formula in order to give greater value to Generation-0 Dogamí once future generations are born through breeding.
i:randomized Dogami NFT(ifur,ieyes,ip1,ip2,irt,igen)i : randomized~Dogami~NFT(i_{fur},i_{eyes}, i_{p_1}, i_{p_2}, i_{rt},i_{gen})
Proba(i)=Proba(ifur).Proba(ieyes).Proba(ip1).Proba(ip2).Proba(irt).Proba(igen)Proba(i) = Proba(i_{fur}).Proba(i_{eyes}).Proba(i_{p_1}).Proba(i_{p_2}).Proba(i_{rt}).Proba(i_{gen})
{ProbaMin=Min({Proba(i)}i[1,n])ProbaMax=Max({Proba(i)}i[1,n])\begin{equation*} \begin{cases} Proba_{Min}= Min(\{Proba(i)\}_{i\in[1,n]})\\ Proba_{Max}= Max(\{Proba(i)\}_{i\in[1,n]}) \end{cases} \end{equation*}
Score1(i)=1Log(Proba(i))Log(Probamin)Log(Probamax)Log(Probamin),Score1(i)[0,1]Score_1(i) = 1 - \frac{Log(Proba(i)) – Log(Proba_{min})} {Log(Proba_{max})- Log(Proba_{min})}, Score_1(i)\in[0,1]
{Scoreinf(Bronze)=20,Scoresup(Bronze)=60Scoreinf(Silver)=40,Scoresup(Silver)=80Scoreinf(Gold)=70,Scoresup(Gold)=90Scoreinf(Diamond)=85,Scoresup(Diamond)=100\begin{equation*} \begin{cases} Score_{inf}(Bronze) = 20, Score_{sup}(Bronze) = 60 \\ Score_{inf}(Silver)=40, Score_{sup}(Silver) = 80 \\ Score_{inf}(Gold)=70, Score_{sup}(Gold) = 90 \\ Score_{inf}(Diamond) = 85, Score_{sup}(Diamond) = 100 \end{cases} \end{equation*}
Score(i)=Scoreinf(irt)+Score1(i).(Scoresup(irt)Scoreinf(irt))Score(i)[Scoreinf(irt),Scoresup(irt)]Score(i) = Score_{inf}(i_{rt})+Score_1(i).(Score_{sup}(i_{rt})-Score_{inf}(i_{rt})) \\ Score(i)\in[Score_{inf}(i_{rt}),Score_{sup}(i_{rt})]
Once the random generation of all the different possible combinations is done, we export them all in a .XML file called VariantConfigurations.xml. This file contains the description of every unit instance and its probability of occurrence. Subsequently, we feed the file into Unity which will assemble all the different physical unit variations in a process called batching. This process is fully automatic and will take several hours to complete.
Copy link