3 ms·
what is the use-case for an NFT for an in-game virtual good? A sword from World of Warcraft (WoW) can already be traded between players within WoW, since the en
by zemo 6y ago
what is the use-case for an NFT for an in-game virtual good? A sword from World of Warcraft (WoW) can already be traded between players within WoW, since the environment in which it appears is already centralized and that's already provided by the environment. Trading a WoW sword outside of WoW has ambiguous logic. Let's say you sold your WoW sword to a Destiny player. Ok, does the sword still exist in WoW or not? What if the WoW servers just say that it does? Do all players verify that other players have the items the server says they have? If the player uses the sword and the server says "they did 9000 damage because that's how big the sword is", what difference does it make if your client say "NO! Nooo! They don't -HAVE- that sword"? You can't just wave your hand and say "but we'll just make the games peer to peer and that fixes it". P2P lockstep protocols were extremely widespread but fell out of favor due to performance and anticheat issues inherent in lockstep protocols. Most gamedevs would prefer the luxury of not having to run any servers. How do you make a purely P2P multiplayer game protocol that is cheat-resistant and allows more than a very small number of players to witness one another simultaneously? If everyone needs to establish a network connection to everyone near them inside the virtual world, how do you handle crowded spaces?
When the sword is sold -outside of WoW-, how does it have value in another context? Can a Destiny character equip a WoW sword? (No.) Ok but what if the Destiny devs made an in-game Destiny item that was pegged to that WoW sword, and then the games all checked your inventory at login? You'd have to check the ledger -every time the item is used- or the player can just login, trade it away, and then stay logged in and continue to use it (use after sell, essentially).
If players can -already- trade items within the simulation where they were created, but we're not defining what it actually means to move an asset -between simulations-, what is the actual use-case here? That you can trade non-functional skins outside of the game? That's it? Why is that good?
- jamesgreenleaf 6y agoI will help clear up some confusion if I'm able. First, I don't think the big use case is for items being traded between different games. However, a system like that is possible. Blizzard would be a good example here, since their games have a high degree of cross-pollination, and they frequently offer promotions that unlock similar items in several of their games at once. So, owning a Blizzard "magic sword" token might give you a sword item in WoW, another one in Diablo, and a sword card in Hearthstone, each adapted for its own game. This is a small use case, in my opinion. I imagine that the big use case is for any game developer (indies especially) to leverage the marketplace without having to build one, or be locked into one provided by a single publisher/distributor. The game itself does not have to be p2p as you're suggesting. Game architecture would remain centralized, and would communicate with a blockchain where the tokens are stored. The process might look like this: 1) A player purchases an NFT representing an in-game item issued by a wallet owned by the game developer. 2) The player sends that token to a smart-contract address, also owned by the developer, with a memo that identifies their player account. 3) The smart contract notifies a centralized game server, then sends the token back to the player's wallet. 4) The in-game item appears in the player's inventory, within the game. There could be any number of steps involved, and the contracts could operate however you'd like. The token could be destroyed after a single use (like purchasing keys for loot crates in CS:GO) or used and traded any number of times. The game server would have to keep track of which player account controlled which token, and update players' inventories whenever the token changed hands. One more thing - NFTs can be programmed such that creators receive an automatic royalty (a percentage of the sale lands in the creator's wallet address) whenever the item is sold on the blockchain, no matter who is selling to whom. This could be huge for indie developers, who would benefit not only from selling the original items up front, but also from the long-tail resale of such items between their players.
- zemo 6y ago> So, owning a Blizzard "magic sword" token might give you a sword item in WoW, another one in Diablo, and a sword card in Hearthstone, each adapted for its own game. This is a small use case, in my opinion. I'm like 90% certain that there are cross-game item unlocks in Blizzard games already. > NFTs can be programmed such that creators receive an automatic royalty (a percentage of the sale lands in the creator's wallet address) whenever the item is sold on the blockchain, no matter who is selling to whom. Why is that good? Who is it good for? Why would a game developer sign up for this? You seem to be under the impression that I have no concept at all of what NFTs do. The problem is that a multiplayer game server is fundamentally already a trusted third party and the incentives for gamedevs to use them are poor, while the complexities enormous. Boiling the oceans to produce a trustless ecosystem for asset transfer is a fruitless endeavor if those assets can only be reified inside of environments that fundamentally require trusted third parties. You already need to have a trusted third party (the game server) in order to give any functionality to the assets. Once you've added that trusted third party, you've thrown away the key benefit of blockchains. The trusted third party is effectively required to moderate custom assets in games; untrusted asset creation is an unchecked liability in general, and is expressly prohibited by the terms of many game platforms. If a player creates content that is hateful, then another player that is a child can download it, and if their parent sees that, the kid will say "I'm playing $your_game", and then the parent will raise a stink about how $your_game has $hateful content in it and $your_game exposed their children to that content. That sort of thing will certainly get your game delisted from the Nintendo or Sony stores. Even if you're only concerned with an unregulated PC market, it's going to be a hit to your sales. If a child wanders onto a hateful website, the parent is going to say "the web exposed my child to $extremism", and then use parental controls to control what their kid can access on the web, but you cannot do that in a game. Sorry, you can't bring your $valuable_item in here because $other_player has it disabled in their content settings. You'd better believe parents are going to say "$video_game exposed my child to hate speech" and it's going to harm your sales. Beyond hate speech, assets have to be verified by the game dev to verify their integrity; the asset has to be loadable and working without errors and without breaking the game. That's assuming there are zero vulns in the asset pipeline. Beyond merely being loadable, it should also conform to some guidelines so that the asset doesn't perform well for players with fast machines, but make the game unplayable for players with slow machines. As for royalties: Steam Workshop already gives royalties to people who create assets (albeit at poor rates) and people already play that game. Why would I, a game developer, sign up for something that makes all of this worse, reduces my revenues, is massively more complicated, requires me to verify data against a blockchain constantly, AND increases liabilities? This is assuming you even -can- verify the data against the blockchain frequently. Even assuming you're using a blockchain with a read latency of zero, you're still performing i/o. You want to perform blocking i/o to an external datastore every single time a player wants to use an item? The only away around that would be to write a lock into the blockchain to prevent transfer with a contract and cache the ownership semantics, at which point you have completely duffed every single advantage a blockchain is giving you. Let's say, hypothetically, that we ignored all extant games and ONLY considered new games. Again: if you're not moving an item between simulations, it's all for naught because the game dev can just implement a traditional inventory system more easily, and if you -are- moving an item between simulations, the spawning simulation and the target simulation need to be in agreement about what an item spawned in one simulation means in the other simulation. That alone is a terrifically difficult problem that NFTs do nothing to address. Few game devs would sign up for this, because it would mean that the -other- gamedev would be able to affect the balance of the economy in -their- game, potentially to catastrophic effect. It effectively ties the game economies together, but different games have fundamentally different economies with different mechanics. Who is in control of the spawn rate of assets? "You just make the asset be some random thing whose nonce is some thing that's made on the blockchain at a fixed rate determined by the blockchain itself" like CryptoKitties or whatever. Ok, fine. How do you issue a patch to alter spawn rates, balance the relative frequencies of different items appearing, or change their properties? If you -can't- do that, you can't balance your game. Balancing live game economies is -incredibly- difficult, you can't just hope to get it right on the first shot.