Skip to main content

Is A Decentralized Video Game Round Possible?

The Problom Facing This Question

Every time I think of decentralization; I think of huge supercomputers, spread around the world, all preforming calculations to mine the next block. The blockchain format is not a viable video game environment because of the large latency that comes with it. However, the only reason that blocks are necessary in a cryptocurrency is to that malicious users do not try to exploit the inherent latency that comes with the internet, by spending more than they have. This is not the case for video game servers, because packets are an unlimited recourse. However, there is a possibility that a malicious client could send different data to each client, but more on that later.

An Explanation

From now on, I will refer to a collection of players playing together as a round, or as a video game round. I will also reserve the term "server" as a application that computes, stores, sends, and interprets all the data necessary to run a normal video game server. There can be multiple servers per round.

A component is a single server that is running a round

Centralized Game

Currently, all video game rounds and servers are centralized; there is only one server, and all of the players are clients. There is also no way for any of the clients to communicate to one another, except through the server.

Standards

In order for there to be efficient decentralization in any system, there must be standards for each component of a round to follow; or else, the components will not be able to adequately communicate, or understand what the other components are trying to do.

Encryption

Frst, each client will have their own private and public key pair. Depending on what the format of the whole video game is, these keys might or might not be linked to a specific user. Every time a connection is made, the components will send each other their public keys, which will then be used to communicate a symmetric key, to encrypt the data. Having a private-public key is necessary for each server to compare their connection requests, to make sure that the connections are coming from the same person.

Client-Server pair

The first option is the simplest; for each client, or player, there is also a server kept and maintained. Every time a client connects to a round, the server paired with their client will connect to, and send a request to, all of the other clients currently in the round in which they are trying to connect to. The servers would then share the join request with all of the other clients, and then receive information back concerning weather or not the other servers got the request or not.

The servers will then vote on weather or not to admit the pending player. If the player is admitted. The vote is used for reasons that can be changed; for example, if the connecting player has been reported for cheating, servers may not allow the new player to join.

If the new server does get authorized, it will contact all servers for a list of other servers in the same round. The server the will connect to any other server that they have not connected to yet, and appears in a majority of the ledgers that the other servers gave it; and will exchange keys, and connect.

All of the servers will exchange data with all of the other servers; and will also exchange what data they received from the other servers with each other, and what data they received from each other from each other (more on this later.)

Application

This style of server is best used on games that do not have a large player to round ratio (first person shooters, who usually have 12-24 players per round are best for this option) and rounds that do not have a large world size. If an open world game, like No Man's Sky, that has a very large world size would not work on this type of server, because there would be too many connections, and too much data for each server to process.

Downside

There are two big downsides to this option. The first option is the fact that this option would require port forwarding, which most people do not know how to do, or even what it is. The second downside is that each and every client would also have to keep a server; some computers that people use are very slow, and do not have the capability to run a whole server.

Many servers, even more clients.

For technology like the Bitcoin Blockchain, the ledger is not stored on the computer of everyone who has a wallet, it is instead, stored on multiple large servers. Every time a wallet holder would want to do a transaction, the wallet holder just has to contact a few of of the ledger holders, and send them the transaction. Option two is based off of this concept; a few big servers will run a round, and connect to multiple clients each; and then the servers will share the data with each other, and then in turn share the data that they received with the clients it is connected to.

The servers that run a round this way must also have a way to defend against desynchronizing. Each server must share all the data they receive, and then share the data they receive from the data that is received from the server which sent it.

Application

This type of round is best on large, or processing intensive rounds, that are too difficult be processed on each individual client. Most games that are not co-op, or first person shooters, will need this type of server, because it is much more efficient, and allows players with old or cheaper computers to play on the server.

Downside

The downside to this is the fact that ping will be worse because there are more places for the data to go, and even more than a centralized server. There is also one point of failure if a client does not send its data to multiple servers; which sounds easy, but the servers might be uncommon, and far apart, which may force a player to accept high ping, or use a malicious server, or both.

Anti-Cheat

Every game will have cheaters; cheaters, in a centralized server, can be dealt with by the server, or by a vote by the clients if the anti-cheat fails. However, on a decentralized system, a single anti-cheat will not work because no single person runs it. For anti-cheat, each server will keep a Boolean for each client (or a vote) and then distribute this data to the other servers. Servers that do not vote will be assumed that they vote "no" for every client. The servers then will then kick anyone who is suspected of cheating by more than 50% of the servers in the round.

Synchronization

Much like any other decentralized technology, there must be protection against the system becoming desynchronized from one another. If the system becomes synchronized, it will no longer be a system, but instead separate systems, based of of what vague data they receive. In most decentralized system, a block chain is used; however, a high latency method like a block chain will not work for a live video game round; there needs to be a majority-proofed way to prevent desynchronization.

If all of the individual servers are following protocol, and not purposely manipulating data; the servers will never desynchronize from one another. However, data manipulation is inevitable, and there needs to be a universal, but still decentralized way of defending against this. The simplest way of doing this is by having each of the servers send each other the data that they receive from the others. This will allow each of the servers to compare the data, and figure out if it is manipulated. Only one check is needed because it is majority prof this way; as long as the majority of the servers are reporting the correct data, the individual servers can judge vote whether to kick a player or not.

Comments

Popular Posts

Virtual Reality

Virtual reality seems to be the only topic that is being developed at all in the realm of video games. Right now, it looks to be that virtual reality will be the next revolution in video games; a third of employees at Valve are working on something related to virtual reality. But Isn't Every Video Game Some Kind Of Virtual Reality? Yes, every game is a virtual reality of some kind, but the virtual reality that I will be writing about is a virtual reality that is able to completely trick a sense into thinking it is real. The virtual reality developments going on today are developments in sight, the predominant sense in Humans . Saying that all video games are virtual realities is not accurate, because, to date, no video game has been able to accurately portray a reality indistinguishable to our senses than a real reality. The Moral Importance Of Virtual Reality In Language vlass, I read an essay titled, The moral Importance of Fiction and Literature th

Net Neutrality

Sigh... I really do not want to comment on this. It's never a good idea to get political; getting political makes people who don't agree with your views stop consuming your content, and people who agree with your values pressure you into saying things that you do not want, which will cause all of the previous. I will try to be as unbiased as possible. I live in the United States, so I will be writing from an American perspective, and using current events in American politics; however, this is still an issue that applies to everyone. What is Net Neutrality Net neutrality is the principle that Internet Service Providers (ISPs) must treat all [legal] traffic on the Internet equally; no service receiving better or worse treatment. What is a violation of net neutrality Take a person who desires to search Google for "hilarious cats failing jumps" or whatever. With net neutrality in place, the person's ISP is forced to treat Google equally as all

An Open Letter To Valve and the TF Team

Dear Valve, It is no question that your match making service for TF2 is horrible. Players are met with long wait times, unbalanced matches, and matches the end as soon as they get there. Players, much like me, get infuriated about how i get matched onto a loosing team at towards the end of the round every time . you need to change something about this process, Team Fortress Two is loosing players because of it. Before the Matchmaking Update Before the Matchmaking update, the "Valve Servers" were searchable servers that the client-slash-player could choose from. Servers would never stop, and players could set the round to be whatever map they wanted. Experiences players would join them to use the non experiences players as cannon fodder, and the non experiences players would join because they didn't know how to use the game yet. You most likely changed the way players join servers for this reason, so that newer players could go up against players that wouldn't

Late Shift

Some people say we're all connected, all part of a bigger picture; some harmonious flow, endless and meaningful. Maybe that's how it looks from a distance; but up close, with eyes open, I see no evidence of some spiritual choreographer at work. No, I see nothing but random fractals of a selfish, queenless hive. -Exert of the opening narration suggesting that the player is an omniscient, "spiritual choreographer" WARNING: I try to keep it to a minimum, but there are still spoilers. For the last two weeks, I have been playing a game called late Shift . Late Shift is the first choose your own adventure game, and originally came out in April of 2016. About a year after that, it was released on steam; the game looked interesting, so I bought it. I found multiple parts of the game, and its platform interesting, and I wanted to share them The trailer for Late Shift is below. There is language that may be considered offensive to younger audiences. Firs