Insight into the Hive Punks distribution

in LeoFinance6 months ago


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.


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
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
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
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         
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 
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
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             
Clown Nose    219

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

punkgenerator --dry 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
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:


Blockhead Games.png

Posted Using LeoFinance Beta


LOL Mannnnn. This is exciting!

Looking forward to launch and getting some punks.


Much wow

Posted Using LeoFinance Beta

such cool


Yeah, that went over my head, but I look forward to getting a few punks

Cool to see the weight of each element that will define each punk... it'll be interesting to see the results 👍

I was looking to get a few punks based off your last article. Now I want more! I like that there lots of attributes! Even if I just mint a handful of them each one will be unique. This is really exciting.

It'd be cool if a future generation of punks had interoperability with the other Hive games like turn them into dCity citizens or eXode passengers or even hashkings avatars!

WOW talk about a lot of work went into it. You deserve the Hive I'm gonna spend. And you should take that as a compliment.

When will this be released, and are you preventing accounts from buying too many? :)

Soon, and no. There should be more than enough for everyone.

Looking forward to it. Just wondering how and when they will be available to buy?


Hah Awesome! I will definitely get me one punk! Keep us posted on how to get one!

Laser eyes and a pipe, the dream combo!

Dang, you‘ve really thought this through.

cant wait to grab some. When is release time?

I have some original punks in a wallet I forget the password for, so Im looking forward to these! Great work!

Ouch, that's brutal considering the cheapest Punk right now is $350K.

It is what it is, thats crypto for you.

It could take you a few weeks to remember it. Heres what you do.

Continually write down every password you can ever remember.
Then think about things that happened during the time you bought it. I'd you still have internet search history on your PC from that time revisit all of those websites and read the stuff you were reading years ago all over again.

It can help jog your memory

I forgot a password before and did this for a few weeks and got it eventually

I need the seed phrase too! lol but I like your advice.

Cool! Thanks for the info.

Posted Using LeoFinance Beta

Congratulations @blockheadgames! You have completed the following achievement on the Hive blockchain and have been rewarded with new badge(s):

You received more than 700 upvotes.
Your next target is to reach 800 upvotes.
You got more than 50 replies.
Your next target is to reach 100 replies.
You made more than 10 comments.
Your next target is to reach 50 comments.

You can view your badges on your board and compare yourself to others in the Ranking
If you no longer want to receive notifications, reply to this comment with the word STOP

To support your work, I also upvoted your post!

Check out the last post from @hivebuzz:

HiveFest⁶ Meetings Contest