CryptoKitties
Posted: 19 May 2021, 05:54
Summary
CryptoKitties is a game built on Ethereum that allows users to collect and breed cryptographically unique creatures called CryptoKitties. Each kitty exists on the Ethereum blockchain as an ERC721 non-fungible token. Each ERC721 kitty has a unique ID, genes that defines its appearance and rarity, a generation that affects the kitty's rarity, and a cooldown that determines how long the cat must wait before it can breed again. For a small fee, players can breed two kitties together to create a new ERC721 kitty. The new kitten's traits are randomly determined through the combination of the traits of its parents and an on-chain random number oracle, although its generation will always be greater than that of its parents.
Generation
The game began with the creation of 50,000 Generation 0 kitties. The smart contract does not allow any more Generation 0 kitties to be created beyond 50,000. Whenever two kitties breed, the generation of their offspring is equal to the highest generation of either parent plus one. For example, if two Generation 0 kitties breed, they create a Generation 1 kitty. If a Generation 0 and a Generation 8 kitty breed, they create a Generation 9 kitty. This mechanic of increasing a kitty's generation with each breed preserves the rarity of lower gneeration Cryptokitties, preventing users from flooding the marketplace and destroying the value of all kitties.
Genes
Each kitty has 48 genes, spanning twelve different gene categories. Within each category, each kitty has a dominant gene, a hidden-1 gene, a hidden-2 gene, and a hidden-3 gene. The dominant genes are the genes that determine a kitty's appearance. When breeding two kitty's together, the offspring is likely to get the dominant gene of either parent for each category, but has a small chance of getting one of the parent's hidden-1 genes, an even smaller chance of getting one of the parent's hidden-2 genes, and a very small chance of getting one of the parent's hidden-3 genes. When two parent's have genes that match up in a certain way, then there is a small chance of that gene "mewtating" into a higher-tier gene that neither parent had originally had. The community has created calculators for determining the probabilities of the genes of a given offspring, such as KittyCalc, and the community has created trait charts that demonstrate the mewtation process, which can be found at KittyHelper and at KittyFyi.
For a more detailed explanation, see the section labeled Genes under the CryptoKitties Guide below.
Cooldown
Each cat has a cooldown that determines how long a user must wait before they can breed the cat again. A kitty's initial cooldown is determined by its generation. The higher the generation, the worse the cooldown the kitty is born with. Cooldowns range from 1 minute to 1 week. Each time that a kitty breeds, its cooldown increases, to a maximum of one week. The kitty's offspring will not be born until the cooldown has completed.