Posts

Insight into the Hive Punks distribution

avatar of @blockheadgames
25
@blockheadgames
·
·
0 views
·
7 min read

Before we open the doors to Punks on Hive, I want to share some data on how the distribution will look like for Hive Punks. A lot of thought went into this and the distribution and the original Crypto Punks were used as an original model but with the addition of many unique attributes and types, we veered off in our own direction and then made further tweaks from there.

When we created the Punk Generator, we added some tooling to do test runs which generate 10,000 Punks and analyzes their attributes to verify the model works the way we want.

This model is now frozen, and will be used for the final distribution.

Let's first look at types, Hive Punks have a lot more types than the original Crypto Punks, but a different distribution.

If you look at the original distribution of Crypto Punks, it looks like this.

TypeQuantity
Alien9
Ape24
Female3840
Male6039
Zombie88

As you can see here, the vast majority of Punks are human and slightly biased to male. Aliens are the most sought after (and the 9 of them sold for $17.5M USD) with Apes being the next sought after type. Out of 10,000 Punks, 9,879 are Human with the rest being an extremely rare type.

Using this as a guide, we came up with a similar distribution that took in account for the additional types we have.

punkgenerator --dry type 
type 
Human       9855 
Clown         63 
Zombie        36 
Ape           13 
Robot          7 
Vampire        6 
Demon          5 
Skeleton       5 
Mummy          4 
Alien          3 
Orc            3 

As you can see, we still have around the same number of Human Punks, but the super rare Punks have been split between a few more potential character types. Because we are not generating all Punks prior to minting, we have no guarantee how the final distribution will look. While we tried to make sure one of every potential type will always happen, it is posible some types may not. The only way to know will be when the 10,000th Punk is minted. Let's look at another dry run of the same query.

punkgenerator --dry type 
type 
Human       9889 
Clown         51 
Zombie        19 
Ape           13 
Vampire        7 
Demon          6 
Orc            6 
Robot          4 
Alien          2 
Skeleton       2 
Mummy          1 

You can see there some things changed, like there is only 1 Mummy instead of 4. Zombies became considerably more rare with clowns taking up more of the population and finally orcs doubling their population. This variance is unavoidable when leaving generation purely to chance.

Let's check out a few other attribute distributions so you know what to expect.

Type is likely the most sought after attribute, as anything but human is extremely rare. The next would be accessory count. This affects how many attributes a Punk has.

punkgenerator --dry accessory_count 
accessory_count 
3                  4433 
2                  3473 
4                  1598 
5                   270 
1                   204 
6                    18 
0                     4 

After generating 10,000 Punks, this is the distribution I saw with this test run. We focused on pushing the majority of Punks into the 2,3,4 attribute group. On one hand you want to make higher accessory counts more rare, but if you do this linearly, you end up with a lot of low accessory count Punks which result in a lot of duplicate Punks. By pushing most Punks to 2+ accessories, you drastically reduce duplication. Something I believe is good for everyone.

Once you establish the type, you need to establish the gender of the Punk. Like the original Crypto Punks, I showed a bias towardes Male Punks. Even though Female Punks were more rare, Male Punks were more popular. I believe this oddity is due to the fact Female Punks are shorter and take up less space in the 24x24 grid. Speaking of which, Hive Punks are 480x480 and not 24x24!

punkgenerator --dry gender          
gender 
Male      5953 
Female    4047 

While most attributes are purely random and have an equal chance of showing up, I influence the distribution for my favorite attributes making them very rare as well as some other reasons. For example let's look at "Mouth Props".

punkgenerator --dry mouth_prop  
mouth_prop   
Pipe            120 
Cigarette       108 
Vape            104 
Cigar           103 
Medical Mask    100 
Bubble Gum        6 

I think it is pretty clear what my favorite accessory is by looking at this distribution. If we run it again, we get a slightly different distribution but it's clear where my bias is.

punkgenerator --dry mouth_prop 
mouth_prop   
Medical Mask    116 
Cigar           112 
Cigarette       105 
Vape             92 
Pipe             79 
Bubble Gum       16 

While I prefer the second distribution considering this is out of 10,000 Punks, I am happy with either outcome. Unfortunately I cannot guide the algorithm to certain minimum outcomes while remaining 100% transparent and fair or generating all 10,000 Punks ahead of time like everyone else did.

Another interesting fact about this specific distribution is there is what I call a gate. If a particular gets assigned a mouth prop feature, I do a check against a random number to see if it is even possible. While most props will happen if they are chosen, certain ones are limited. In the case of Mouth Props, I didn't want half the Punks smoking. So I made this feature a lot more rare by first rejecting it most of the time it gets selected. There is also a significant bias to males having mouth props vs females to add some variety. This can be doing using a cross check.

punkgenerator --dry gender mouth_prop  
gender  mouth_prop   
Male    Medical Mask    102 
        Vape             88 
        Cigarette        87 
        Pipe             79 
        Cigar            78 
Female  Medical Mask     29 
        Vape             25 
        Cigar            23 
        Pipe             17 
        Cigarette        15 
Male    Bubble Gum       11 
Female  Bubble Gum        2 

These gates and biases are completely arbitrary and of my choices. I designed a model that represented the outcome I wanted to see. Random still has a large influence on the outcome, but my biases guide it down a certain path. As the code for this will be 100% transparent, you can see where these biases are and how it will influence the final distribution. This post will also serve as some visual introduction to these biases and the final distribution.

Outside of Type, Gender, and Accessory Count, there are 9 potential attribute or accessories that can be added to a Punk. Any one Punk can only have up to 8 of these at once, but with most 10K test runs, there was not an 8 accessory Punk. The gates I previously talked about is a factor in why there isn't. In most cases there will be a dozen or two 6 accessory Punks and then everything below it, potentially one or two seven accessory Punks if luck dictates it.

Out of 9 potential attributes, five of these have fatal gates. Meaning there is a chance it might get an attribute/accessory but fails the roll and ends up skipping it. The attributes that have fatal gates are Neck, Mouth, Mouth Prop, Nose, and Blemish. This is usually due to lack of unique variety of attributes in these categores, adding an artificial bias to prevent a flood of the same attribute.

This is most apparent with the Nose accessory, as there is only one type of nose it was made considerably rare out of 10,000 Punks.

punkgenerator --dry nose              
nose       
Clown Nose    219 

Head/Hair is the most interesting attribute as there are so many options.

punkgenerator --dry hair 
hair 
Bear Skin                    102 
Tyrolean                     100 
Cap                           98 
Sombrero                      91 
Crown                         89 
Fisherman Cap                 88 
Winter Hat                    88 
Chinese Landlords Hat         87 
Orange Big                    87 
Head Band                     86 
Baseball Cap                  85 
Shaved Head                   85 
Bear Hood                     85 
Dorag                         84 
Police Cap                    84 
Jaapi                         83 
Trapper Hat                   82 
Flower Crown                  82 
Ushanka                       82 
Mohawk Thin                   82 
Beer Bong                     81 
Fez                           81 
Top Hat                       80 
Krakowiak                     80 
Isicholo                      80 
Birthday Hat                  80 
Stringy Hair                  80 
Tam O'Shanter                 79 
Viking Helmet                 79 
Hennin                        79 
Clown Hair Green              78 
Fedora                        78 
Gaucho                        77 
Santa Hat                     77 
Hoodie                        77 
Afro                          77 
Gat                           76 
Messy Hair                    76 
Purple Hair                   76 
Sibenik                       75 
Flamenco Hat                  75 
Panama Hat                    75 
Knitted Cap                   75 
Ayam                          74 
Cap Forward                   74 
Mohawk                        73 
Chichak Helmet                73 
Chullo                        73 
Mohawk Dark                   73 
Wild Hair                     73 
Keffiyeh                      72 
Australian Cork Hat           71 
Sun Hat                       71 
Boater                        71 
Frog Hood                     70 
Tuque                         70 
Beret                         69 
Bandana                       69 
Cowboy Hat                    69 
Viking Hat                    68 
Misango Cap                   68 
Crazy Hair                    68 
Bamboo Hat                    66 
Bororo                        66 
Frumpy Hair                   65 
Beanie                        64 
Purple Mohawk                 61 
Turban                        61 
Vampire Hair                  48 
Peak Spike                    47 
Newsboy Cap                   43 
Redmo Hawk                    34 
Super Hero Tiara              34 
Straight Hair                 33 
Tiara                         32 
Wild White Hair               30 
Pig Tails                     30 
Blonde Bob                    29 
Pink With Hat                 28 
Pilot Helmet                  28 
Wild Blonde                   28 
Blonde Short                  27 
Royal Cocktail Hat            27 
Tassle Hat                    26 
Bow                           24 
Half Shaved                   24 
Straight Hair Blonde          23 
Straight Hair Dark            23 
Flowers                       23 
Dark Hair                     21 
Orange Side                   17 
Wallstreetbets Crazy           5 
Rainbow Hair                   5 
Wallstreetbets                 5 
Rasta                          5 
Jester Hat                     5 
Pink Mohawk                    5 
Green Mohawk                   4 
Wallstreetbets Crazy Dark      3 
Wallstreetbets Dark            3 

This creates a unique issue where too many options makes everything some what rare. It does however create a lot of variety and unique characters.

Eyes is another interesting distribution. There are not as many eyes as there are hair but there are a few I wanted to be very rare.

punkgenerator --dry eyes 
eyes 
Clown Eyes Green             388 
Horned Rim Glasses           380 
Tears                        373 
Eye Mask                     363 
Vr                           359 
Heart Shades                 351 
Clown Eyes Blue              349 
Regular Shades               347 
3D Glasses                   347 
Big Shades                   344 
Small Shades                 344 
Ski Googles                  342 
Classic Shades               341 
Nerd Glasses                 338 
Clown Eyes Purple            335 
Eye Brows                    223 
Green Eye Shadow             140 
Purple Eye Shadow            139 
Blue Eye Shadow              133 
Welding Goggles              115 
Eye Patch                      6 
Wallstreetbets Big Shades      6 
Laser Eyes                     4 
Laser Eyes Gold                3 

Even though I chose four to be super rare, there are a lot of great eye slot accessories I really like.

I could go on and on, with talking about the distribution. There are so many unique combinations and choices made to come up with the final model for this project. I really like how it turned out, and I'm really excited to see everyone start minting their own Punks.

One thing you may have noticed, every Punk has their own unique name and a profession. This is a divergence from the original Crypto Punks project and I think adds a lot of character and an entertaining aspect to the Punk generation that even in the beta I noticed some great combinations.

Some of my favorites:




Posted Using LeoFinance Beta