In this NFT project, I wanted to create something that stood out from the numerous animal-based illustration and their copy-cat derivatives. In addition to the unique art concept, I wanted to have a core theme that revolved around its utilities, short-term and long-term benefits, and one that was clear about the type of community we wanted to gather around.
Global Colony is a digital village breaking through borders and cultural barriers via arts and the blockchain.
Hence, this concept was born. Over 150+ layers depicting different skin tones, beards, hairstyles, hats, cultural clothing, etc. are hosted across a number of landmarks and cities around the world. Using a code which served as a computer-generated art engine, different rarities were applied to randomly mix and match the different traits and create a number of NFTs (with the accompanying metadata as .json files)
The community would attract digital nomads, travelers, artists and creatives from different fields, as well as entrepreneurs/investors who wanted to support community project grants to help bring them into fruition through the Global Colony DAO (Decentralized Autonomous Organization).
Later down the road, the project would also lead to its own metaverse world, Utopia, which creates an immersive digital space for digital and traditional art and crafts to be sold. The metaverse would be segregated to different areas based on geography where each location hosts digital stores pertaining to that culture/geography.
A follow-up to the NFT art is the female addition to the Global Colony, with more detailed and varied traits. One idea is to create the art in-house or put out a grant to NFT holders to submit their art & idea, where the final artist will be chosen per majority vote of the community members.
** Please note that this case study goes over the process of launching this project on the Ethereum blockchain. However, as of now, Global Colony was accepted into the Annual Mintery Program by Bitcoin Stacks, and is undergoing that phase at the moment. The Ethereum version will be launched as a bridged smart contract afterwards.
In order to create the NFT illustrations, I had to create and save each layer separately, ensuring that every single one of them fit perfectly into each other.
All the layers were created on a 4000 x 4000 px canvas and correctly positioned to create the final illustrations. Another thing to keep in mind was the order (or in web development terms "z-index" of each layer). It was intuitive for some, such as the background being behind the rest. However, it got very tricky for some layers, especially the headwear and facial features. I had to go back to the drawing board, make adjustments or even at time completely give up on a concept, in order to make it work.
13.7
Trillion
Possible
Combinations
18
backgrounds
18
clothing
16
headwear
39
accessories
7
skin tones
7
expressions
18
glasses & eyes
25
hairstyles
35
beards
Overall, while the art engine eases the compilation of create thousands of NFTs, it required me to be extremely meticulous when designing the layers and, at times, limit the complexity or details of my ideas, to ensure it all worked perfectly together. Usually, this isn't an issue in most NFT projects that have a simplified subject and limited traits, but for the Global Colony, it was a different story. Despite the difficulty and challenge, seeing it work together at the end was just as rewarding and an incredible learning opportunity for me.
The code below was used as the art engine to generate the NFT collection. The Art Engine uses folders with the names of the traits (i.e. Background) with the actual illustrations inside them in the following format (i.e. Bali #12).
Bali will be included in the json file as the value of "Background" and the # sign denotes its rarity. A critical part of an NFT minting process is hoping to get a rare NFT, and what makes said NFT rare is how low the value is for its specific traits. The art engine codes goes through the images inside each folder, uses the number following the # to calculate its rarity using the following method:
Imagine a folder includes 4 backgrounds (Bali #12, London #19, San Francisco #28, Pisa #8)
Bali Trait Rarity = 12 / (12 + 19 + 28 + 8) = 0.179 = 17.9%
The art engine will then export to files in your build directory, one png (i.e. GC#777.png) and one json (i.e. GC#777.json)
The json file on the right is how the smart contract, minting dapp and eventually the NFT platform such as OpenSea are able to translate and decode what is included in the image.
Using this data, the smart contract connects each png file hosted on ipfs with its metadata.
On OpenSea, for instance, this metadata is how it will use its own algorithms to calculate the ranking of each trait that someone owns. Similarly, platforms like Rarity.Tools use their own algorithm that uses the embedded metadata to rank NFTs across a collection as well.
{
"name": "GC #777",
"description": "A community-based utility-driven NFT collection celebrating humanity, inclusion and diversity",
"image": "ipfs://QmXpvFCvwb5NrGPFUNhgFXQERJBTXwZnA8dJAmwHoCh8gE/185.png",
"dna": "dd57f863fc0e6cfa3909a73da3ff38e47db88f73",
"edition": 185,
"date": 1645991378016,
"attributes": [
{
"trait_type": "Background",
"value": "Mount_Fuji"
},
{
"trait_type": "Back Accessory",
"value": "elephant tooth"
},
{
"trait_type": "Skin Tone",
"value": "Lighter"
},
{
"trait_type": "Tattoo",
"value": "None"
},
{
"trait_type": "Clothing",
"value": "Mexican"
},
{
"trait_type": "Hair & Headwear",
"value": "Manbun_Brown"
},
{
"trait_type": "Mouth",
"value": "Brunette_Hanger"
},
{
"trait_type": "Expression",
"value": "Menacing"
},
{
"trait_type": "Eyes",
"value": "Brown"
},
{
"trait_type": "Eye Accessory",
"value": "Police_Navy"
}
]
}
Below are some examples of the NFTs generated from the pre-defined illustration layers using the art engine code.
In addition to the computer generated NFTs, the collection hosted 8 unique illustrations, commonly known in the NFT space as 1 of 1 NFTs. As the name suggest, these are the most rare. Through some polls with a select number of our initial community members and partners of the project, we created a list of 10 influential figures, some fictional and some real people, some deceased and some alive, who have left a significant mark-- keeping in mind the fact that they would be recognizable in this art style across different generations within our audience.
For the website, I tried to keep in style with the somewhat playful style of other NFT projects so that the Global Colony would give viewers a sense of familiarity and relevance. However, I juxtaposed it with a touch of professionalism so that it stands out and was clear that we were targeting an older, more sophisticated, demographic than the typical NFT project.
As for the color palette, I went with a dark feel, with splashes of white, combined with a neon dark and light purple that I believe was in line with the project idea.
I spent a lot of time on ensuring that the website was very comprehensive and included information on the project completely. I was meticulous to ensure that the messaging was at a level that compromised between NFT veterans as well as people who were new to the space. Particularly in the FAQ section, I included a "newbie" tab that answered all the basic questions someone new to the space would need to know.
More detail about the web development process can be provided on request.
The smart contract was developed on the Ethereum Blockchain using Remix IDE, and tested initially through the Remix VM. Next, it was test deployed to the Gorli test network as well as OpenSea testnet as well to check the full cycle functionality of the contract deployment and NFT minting process, including its owner only functions, use call functions, max limit per wallet, secondary sale and OpenSea integration, etc.
It utilizes OpenZepplin for its ERC721, Ownable and Counters contract. Contributed to Hashlips, the contract I wrote uses Counters instead of Enumerable, which results in a lack of use of an array which increasingly saves on minting gas fees (which is a considerable feature when it comes to blockchain development). Lastly, when a user is trying to mint more than one NFT, instead of transaction them each separately, this contract compiles them all into one transaction, which results in significant gas savings as well. For instance, you can mint 5 NFTs for almost the same amount of gas as minting 1 NFT.
In addition to the discord and twitter marketing efforts for community engagement, I used spatial.io to customize some of their template where the community could engage with each other, including live DJ sets, movie screenings, AMA sessions, daily guided meditation, digital museum of the NFTs as well as works from other artists/partner projects, etc.
There were some additional artwork and marketing material created to assist the project messaging.
Firstly, I created a series of illustrations that were used as visual aid for the story. Almost every NFT project has a storyline, even if doesn't relate to the perks and overall utility of the project.
You can read the story or watch it as a video I created instead here.
Article XII: Nuclear Bomb explodes, in the proximity of 3 chosen subjects - #32, #456, #6788
Article XVXI: Drop zones confirmed, "Operation Lure the Fly" Phase 1 in Progress. #456 in sight
Article XVXII: "Operation: Lure the Fly" Phase 2, initiation sequence. #456 lured into trap
Article XVXIV: "Operation: Lure the Fly" -- boarding in progress
Additionally, I created some parcel maps using pre-build isometric blocks as examples to illustrate how the eventual metaverse world, Utopia, could look. This is of course not the actual metaverse, but rather a top view which shows the specific land parcels of all land owners.
Below are some other examples of mockups and marketing materials I created for the project.