avatarJim Dee, OG Web3 Dev & Generative NFT Code Expert

Free AI web copilot to create summaries, insights and extended knowledge, download it at here

5406

Abstract

ones at once, thus making a special NFT.</p><p id="b7d2">This does generally work, although we have to be careful in the code to make sure that, by chance, this does not also come up naturally as well. But yes, this approach does work. You do sometimes get ones that are naturally <i>almost </i>all-clown, so to speak, and that can cause some minor issues. So, be sure to read my comments on metadata, below.</p><p id="79c5">Anyway, with this approach, you might include a handful of such bespoke designs. (And I’d also note that some clients have taken this approach along with one or more of the below approaches. Again, there are not actual rules in the NFT world for this stuff.)</p><h2 id="298f">2. Super-Rares that Use Existing Traits Plus 1/1 Traits</h2><figure id="c201"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*_Bg2qcP5qJwhkmqCl4v39A.png"><figcaption>Pic from the Yakuza Cats showing a cat with a bunch of 1/1 traits, but also with some existing, more common, ones. This isn’t the most rare Yakuza cat, but it’s up there at #14 in the set. So, it’s a good example of this.</figcaption></figure><p id="07a5">Building from the above approach, another fairly common request I get from clients is to use the normal traits 99.99% of the time, but for the super-specials, they send along some super-rare traits that they wish me to use just one time each.</p><p id="d572">In this approach, imagine a character with all of the usual traits. Only, for the shirt, the artist makes up 10 super special shirts. And so when it’s time to generate a super-rare, we let the system select all of the traits as usual, only we force one of the 10 one-of-one shirts on it (meaning, we will only use each of those shirts <i>once </i>within the entire generative set). And we thus create our 10 super-rares in that fashion.</p><p id="e998">This is a pretty interesting approach in that we get our super-rares, but even the client doesn’t fully know what these NFTs will look like because the rest of the traits are still randomized.</p><h2 id="e1f2">3. Super-Rares That Are Entirely Separate</h2><figure id="9734"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*iMvAz8pZTqp3-EWAF1n5Uw.png"><figcaption>Sample of what I’m talking about, from the Cool Cats collection. These are clearly 1/1s — same style as the usual Cool Cats, but completely special.</figcaption></figure><p id="0edf">These are my personal favorites. This is when the artist who creates all of the traits goes back and makes a set of entirely unique NFTs that are stylistically related to the rest of the set, but which are clearly unique 1/1 illustrations.</p><p id="7fd2">These might, or might not, contain any of the traits from the overall set. It just depends on the artist’s vision and intention.</p><h2 id="c10c">4. The “No Super Rares” Approach</h2><figure id="9f90"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*WSKJfgKvSzmdn2eDY75EAQ.png"><figcaption></figcaption></figure><p id="a829">As mentioned above, if your set is more of a punks-style one, it could be that rarity is (largely, or even wholly) determined in some other way, such as a count of the number of traits that show up. That count tends to map out as a bell curve with those with the least and those with the most being the most rare, and those with an average number of traits being the commons.</p><p id="e560">I’m not super-crazy about this approach, personally, but it’s statistically valid. Here’s a chart demonstrating that bell curve:</p><figure id="16c0"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*iCMkcCN30afhh4H1otzUyg.png"><figcaption></figcaption></figure><p id="b323">I’m pretty sure the famous <b>Bored Apes</b> actually used this approach, too — not so much about the number of traits, though, but just in terms of letting the rarity come out as it may based on their rarity table. For example, looking at the top-ranked apes, it seems like they’re simply made up of whatever combinations came out, and thus they didn’t have what we’d now call “super rares” at all.</p><figure id="d7ca"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*n1aYMHjccuGxzuWERHnV0A.png"><figcaption>Snap of the BAYC top rares.</figcaption></figure><h2 id="1d37">5. Getting Creative</h2><figure id="0515"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/1*OUcsB27uWxUgDzWnl7JfJw.png"><figcaption>A look at the Superfuzz Bad Batch drop.</figcaption></figure><p id="bce8">And finally, you can always think completely outside the box and do something new or creative here — something I’m not necessarily thinking of or suggesting in this article. Just let your mind run wild and invent something!</p><p id="72ea">Back when we did the SuperFuzz drop, they came up with a super-rare character called “Glitch” for which they basically turned on every single layer (and then they kind of artistically fine-tuned the result). It was neat, and sold for a pretty huge chunk of ETH on the secondary market. (I’d check, but OpenSea is down at the moment.)</p><h1 id="26a4">How Many Super-Rares Should There Be?</h1><p id="e80e">So, you have your approach (and/or maybe a combination of the above approaches), and now you’ll want to decide just how many super-rares to include.</p><p id="b498">Typically, on a set of 10,000 generative NFTs, I’m seeing 10–20 super-rares. So <b>one

Options

or two per thousand</b> is probably where you want to be, just depending on your preference. I’ll let you do the math yourself, depending on the size of your drop. Personally, I like to see around 20, if the artist has time, as it just gives a few more people the opportunity to own something super-special, and the market seems happy to bear 20 ultra-rares versus 10 per each 10k set.</p><p id="5273">Again, keep in mind that, aside from these rares, the rest of the set will also have a natural rarity hierarchy, as calculated by the rarity bots that come by after launch. (And that’s a whole other article, but I recommend that you read what I consider to be the best one — “<a href="https://raritytools.medium.com/ranking-rarity-understanding-rarity-calculation-methods-86ceaeb9b98c">Ranking Rarity: Understanding Rarity Calculation Methods</a>” written by Rarity.Tools!)</p><h1 id="b29a">Metadata Considerations</h1><p id="a1c6">Okay, now that you’ve reviewed the various possibilities for the super rare items and maybe decided on an approach that’s right for you, it becomes part of my job as the art and metadata coder to ensure, as best I can, that the rarity bots will indeed recognize these ultra-rares as the topmost NFTs within your set. And we do that via metadata.</p><p id="f125">Keep in mind that, without metadata, all you have are 10,000 JPGs (or PNGs). The metadata is the key to this! And so, depending on your approach, that’s how I code the metadata.</p><p id="47b7">If you’ve got a punks-style set, I’d probably include a “Trait Count” property, and I’d set that for each NFT. Thus, the rarity bots would see that the ones with the most (or least) traits are the most rare. And thus, they’d rank the NFTs accordingly.</p><p id="474f">If, more commonly, you’ve selected another method, then I usually like to include one or more metadata traits for these. Quite often, I’ll suggest that clients give the special 1/1s a “NAME” property, and then name it. The rarity bots will then see that this property comes up just 10–20x out of the whole set, and they generally understand that this makes them the topmost rares.</p><p id="0361">Mostly, that’s all it takes, though I occasionally work to more granularly control the outcome, if a client requests it. Once you understand how the rarity bots work, it’s just a matter of coding for them. But yes, we include special metadata to communicate rarity intentions to the bots!</p><h1 id="8f76">Inserting Super-Rares Into the Set</h1><p id="ba1f">Finally, I want to answer a common client inquiry, which is: How do you insert the ultra-rares into the set? Here’s how I (usually) do that, quite specifically:</p><p id="df31">Let’s take a generative NFT set of, say, 8,888 flying apes. (Has that been done? Probably…) Anyway, let’s assume that the team and the devs are going to hold out 300 apes for themselves and/or for promotional use down the road, which is a pretty common request). So that leaves 8588 flying apes available for public purchase.</p><p id="9d88">Okay, let’s say that there are 16 super-rare flying apes out of the 8,888. Now, assuming that we don’t want any of the held-back ones to be super-rares (and thus these super-rares should be available only via the presale or public mint), what I like to do is to distribute them fairly evenly throughout.</p><p id="947d">So, we take 8,588 flying apes and divide it by 16. That gives me about 536. And thus, if we want an evenly distributed mechanism, then within each group of 536 apes, there should appear a super-rare. And so I then code for that outcome via programming like this: “Within each group of 536 flying apes, insert one ultra-rare flying ape.”</p><p id="8013">And so, for example, for that 1st super-rare, it could land anywhere between 1 and 536. And then for the 2nd, it could land anywhere between 537 and 1072, and so on. To me, this results in a nice, fair distribution that retains a lot of the randomness, but also ensures that throughout the entire mint, people have a decent shot at possibly minting a super, ultra, legendary, 1/1 NFT!</p><p id="58f3">I’m going to include this article in my main list of generative art / generative NFT articles, as it seems fairly fundamental to me. You can read those here:</p><div id="744a" class="link-block"> <a href="https://readmedium.com/generative-nft-programming-articles-how-to-prep-for-doing-your-own-nft-drops-383e87525c59"> <div> <div> <h2>Generative NFT Programming Articles — How to Prep for Doing Your Own NFT Drops</h2> <div><h3>Advice for teams getting started with NFT drops — from a guy who’s been on a dozen NFT drop teams so far! Art…</h3></div> <div><p>medium.com</p></div> </div> <div> <div style="background-image: url(https://miro.readmedium.com/v2/resize:fit:320/1*Qzl1w9On8KXZ7m4yDG0i-A.png)"></div> </div> </div> </a> </div><figure id="da50"><img src="https://cdn-images-1.readmedium.com/v2/resize:fit:800/0*qdA0d0yIHWORcFDs"><figcaption>Jim Dee is a prolific writer, developer, and multi-media creator from Portland. You can find him, his businesses, his books, and more at <a href="https://jpd3.com/">JPD3.com</a>. Thanks for reading! Cat image here courtesy of Midjourney AI.</figcaption></figure></article></body>

NFTs, Generative NFTs, Art Coding

Generative NFT Sets Usually Include *Super-Rare* 1/1s. Let’s Talk About Those Particular NFTs

How many to include, what they should look like, and how to do them.

A pic of the most-rare Yakuza Cats Society NFTs.

So far, I’ve had the good fortune to do the art programming for almost 20 generative NFT drops. About half of them are launched (many sold out!) and many are in development still. (Three of them are in-house projects that keep getting pushed back because of our work with outside clients. But we’ll get those going at some point!)

Basic Background: General Rarity

One thing that ALL of these, and almost all other generative sets out there, share in common is that they all follow what’s emerged as a fairly standard adherence to rarity rules. Hopefully, you’ve read my articles on how to setup rarity tables. (If not, start here, and then read this one.)

Basically, rarity works like this: Out of your 200, 300, 400 (or whatever) traits, all of them have a distribution percentage attached, which governs the percent of time that those traits are chosen and appear in the NFT. So, if your “red” shirt is set to a 10% rarity, then you can expect to see somewhere close to 1,000 red shirts appearing within your 10,000 generated NFTs.

And it’s the interplay of all of the different rarity scores that makes things interesting. If you’ve got a handful of super rare traits that show up in your NFT, then that’s going to be a really high-scoring NFT in terms of rarity, and will generally be worth a lot more money!

This is more or less the norm nowadays — setup X number of properties for a character (hair, eyes, shirt, shoes, etc.) and then setup Y possibilities within each of those categories, and then set a distribution rarity percentage for each item. Prety straightforward.

(Note, btw, that this is somewhat different from the CryptoPunks-style rarity, which is more of an old-school way of going about that. In the punks style of doing this, the number of traits also played a significant role in determining rarity. Occasionally, I’ll run into clients who want to do this kind of setup, as well. But, more typically, it’s the other method described above.)

“Regular” Level NFTs:

Let’s look at some regulars, quickly…

Some mid-range Lazy Lions.

But Then There Are the “Super Rares”

But beyond all of that, above, there are usually a handful of “super-rares” within a generative NFT set. And that’s what I’d like to chat about here, as I find that not all clients come to their project with a solid understanding of what the super-rares are.

And now some super-rares. There are about 10 in the Lazy Lions, btw. See the difference?

Some clients call these “legendaries” or “1/1s” or “super-specials” or “ultra-rares” or whatever. But the idea is that, in some way, these ones really stand out from the general pack as being special. These are like the legendary golden tickets that Willy Wonka hid in just five of the thousands of chocolate bars he’d sent out into the world.

Now, there are no rules to how these super-rares must work, but I’ll go over various aspects, as I’ve seen in my experience, and share various observations for your consideration.

1. Bespoke Designs: Super-Rares That Utilize Existing Traits

A snap from the PPPandas set. These weren’t actually the MOST rare ones, but it’s a good example of specific outfits as very high-ranking rares.

I’ve come across this once or twice in my experience. In this approach, the client requests that the super-rares should be made up of specific, bespoke combinations of all of the existing traits. I had one set, for example, in which all of the parts of a specific outfit were present within different properties.

For example, imagine that there is a person with 300 possible traits. And, within those traits would be (a) a circus background, (b) a clown hairstyle, (c) a clown nose, (d) a clown shirt, (e) clown pants, and (f) clown shoes. And any of those items could come up at any time for any generated NFT. But, for one of the special NFTs, the client asks me to force all of the clown ones at once, thus making a special NFT.

This does generally work, although we have to be careful in the code to make sure that, by chance, this does not also come up naturally as well. But yes, this approach does work. You do sometimes get ones that are naturally almost all-clown, so to speak, and that can cause some minor issues. So, be sure to read my comments on metadata, below.

Anyway, with this approach, you might include a handful of such bespoke designs. (And I’d also note that some clients have taken this approach along with one or more of the below approaches. Again, there are not actual rules in the NFT world for this stuff.)

2. Super-Rares that Use Existing Traits Plus 1/1 Traits

Pic from the Yakuza Cats showing a cat with a bunch of 1/1 traits, but also with some existing, more common, ones. This isn’t the most rare Yakuza cat, but it’s up there at #14 in the set. So, it’s a good example of this.

Building from the above approach, another fairly common request I get from clients is to use the normal traits 99.99% of the time, but for the super-specials, they send along some super-rare traits that they wish me to use just one time each.

In this approach, imagine a character with all of the usual traits. Only, for the shirt, the artist makes up 10 super special shirts. And so when it’s time to generate a super-rare, we let the system select all of the traits as usual, only we force one of the 10 one-of-one shirts on it (meaning, we will only use each of those shirts once within the entire generative set). And we thus create our 10 super-rares in that fashion.

This is a pretty interesting approach in that we get our super-rares, but even the client doesn’t fully know what these NFTs will look like because the rest of the traits are still randomized.

3. Super-Rares That Are Entirely Separate

Sample of what I’m talking about, from the Cool Cats collection. These are clearly 1/1s — same style as the usual Cool Cats, but completely special.

These are my personal favorites. This is when the artist who creates all of the traits goes back and makes a set of entirely unique NFTs that are stylistically related to the rest of the set, but which are clearly unique 1/1 illustrations.

These might, or might not, contain any of the traits from the overall set. It just depends on the artist’s vision and intention.

4. The “No Super Rares” Approach

As mentioned above, if your set is more of a punks-style one, it could be that rarity is (largely, or even wholly) determined in some other way, such as a count of the number of traits that show up. That count tends to map out as a bell curve with those with the least and those with the most being the most rare, and those with an average number of traits being the commons.

I’m not super-crazy about this approach, personally, but it’s statistically valid. Here’s a chart demonstrating that bell curve:

I’m pretty sure the famous Bored Apes actually used this approach, too — not so much about the number of traits, though, but just in terms of letting the rarity come out as it may based on their rarity table. For example, looking at the top-ranked apes, it seems like they’re simply made up of whatever combinations came out, and thus they didn’t have what we’d now call “super rares” at all.

Snap of the BAYC top rares.

5. Getting Creative

A look at the Superfuzz Bad Batch drop.

And finally, you can always think completely outside the box and do something new or creative here — something I’m not necessarily thinking of or suggesting in this article. Just let your mind run wild and invent something!

Back when we did the SuperFuzz drop, they came up with a super-rare character called “Glitch” for which they basically turned on every single layer (and then they kind of artistically fine-tuned the result). It was neat, and sold for a pretty huge chunk of ETH on the secondary market. (I’d check, but OpenSea is down at the moment.)

How Many Super-Rares Should There Be?

So, you have your approach (and/or maybe a combination of the above approaches), and now you’ll want to decide just how many super-rares to include.

Typically, on a set of 10,000 generative NFTs, I’m seeing 10–20 super-rares. So one or two per thousand is probably where you want to be, just depending on your preference. I’ll let you do the math yourself, depending on the size of your drop. Personally, I like to see around 20, if the artist has time, as it just gives a few more people the opportunity to own something super-special, and the market seems happy to bear 20 ultra-rares versus 10 per each 10k set.

Again, keep in mind that, aside from these rares, the rest of the set will also have a natural rarity hierarchy, as calculated by the rarity bots that come by after launch. (And that’s a whole other article, but I recommend that you read what I consider to be the best one — “Ranking Rarity: Understanding Rarity Calculation Methods” written by Rarity.Tools!)

Metadata Considerations

Okay, now that you’ve reviewed the various possibilities for the super rare items and maybe decided on an approach that’s right for you, it becomes part of my job as the art and metadata coder to ensure, as best I can, that the rarity bots will indeed recognize these ultra-rares as the topmost NFTs within your set. And we do that via metadata.

Keep in mind that, without metadata, all you have are 10,000 JPGs (or PNGs). The metadata is the key to this! And so, depending on your approach, that’s how I code the metadata.

If you’ve got a punks-style set, I’d probably include a “Trait Count” property, and I’d set that for each NFT. Thus, the rarity bots would see that the ones with the most (or least) traits are the most rare. And thus, they’d rank the NFTs accordingly.

If, more commonly, you’ve selected another method, then I usually like to include one or more metadata traits for these. Quite often, I’ll suggest that clients give the special 1/1s a “NAME” property, and then name it. The rarity bots will then see that this property comes up just 10–20x out of the whole set, and they generally understand that this makes them the topmost rares.

Mostly, that’s all it takes, though I occasionally work to more granularly control the outcome, if a client requests it. Once you understand how the rarity bots work, it’s just a matter of coding for them. But yes, we include special metadata to communicate rarity intentions to the bots!

Inserting Super-Rares Into the Set

Finally, I want to answer a common client inquiry, which is: How do you insert the ultra-rares into the set? Here’s how I (usually) do that, quite specifically:

Let’s take a generative NFT set of, say, 8,888 flying apes. (Has that been done? Probably…) Anyway, let’s assume that the team and the devs are going to hold out 300 apes for themselves and/or for promotional use down the road, which is a pretty common request). So that leaves 8588 flying apes available for public purchase.

Okay, let’s say that there are 16 super-rare flying apes out of the 8,888. Now, assuming that we don’t want any of the held-back ones to be super-rares (and thus these super-rares should be available only via the presale or public mint), what I like to do is to distribute them fairly evenly throughout.

So, we take 8,588 flying apes and divide it by 16. That gives me about 536. And thus, if we want an evenly distributed mechanism, then within each group of 536 apes, there should appear a super-rare. And so I then code for that outcome via programming like this: “Within each group of 536 flying apes, insert one ultra-rare flying ape.”

And so, for example, for that 1st super-rare, it could land anywhere between 1 and 536. And then for the 2nd, it could land anywhere between 537 and 1072, and so on. To me, this results in a nice, fair distribution that retains a lot of the randomness, but also ensures that throughout the entire mint, people have a decent shot at possibly minting a super, ultra, legendary, 1/1 NFT!

I’m going to include this article in my main list of generative art / generative NFT articles, as it seems fairly fundamental to me. You can read those here:

Jim Dee is a prolific writer, developer, and multi-media creator from Portland. You can find him, his businesses, his books, and more at JPD3.com. Thanks for reading! Cat image here courtesy of Midjourney AI.
Nft
Nft Collectibles
Technology
Investing
Cryptocurrency
Recommended from ReadMedium