At present, massively multiplayer online games
worlds use a client-server
model. This is effectively the same technology used to run smaller-scale games 'brute-forced' to support a greater number of users. This model (a product of historical influences, e.g. MUD
s) has several extremely serious drawbacks:
- The cost of running such a system is prohibitively expensive, currently preventing all but the largest international games publishers from running such a service.
- The limitations of scale mean that (usually) not all of the tens of thousands of players can inhabit the same contiguous world. It's not so much 'massively' multiplayer as 'quite large' multiplayer. Likewise, synchronisation is limited by geographical factors.
- The amount of data that can be shifted around per player has to be extremely limited - this results in games with extremely trivial interaction mechanics (e.g. EverQuest). Even the new, much-trumpeted EQ clone Star Wars Galaxies relies on big empty maps that can be transported to the client in a few kilobytes. Hardly very convincing.
- Because of the mind-boggling expense, the operators have to charge a subscription fee. This is detrimental because it can lead the game to be 'dumbed down' to pick up more players (e.g. EverQuest). Conversely, it also scares off a lot of potential customers, who don't see why they should have to pay more than once.
- An inordinate number of other reasons - such as the problem of tracking down a GM, excessive lag, and an extremely limited pool of content (due to a tiny handful of developers having access to the technology and financial clout required).
One possible solution to this problem would be to have a distributed
model, similar to a peer-to-peer
file sharing system. This would nullify most of the problems listed above, effectively democratising the technology to allow broader, deeper, and better targeted MM games in more realistic
Instead of all the actions in the game being passed through a central server, they would simply have to be verified by multicasting them to other nodes on the network. The game environment itself could be split between the nodes as well, with players dedicating as much bandwidth and resources as they see fit to running a dynamic chunk of the world. There would still need to be some kind of officiating server to regulate the network, but it would not need to be insanely huge.
The main problems I can see with such a system include cheating (which could be countered by making every node reliant on X others, although there are probably many other forms of cheating that would have to be dealt with), the cost of developing the technology, complexity, and the fact that it would most likely require all the users to have broadband (although maybe some reduced amount of interaction would be possible without the need for realtime 3D, e.g. a strategic role such as a town planner or a trader).
The developer could use a subscription model or the sale of a boxed copy of the client to make money (or most likely, as with the present systems, both). It is unclear at present whether any developer is considering such a system, although I fervently hope so.