With the expansion and improvement of the Internet over the past three decades, Massively Multiplayer Online Games (MMOGs) have grown in popularity peaking at over 22 million active subscribers. While a large numbers of players adds to the immersion of a virtual environment, each individual player increases the traffic, bandwidth and processing requirements of the game’s host.
Traditionally MMOGs have been developed using a Client/Server (C/S) network architecture in which a server is the centralized authority hosting the virtual environment. Players are able to launch their own individual software clients to connect to the developer’s server and log into the world. The centralized authority is then responsible for every aspect of the game. Therefore, the operational costs for servers in this architecture are estimated to consume large portions of the developer’s generated revenue each month.
For the load on the server to be reduced, alternatives to the C/S architecture have been investigated in recent years. As most modern personal computers and home Internet connections are vastly superior to a decade ago, the formulation of using a Peer-to-Peer (P2P) network architecture as a basis for an MMOG has been proposed. This P2P architecture aims to distribute the bandwidth and processor requirements of the game amongst all the players rather than being hosted solely by a server. Thus each client in the network becomes a peer and contributes to hosting itself.
With this in mind, it would be beneficial to apply this P2P principle to an MMOG network and distribute some of the server’s traffic amongst the clients – effectively reducing the total traffic the server has to deal with. However, it would be an unrealistic undertaking for a well-established, mature MMOG with millions of active players to transform its entire architecture into a P2P system.
My research aims to overcome this problem by developing a middleware plugin that can be inserted into an established and unmodified MMOG C/S architecture. This middleware will distribute chosen tasks amongst the client-transformed peers of the network, relieving the server of certain duties. A system such as this could reduce player subscription fees as well as reducing the cost incurred to the developer for hosting the game.My contact details: firstname.lastname@example.org