AppsusUK / NFT-Art-Generator

Easy to use NFT art generator app for windows/linux/mac

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Rarity not work properly in windows version

Houssamix opened this issue · comments

first thank you for this great work , i wanna report a bug in current windows version , rarity not working , for example if you have 3 backgrounds (yellow(common 60%) , purple(legendary 30%)
, red(rare10% ) and number of generated images 75 , you will get 25 in each color . i tested many times with different configs ( 4 folders , many images per folder ...) always same problem rarity not working.
thank you for your help .

Hey Houssamix, thanks for making the issue, it seems to work fine for me - quick question are you seeing this behaviour when you generate the max possible combinations for your inputs?

TL;DR: It's impossible to make the rarity accurate and only output unique images, do you want the option to allow duplicates to preserve the rarity?

The reason I ask is because we guarantee uniqueness of the output images, not the rarity of components in the output images, that's determined by how many images you decide to make!

There is an inherent conflict between guaranteeing the uniqueness of the output images and preserving the rarity of the image layers/layer items. The rarity % you enter on the application is the rarity per image generation roll, and this roll can be performed several times to generate one unique image if needed (making the rarity inaccurate). This re-rolling happens more and more as the number of un generated unique image combinations goes down.

As an example, say I have an image made of 1 layer (background) and 2 rarity folders (common - 99% and legendary - 1%) with one image in each folder. There are only 2 possible outcomes, being:

  • Legendary background
  • Common background

If we tell the program we want to generate 2 images, it will guarantee image uniqueness and generate the above two combinations, making the seeming rarity be 50/50 right? But what the program has probably done, is rolled the common background on the first try and output that image, but then on the following tries it keeps rolling the common background - so it ignores it until it gets lucky and rolls the legendary background, so it outputs the image, and is done. If we wanted the 99% and 1% to be preserved, we need to create duplicate images every time a non unique roll happens, that way you get 99 common images, and 1 legendary image.

Please let me know if that was helpful at all, and if allowing duplicates is something you intended/want 😄

thank you