Online games which let you create your own game content are rare but always a great experience. For trading card games this does not exist. The biggest problem is how to balance cards, which were created by users, who have no reason to build fair cards. In addition it makes sense to put a trading card game in a blockchain anyway, because real ownership of digital assets is not possible otherwise. Currently there are many projects popping up putting trading card games on a blockchain. We go one step further and put the development of such a game on a blockchain. If you design cards and players love them and buy them, you benefit from it. Not only the card instances are owned by you, but also the the authors own their creations. Via this approach this game is developed by the community.

What it does

It solves the problem of balancing game assets created by independent individuals by giving the players a way to vote on cards. The cards which are often marked as overpowered are systematically nerfed as well as cards that are underpowered get buffed. For popular games like League of Legends or similar games, the game developers listen to the community and look at the pro players, which game assets are too strong and which are too weak. With this feedback they adjust the power levels of the game assets and then publish a new patch. In our project this process is automated. The game assets are in a blockchain, the users vote in a blockchain and therefore, we can automatically nerf and buff cards. Since this is automated, we can give the players or creative ones the opportunity to create their own cards. Since all of this stuff needs to be incentivized, creators of good cards earn token if players buy their cards.

How we built it

At the core is a Cosmos-sdk based blockchain, which allows transactions, that create new cards, vote on existing cards, transfer credits, put cards into sets and buy booster packs from sets. After each epoch of 2 weeks, the cards get adjusted in balance if they were voted as overpowered or underpowered very often. Playing the game itself is not done on the blockchain. The blockchain only keeps track of won/lost matches, votes and card ownership. However the blockchain also provides a proof that a player owns a certain set of cards. All of this is built with Cosmos. Furthermore we are building a frontend, which allows to send transactions and query the blockchain in a user friendly manner. For this frontend we use Javascript with vue.js.

Challenges we ran into

How to do random numbers in a PoS blockchain? How to guarantee fixed time intervals (2 weeks for example) if block times vary? Should we put our card images on IPFS or leave it in the blockchain? Designing a context-free grammar for the card rules.

Accomplishments that we're proud of

Running the blockchain on 2 separate computers, successful connection and creation of first test cards.

What we learned

Golang, pitfalls of blockchain design, how to organize as a open source project with a distributed team ;-) But mostly we are still learning these things.

What's next for Decentral Card Network

We want to launch our MVP, which includes creation of cards, voting on cards, buffing/nerfing and ownership for authors. Later we want to add matchmaking, card instance ownership and sets/booster purchase.

We are also looking for more team members, so if you like this project and want to participate, we should get to know each other!

Built With

Share this project: