Deckbound Genesis Blocks are incepted using the identifier of the block itself.
We use a deterministic number generator — the MT19937 Mersenne Twister — seeded with the block's identifier (a transaction ID) to generate a simulation space for the block. The block can be regenerated identically by using the same seed and method.
The building block of a Genesis is its abilities, which are utilised across Deckbound cards and games. Each point on the genesis map represents an individual ability.
We've also built a tool to allow you to browse cards in a genesis. Because every card is based on a blockchain transaction, it defaults to simulating cards based on live transactions on the underlying network.
Check out the Deckbound Explorer at index.deckbound.com/explorer
...read on for details on ability inception, card types and more...
The raw genesis, seeded by that Block's Genesis transaction
An empty genesis map as seen in the Deckbound Explorer
Card sets and thematic identity
To provide interesting identities for abilities and cards, we group abilities together using a clustering algorithm.
Each group of abilities is referred to as a "set". Most cards will have abilities selected from proximate sets.
The set is used to provide a thematic identity for the abilities within it, and dictates the parameters for the naming algorithm used for cards.
Base set clusters, viewed in 2D
With the genesis block information in place, cards can be incepted from their respective genesis.
The key to a card's identity is its inception point. We use the card ID (the transaction ID from the transaction that created the card via bitbind.io) as a means of generating unique, unpredictable (yet replicable) information about the card.
Because a transaction ID (and therefore a card ID) is a SHA-256 hash of the transaction data, it effectively acts as a random number generator for the card itself. Until a card is incepted by its transaction, its abilities and attributes aren't known.
We take the card ID and break it down into smaller pieces. For example, the first 9 characters are used to represent a location in the 3D space of the block genesis.
Example Inception point for a test rune card
Abilities extended by their incepted offsets from a Hero card
Each ability is created at an offset from a card's inception position — again, using information directly out of the card's ID.
Because each ability is offset from the inception position of the card, the abilities selected for the card are more likely to come from the same, or nearby, sets. Cards that have a wider set of abilities will be naturally rarer.
Each ability has an "unlock" level (which can be seen in the card preview on the Deckbound Explorer), also generated as a result of the ability seeds embedded in the card identifier.
Different Deckbound games will allow players to use different numbers and types of abilities in different circumstances, and players will need to "level up" their cards to access the higher-level abilities.
Because the card inception point and ability offsets are only created as a result of the inception transaction, it's not possible to guess which abilities a card will have until it has been incepted. Players looking for specific card characteristics will need to incept cards until they find them, level cards with required high-level abilities or trade specific cards with other players or the nomad pool.
Abilities in the Explorer card mockup & on the genesis map
In addition to abilities, cards also create numerical attributes. Certain card types use these attribute ranges differently, and they can have different effects in different games. For example, in an early test version of Deckbound Heroes:
- Hero cards can have up to 23 abilities, depending on the inception block information (duplicated abilities are excluded). Typical cards will have between 8 and 12 abilities, with a increasing level cost for the later abilities.
- Structure cards have a smaller number of abilities (typically 2 to 4) and a 5-part attribute set.
- Minion cards have even fewer abilities (typically 0 to 3) and a 5-part attribute set.
- Rune cards have no abilities, and a limited set of attributes. They play a special role in certain game scenarios, and will interact with the abilities of other card types.
Hero, Minion, Structure & Rune cards are all incepted in the same space, with different parameters for abilities and attributes
Card identity and verification
The bitbind.io service provides a hierarchical tagging system for transactions. We use that service to tag Deckbound cards at the point of inception. Any official Deckbound cards will return a result in the "deckbound" namespace from the bitbind.io service.
Querying the Deckbound API or using the Deckbound Explorer with a transaction ID will allow you to see the card that would have been created with that identifier, but will return "test-only" in the "genesis" section of that card.
Procedural generation of names, art and attributes
By using deterministic number generation algorithms, seeded with the unique card or genesis identity, we are able to create unique and interesting content for the cards, their abilities and ultimately their art and appearance.
The ability names are a work in progress, but you can already use the Deckbound Explorer to browse these procedurally generated data sets (for the name generation we use a simulation based on pronouncible bi- and tri-grams from a common dictionary).
Ability names are calculated deterministally across the genesis
Exploration & API
The Deckbound Explorer is a WebGL application that runs in your browser and connects to the Deckbound API and the underlying blockchain to visualise Deckbound genesis blocks and cards.
The v0.1 alpha is available now
* note this an early alpha and very much subject to change — you'll also need a recent computer with a WebGL-capable browser.
If you'd like to query the incepted card information directly, you can do that too — the Deckbound Card API is available at index.deckbound.com.
News & updates
Sign up to the newsletter to stay up to date with Deckbound news.