[0008] In light of the foregoing background, embodiments of the present invention provide an improved
system, network entity, client and method for facilitating fairness in a multiplayer game. In accordance with embodiments of the present invention, data packets to and / or from a
game server during play of a multiplayer game may be artificially delayed such that the clients playing the game communicate with the game
server, and thus play the game, with the same perceived network latency. More particularly, data packets received from clients across one or more networks may be artificially delayed before being passed to the game
server for
processing. Additionally or alternatively, data packets received from the game
server may be artificially delayed before being passed to respective clients across one or more networks, the data packets being passed to the clients for processing by the clients. The data packets may be delayed such that all of the clients playing the game experience substantially the same effective network latency. Further, the effective network latency may, for example, substantially equal the highest network latency of the clients. To avoid a prohibitively undesirable slowdown in
game play that may be experienced due to prohibitively long network latencies associated with a few clients, the system of embodiments of the present invention may be configured such that only those clients with a network latency below a latency threshold are permitted to play the multiplayer game. However, to permit slower clients to play the game, the game application operated by the game server may also provide multiple occurrences of the game. In such instances, clients with similar network latencies may be matched with one another in each of the occurrences of the multiplayer game.
[0009] According to one aspect of the present invention, a system is provided for facilitating fairness in a multiplayer game. The system includes a gaming architecture having a least one network entity, such as a game server, routing server and / or client. The network entit(ies) are capable of operating a game application, which is capable of operating a multiplayer game. The system also includes a plurality of clients capable of communicating with the gaming architecture across at least one network to play the multiplayer game. The clients, including a particular client, are each associated with network latency. Thus, the system further includes a time-delay module disposed across the networks from the clients and between the clients and the game application, such as in a position integral with, or
proximate to, the network entity. The time-delay module is capable of receiving a data packet associated with the particular client during play of the multiplayer game, and delaying the data packet for at least a portion of a
delay time associated with the particular client. After delaying the data packet, then, the time-delay module is capable of passing the delayed data packet to the game application or to the particular client for processing. In this regard, the
delay time is based upon the network latency of the particular client and an effective network latency set based upon the network latencies of the plurality of clients. During play of the game, then, the time-delay module may be capable of receiving a data packet, delaying the data packet and passing the delayed data packet for the plurality of clients such that the plurality of clients play the multiplayer game with a network latency substantially equal to the effective network latency.
[0011] The system can further include at least one routing server for routing data packets between a game server network entity and the plurality of clients. In such instances, the game server or routing server(s) may be capable of comparing the latencies of the clients against a threshold latency. Then, the game server or routing server(s) may prevent those clients having a network latency above the threshold latency from playing the multiplayer game. To also allow clients with higher network latencies to play the game, the game application may be capable of providing a plurality of occurrences of the multiplayer game, each occurrence being capable of being played by a plurality of clients. Thus, each occurrence is associated with the effective network latency of the clients playing the occurrence. The game application, then, may be further capable of receiving an additional client into an occurrence of the multiplayer
game based upon the effective network latency associated with the occurrence and the network latency of the additional client. Even within each occurrence, however, the time-delay module may be capable of receiving a data packet, delaying the data packet and passing the delayed data packet.
[0012] According to other aspects of the present invention, a network entity, client, method are provided for facilitating fairness in a multiplayer game. Embodiments of the present invention therefore provide an improved system, network entity, client and method for facilitating fairness in a multiplayer game. By configuring game traffic such that the clients playing a game send / receive data packets with substantially the same effective latency, embodiments of the present invention therefore provide a framework for overcoming the drawback of network latency in communications between clients and game servers in playing a game. And to avoid decreasing the speed of game traffic to a prohibitively undesirable level, a threshold latency can be imposed on the clients playing the game, and / or clients can play different occurrences of the game with other clients having similar network latencies. As such, the system, network entity, client and method of embodiments of the present invention solve the problems identified by prior techniques and provide additional advantages.