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.
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.
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...
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'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.
That's is if the latency could be fast enough for normal gameplay.
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.
It would be for me and since many private servers exist for many different games, it is for others too.
This would, if it would be functional, just spread the burden of the server to all players.
In that sense, just by playing the game, you would be keeping it alive.
Or the the blockchain would be centralised and so useless.
This idea fails even in the abstract.
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.
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.
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.)
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.
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.
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.
As do most things so it's really neither relevant nor a drawback worth discussing.
>Why does ${PROJECT} use ${TECHNOLOGY}?
>So it doesn't have ${DRAWBACK}.
>Most other things have ${DRAWBACK}, so it's really neither relevant nor worth discussing.
It creates a provable, transferable, composable, tamper-proof "ownership" record of the digital signature.
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.
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.
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.