Use Cases for HCS-Based Records in Play-to-Earn/NFT Gaming | Hedera
Lastly, it would be difficult for a play-to-earn project to enable community-hosted game servers. If the game’s users were able to host their own servers, they would also be entrusted with creating and populating HCS topics for payouts. This would necessitate some method of checking for dishonest server operators in addition to cheating players. It isn’t an impossible task, but it certainly adds complexity and a new surface area for exploits.
Another advantage to using the HCS is that it’s chain agnostic. Projects that are not based on the Hedera Token Service can still interact with the HCS. Currently, the Smart Contracts 2.0 upgrade is set to make Hedera smart contracts natively interoperable with the HCS. However, oracles could be developed for any chain that desires to read HCS topics. Creating game topics and sending messages would still require a Hedera-based server operator with an $HBAR store, but these interactions do not lock developers into using the Hedera Token Service.
HCS-Based Meta Records
There is another benefit to using the HCS to record game histories: meta records. Because HCS-based game records decouple gameplay events from smart contract interactions, this methodology allows us to abstract gameplay information. This could be particularly useful for maintaining records of player histories.
A meta record would be a log of player activities that persists across games. Developers can create a unique HCS topic for each player tied to their Hedera ID (or DID), and use this to track the player’s history. This would be accomplished via the game’s payout smart contract, which would update the player’s meta record in addition to distributing their play-to-earn rewards.
Meta records would enable developers to track player statistics across games. Because these statistics are recorded on the HCS, they’re also made available to additional Hedera smart contracts. There are numerous possibilities enabled by this. In particular, it would allow developers to lock NFT minting rights behind player statistics or in-game achievements.
The concept of achievement-based NFT minting is interesting because it would produce NFTs with skill-based scarcity. Typically, NFTs are either publicly minted or sold as a pre-minted cohort. A publicly minted NFT whose minting rights are locked behind in-game achievements creates an entirely new dynamic.
The scarcity of these NFTs would be skill-based. However, scarcity alone doesn’t guarantee value. These NFTs should also retain some sort of utility, even if that utility is purely cosmetic. For example, partnerships with Metaverse-type projects could allow these NFTs to exist as avatar wearables or displayable objects in virtual residences. Or, these NFTs could function as items in their parent game. In addition, they could serve as items in other play-to-earn games, which would create an interesting cross-game NFT ecosystem.
NFT Minting Rights via Faux Tokens
I would recommend that these NFT minting rights be awarded on a per-attainment basis, not permanently. In other words, each individual attainment would grant the player a single minting right, which is exhausted in the process of minting it. Otherwise, this dynamic would only benefit the first attainers who would repeatedly mint the NFT until its value is reduced to its minting cost. Such a dynamic might be fine if the NFTs are meant to be plentiful, such as in-game items that are exhausted by usage. However, a per-attainment basis would allow achievement NFTs to retain scarcity if they’re locked behind a sufficiently difficult triumph.
The methodology for per-attainment minting rights would be meta record-based “faux tokens.” Payout smart contracts would update players’ meta records with messages related to attainments (both granting and exhausting them). Faux tokens would simply be a calculation of the player’s remaining attainments (i.e: attainments minus minting events). The roster of available minting rights would be displayed to the user via a web front-end that reads their meta record.
This content was originally published here.