It's in the title of the article. It's a "Blockchain Game". That's what went wrong. It was a flawed concept from its inception. Blockchains are pretty cool from a math/cryptography standpoint, but they really do not provide added value in most areas people try to apply them to.
CryptoKitties is a digital trading card game. You get cards, you can "breed" cards together to make new cards, you trade/buy/sell cards. That's it. Nowhere at any point in this "game" is a blockchain necessary. Nowhere at any point does a blockchain add any value whatsoever. In fact, due to transaction fees, I'd argue the blockchain actively detracts from the game.
The idea of an artist signing their work in a cryptographically unique way is not new or revolutionary, and it certainly doesn't need a blockchain. There's a reason the general sentiment the art community has towards NFTs is overwhelmingly negative: it's because they literally actively harm us.
I know the blockchain has been kind of tainted by the way it's been used for the past few years, but I do believe that there can be valid uses for it.
Lately I've been thinking if it would be possible to have an MMORPG game where instead of a server all the data would be saved in a blockchain/linked list. The biggest concern I have though is the latency and speed.
Could blockchains be fast enough or in some other way protected from malicious actors to allow actual real time game play? Like World of Warcraft, or would it just be too slow.
I've been thinking about this, because servers are expensive and doing it this way you would have, kind of, solved the problem of scalability - no queues.
There would be no coins or NFTs or anything like that.
Just a decentralised MMORPG server/game thus saving the developers from the server costs.
> Lately I've been thinking if it would be possible to have an MMORPG game where instead of a server all the data would be saved in a blockchain/linked list.
What for? What advantage would this have over storing data on a server?
> I've been thinking about this, because servers are expensive and doing it this way you would have, kind of, solved the problem of scalability - no queues.
You're just offloading the cost onto the players, and offloading the queuing mechanic onto the blockchain.
I'm sorry to be rude, but this is another comment desperately trying to find a use for the blockchain, casting out a rod into infinite idea space, and pulling out a boot.
>What for? What advantage would this have over storing data on a server?
Mostly because I'm kinda poor and can't even think about buying it renting servers. That's why I thought that such a solution would allow me to keep developing my game while the players could still play the game.
If it would be possible, which from replies to my comment, I'm guessing isn't, it would also mean that even if I died, people could still play because the "servers" wouldn't shutdown.
>You're just offloading the cost onto the players, and offloading the queuing mechanic onto the blockchain.
That's kind of the point, MMORPG are, from what I understand, quite expensive to run. Thus if they were run by the community it would be cheaper for the developers and those resources could be further used to work on the game.
>I'm sorry to be rude, but this is another comment desperately trying to find a use for the blockchain, casting out a rod into infinite idea space, and pulling out a boot
I am surprised by the negativity that the HN crowd has poured onto me. Since it would solve one of the biggest issues with MMORPGs, which is - servers shutting down.
I love MMOs and it breaks my heart knowing that I'll probably never ever again be able to play Tera and many other MMOs...
It’s a non-zero cost to develop the game. I sympathize with your desire to build an mmorpg that will pass the test of time without relying on servers, but you will definitely need a lot of money to make this come true. Crypto or otherwise.
Block times are complete state updates. The transactions that rely on the state of another transaction in the chain are 100% optimistic, and will roll back all dependent transactions. Now, that’s fine if you’re willing to roll back say…3000ms of your game state. But that’s all client side stuff, and that code is 1000% exposed, and you can’t upgrade it in the normal fashion. You also need validators for chain transactions, and your game can just be forked at any time by validators, splitting the player base. Kind of cool, but kind of defeats the balance and minimum population required to keep a game running. Also…the validators still need to run. Recovering a forked chain can only happen is someone has the state somewhere and is willing to seed new validators.
Sometimes, things need to end for another thing to begin. Sometimes it’s just best to move on.
> I am surprised by the negativity that the HN crowd has poured onto me.
I'm sorry. I'm not trying to insult you directly - but I do think your idea is not a good one, I don't think it solves the problems you think it does, I don't think the problems you posit are the biggest issues with MMORPGs, and I think it'll create even more problems even if it did address the issue you brought up.
I guess what I'm looking and thinking about is just peer-to-peer MMORPG game, but because the data has to be stored somewhere, it could be stored everywhere.
That's is if the latency could be fast enough for normal gameplay.
"Cost savings" is never a valid reason to use blockchain technology. It is and always will be inherently more expensive than running a normal database.
The only reason that users might be willing to eat that cost is if they believe they are "owning" an asset that will appreciate somehow (a la Cryptokitties). The second the thing they own stops appreciating, they stop paying to play.
If such blockchain would be truly distributed (a-la Ethereum or BTC) then it's bandwidth would be atrocious for an MMO, or it would require some insanely powerful and centralised nodes to handle this, or it would use some L2 solution which would mean a lot of exploits and bugs in the game due to async issues.
Or the the blockchain would be centralised and so useless.
In the real world, people play trading card games all the time and a big part of the ecosystem is trading the trading cards. Only, it is really annoying to have to ship around and maintain physical cards, and I want my card collection in the cloud. Some people would thereby prefer to play an online version of, say, Magic: The Gathering, or whatever the Pokémon one is called, etc.
The problem now is... how do you do the trading part? You could go to the trouble of yourself building a marketplace for the cards and then integrating all of the payment methods required, and then dealing with all of the trust and fraud issues that result from people sending money via banks or PayPal that they later chargeback or refund, all while dealing with whatever crazy tax implications come up from running a market.
But you don't want to do any of that: you want to code a game, and it isn't like Wizards of the Coast is trying to take money off of the aftermarket! They just make money by selling the initial randomized official card packs. Because you went digital now you are doing a ton of extra work and are wasting a ton of time dealing with payment processing issues when none of that is related to your actual business model or product design.
And, at the end of the day, doing that giant marketplace is a hard job that other companies specialize in. If I told you eBay provided some kind of digital asset API that let you simply assign tracking numbers to products but then eBay kept track of the ownership as it changed and all your game had to do is ask "what cards does this user still own?" when it opens, I imagine a ton of developers would jump on that bandwagon.
Only, eBay doesn't provide that API, and likely would avoid doing so out of concern you would shut down the game on a whim and cause them issues; and, even if they did, now your entire game backend would then be built around a single marketplace that might randomly pull your game for some reason and shut down your entire company in a way where you are SCREWED as your end-to-end ownership pipeline is modeled inside of eBay's database rather than being something you control and can migrate.
If only there were some off-the-shelf technology for tracking digital assets that you could trivially add as a dependency to your project, letting you write a few lines of code to define your asset and which had APIs for querying ownership... one which was an open ecosystem controlled by a shared protocol instead of a single company, thereby allowing not just one market but any number of competing markets with different ideas on auctions or escrow to exist. Wouldn't that be amazing?!
Well: that's Ethereum; like, that's precisely what Ethereum is doing. If you think collectible trading card games aren't a dumb idea--and even if you hate them and think the premise is bad for gaming, I am going to remind you that these things are SUPER POPULAR and so your opinion doesn't in some sense matter here as you are just ignoring reality--then Ethereum is a GLORIOUS idea that makes it absolutely trivial for game developers to build them and for users to participate.
> If only there were some off-the-shelf technology for tracking digital assets
Isn't this any relational database where you can set the owner_id of an item?
> your entire game backend would then be built around a single marketplace that might randomly pull your game for some reason and shut down your entire company
Most online games have some sort of digital assets they have to keep track of, and that's one of the trivial things to implement.
No: most online games don't maintain a marketplace where users can trade their assets for cash, running auctions or whatever similar to eBay. That is the issue here: people want to be able to sell their cards to other players, and now you need to build a mechanism that supports that correctly without becoming riled in the customer support issues.
Also, BTW: part of what makes the physical cards valuable in the long term is that even if the company that sold them goes out of business, the cards don't disappear and they still work to play the game... your dismissive attempt to build this sort of thing using centralized tech is thereby pretty ridiculous on the face of it even if you didn't try to tackle the money issues yourself.
What you want is a game that has no backend and preferably is coded using forwards-compatible technologies like HTML/JavaScript that can use these APIs to access their state for the long term... and again, that's Ethereum.
(Note: I ran a market for apps for over a decade and before that I was a game developer for almost half a decade; I thereby know what things are and aren't hard.)
> That is the issue here: people want to be able to sell their cards to other players, and now you need to build a mechanism that supports that correctly without becoming riled in the customer support issues.
I mean, if you put it like that it sounds as if the main advantage of the blockchain technology here is to offload responsibility for the inevitable issues that arise when people start trading for real money, such as scams or people regretting their purchases. But you're not actually solving these problems, you just gain the ability to point to the decentralized blockchain and claim there's nothing you can do about it.
For the marketplace-specific functionality in multiplayer games it could be useful, but I don't see how blockchain makes it any easier to implement or safer. All the stored transactions and data are meaningless if the front-end of the application is not supported anymore, so you can no longer view your items in 3D and use them in-game.
What's the point of owning a Fortnite skin if the game is gone and you can not use or showcase it anymore? Not to mention that even if you somehow manage to retrieve the 3d asset from the information stored in the blockchain, you probably can't legally use it anywhere else due to copyright laws.
But you already have to run yourself a similar infrastructure for the game itself, the digital asset tracking is just a small part that can be integrated within the existing systems.
> Well: that's Ethereum; like, that's precisely what Ethereum is doing.
Then why does OpenSea etc. exist?
It seems to me that Ethereum just solves the trivial problem of providing an API to do the trade itself. You could easily have a trusted company providing the exact same service cheaper and more efficiently with a centralized database. If having a unified trading backend provided was something game companies actually wanted, it would have existed already. You don't need blockchain for that. You may have problems with the company providing the platform going belly-up and the backend disappearing, or that they messed with the trades and broke trust. Then you could say Ethereum would be a good replacement providing additional value (in exchange for cost/speed/efficiency though). But the thing Ethereum would be replacing and improve upon never existed in the first place, which tells me nobody really wanted it.
Building a service on top of Ethereum that facilitates the trades, lets you view items, lets you store the data behind the items in a robust way.. that's what would provide most of the value. But that's hard. And it seems we're pretty far from having a really robust/universal solution built on top of Ethereum, for anything more than URL to JPEGs. And even when we do, I'd argue that we never needed Ethereum as the backend to begin with. Most likely the items on the Ethereum blockchain will still be completely meaningless and without significant value without a huge frontend built by some large corporation. And then that corporation might as well have used a centralised ledger to track those items. I.e. something we could do 10 years ago, and would have been done 10 years ago if there was interest for it. Enthusiasts could build open-source replacements, yes, but by the time they get there the items will probably have lost most of their value, the fad will have passed.
Creating collectible/tradable cards and items is hard. It takes physical work. You need convince shops to get it out in the market etc. That's what provides a lot of the rarity of those things. When Ethereum makes it easy to create new collectibles, you'll flood the market continuously. Fads will come and go much faster. It'll be harder for the items to have staying value. Ethereum might ruin the very thing it's trying to facilitate.
Or I could be completely wrong. We'll see in a decade or so I guess.
I think the argument that Ethereum/etc provide useful off-the-shelf APIs/services for implementing something like this might be the one point in their favor
How would you have a digital collectible without blockchain? The alternative is just a private database somewhere that depends on the whims of a company/individual for its continued existence.
People that are fans of NFTs and crypto gaming imagine a world where someone has a token contract with the hash of a public key that corresponds to a private key that only they have somewhere in it registering their ownership of a hash of a file with art in it cryptographically signed by an artist, and that system proving that they alone own the original version of the art. But these are fictions, just as copyright is fiction, a legal fiction but fiction all the same, and all any of this does is demonstrate it, make it more plain. And I'm happy about that, art is useless if it isn't on a wall, and art on a wall looks just as pretty printed. Who owns a picture doesn't matter to me, or to anyone really, if I find it pleasant I'll hang it up, and if it's digital art then mine will look just as nice as the print hanging on the wall of the person who paid 36 ether for the privilege of doing so.
I'm getting voted down for talking about the value-add here, but I'll give it another shot. I hope I get some replies this time if people find anything unclear.
Transferability is useful for key rotation. If you can't transfer your ownership to a new key, then if the old key becomes compromised, you can't prove ownership anymore because anyone else can sign using your key. To fix this you have to rely on the original signer to provide you with a revocation and an updated signature, which they may not be willing or able to do (and what if they themselves have rotated their key?)
Basically, to get key rotation to work properly you have to get revocation to work, which means ultimately you have to recreate a trustworthy timestamping service for digitally signed events, which is what a blockchain definitionally does.
Either that, or everyone has to agree on a third party to keep track of revocations, much like with OCSP or the MIT key server. Then, trust that third party not to tamper with the timestamps, and trust them to continue providing their timestamping service far into the future.
But irrevocability is a problem for this use case, right? Someone is bound to get hacked, lose keys or whatever, and then there's no way to actually prove, inside the blockchain, that it wasn't a legitimate transfer.
Anyways, I think the bigger problem is that neither GPG nor blockchain actually solve the "ownership" problem of digital assets. These can be copied without any problem, so proving which ones are original and which ones aren't is impossible without some kind of DRM or verification service, and that's not something that can be done with the blockchain.
> But irrevocability is a problem for this use case, right? Someone is bound to get hacked, lose keys or whatever, and then there's no way to actually prove, inside the blockchain, that it wasn't a legitimate transfer.
Irrevocability is an issue with physical assets too, but it's a compromise we deal with. If someone pickpockets you on the street, in general there's no getting your money back. You don't necessarily have to hold digital assets in a software wallet under one private key, which is the digital equivalent of walking around with something expensive in your pocket - you can choose to store the item in the digital equivalent of a safe or bank vault.
The nice thing about a digital system is that the user can easily choose where along the spectrum they want their ownership to reside. They can choose to manage the key themself, or have an institution do it for them, or anywhere in between (which involves multi-signature schemes of themself along with other persons and/or institutions of their choosing.)
Furthermore, the digital asset can itself optionally be coded to respond to certain third parties for dispute resolution. Current tech allows for an issuer to create a digital item that contains code such that it allows its ownership to be changed through a dispute process. The dispute resolution authority that's coded in could be as simple as a trusted third party or as complex as a legal system unto itself.
There isn't a single one-size-fits-all approach. Every asset issuer gets to choose their own approach, and they get to maintain interface compatibility with all other assets. For example, USDC is controlled by a company that has full blacklisting capability, but it has the same software interface (ERC-20) as WETH, which is an asset where no third party can exert any control over its functionality.
> Anyways, I think the bigger problem is that neither GPG nor blockchain actually solve the "ownership" problem of digital assets. These can be copied without any problem, so proving which ones are original and which ones aren't is impossible without some kind of DRM or verification service, and that's not something that can be done with the blockchain.
I generally agree, but I believe it's an identity issue, not an ownership issue. If there were some way to prove that a certain private key were in the sole possession of a certain person, then proving whether an asset were original or counterfeit would be as simple as checking to see whether the item was signed by the issuing person's key.
It's in the title of the article. It's a "Blockchain Game". That's what went wrong. It was a flawed concept from its inception. Blockchains are pretty cool from a math/cryptography standpoint, but they really do not provide added value in most areas people try to apply them to.
CryptoKitties is a digital trading card game. You get cards, you can "breed" cards together to make new cards, you trade/buy/sell cards. That's it. Nowhere at any point in this "game" is a blockchain necessary. Nowhere at any point does a blockchain add any value whatsoever. In fact, due to transaction fees, I'd argue the blockchain actively detracts from the game.
The idea of an artist signing their work in a cryptographically unique way is not new or revolutionary, and it certainly doesn't need a blockchain. There's a reason the general sentiment the art community has towards NFTs is overwhelmingly negative: it's because they literally actively harm us.