The Fun of using TCP for an MMORPG

Carsten Griwodz, Pål Halvorsen

ABSTRACT

Massive multi-player online games have become a popular, fast growing, multi-million industry with a very high user mass supporting hundreds or thousands of concurrent play- ers. In many cases, these games are centralized and every player communicates with the central server through a time- critical unicast event stream. Funcom’s Anarchy Online is one of these; it is based on TCP. We find that its kind of traffic has some interesting properties that inspire changes to protocol or architecture.
In these game streams, TCP does not back off, using TCP does not have to be slower than using UDP, and almost only repeated timeouts ruin the game experience. Improving the latter in the sender implementation does not impose any remarkable penalty on the network. Alternatively, a proxy architecture for multiplexing could save about 40% resources at the server, allow congestion control to work and also reduce the lag of the game.

Citation: Griwodz, C., and Halvorsen, P. (2006). The fun of using TCP for an MMORPG. Proceedings of the 2006 international workshop on Network and operating systems support for digital audio and video - NOSSDAV '06. doi:10.1145/1378191.1378193

An Empirical Evaluation of TCP Performance in Online Games

Kuan-Ta Chen, Chun-Ying Huang, Polly Huang, and Chin-Laung Lei

ABSTRACT

A fundamental design question to ask in the development of a network game is—Which transport protocol should be used—TCP, UDP, or some other protocols? Seeking an objective answer to the choice of communication protocol for MMORPGs, we assess whether TCP, a popular choice, is suitable for MMORPGs based on empirical evidence. To the best of our knowledge, this work is the first evaluation of transport protocol performance using real-life game traces. We analyze a 1, 356-million-packet trace from ShenZhou Online, a TCP-based, commercial, mid-sized MMORPG. Our analysis indicates that TCP is unwieldy and inappropriate for MMORPGs. This is due to four distinctive characteristics of MMORPG traffic: 1) tiny packets, 2) low packet rate, 3) application-limited traffic generation, and 4) bidirectional traffic. We show that because TCP was originally designed for unidirectional and network-limited bulk data transfers, it cannot adapt well to MMORPG traffic. In particular, the window-based congestion control and the fast retransmit algorithm for loss recovery are ineffective. Furthermore, TCP is overkill, as not every game packet needs to be transmitted in a reliably and orderly manner. We also show that the degraded network performance did impact users’ willingness to continue a game. Finally, we discuss guidelines in designing transport protocols for online games.

Citation: Chen, K., Huang, C., Huang, P., and Lei, C. (2006). An empirical evaluation of TCP performance in online games. Proceedings of the 2006 ACM SIGCHI international conference on Advances in computer entertainment technology - ACE '06. doi:10.1145/1178823.1178830

On the effectiveness of an optimization method for the traffic of TCP-based multiplayer online games

Jose Saldana

ABSTRACT

This paper studies the feasibility of using an optimization method, based on multiplexing and header compression, for the traffic of Massively Multiplayer Online Role Playing Games (MMORPGs) using TCP at the Transport Layer. Different scenarios where a number of flows share a common network path are identified. The adaptation of the multiplexing method is explained, and a formula of the savings is devised. The header compression ratio is obtained using real traces of a popular game and a statistical model of its traffic is used to obtain the bandwidth saving as a function of the number of players and the multiplexing period. The obtained savings can be up to 60 % for IPv4 and 70 % for IPv6. A Mean Opinion Score model from the literature is employed to calculate the limits of the multiplexing period that can be used without harming the user experience. The interactions between multiplexed and non-multiplexed flows, sharing a bottleneck with different kinds of background traffic, are studied through simulations. As a result of the tests, some limits for the multiplexing period are recommended: the unfairness between players can be low if the value of the multiplexing period is kept under 10 or 20 ms. TCP background flows using SACK (Selective Acknowledgment) and Reno yield better results, in terms of fairness, than Tahoe and New Reno. When UDP is used for background traffic, high values of the multiplexing period may stress the unfairness between flows if network congestion is severe.



Citation: Saldana, J. (2015). On the effectiveness of an optimization method for the traffic of TCP-based multiplayer online games. Multimedia Tools and Applications. doi:10.1007/s11042-015-3001-y

Simulation of Massively Multiplayer Online Games Communication Using OPNET Custom Application

Sarmad A. Abdulazeez, Abdennour El Rhalibi, Dhiya Al-Jumeily

ABSTRACT

In recent years, there has been an important growth in online gaming. Nowadays, Massively Multiplayer Online Games (MMOGs) may involve millions of synchronous players scattered around the world and engaging with each other within a single shared game. In this paper, we propose a new technique to communicate between players and game server, and between them based on hybrid Peer-to-Peer architecture. We propose to use OPNET Modeler 18.0, and in particular the custom application to simulate the new architecture, which required the implementation of new nodes models and behaviors in the simulator to emulate correctly the new architecture. We use OPNET Modeler 18.0 to simulate the network, applying two transport protocols TCP and UDP, and with different scenarios. The scenarios include both clientserver and hybrid P2P system to evaluate the communication of games with (125, 500, and 1000) peers.

Citation: Abdulazeez, S. A., Rhalibi, A. E., and Al-Jumeily, D. (2016). Simulation of Massively Multiplayer Online Games communication using OPNET custom application. 2016 IEEE Symposium on Computers and Communication (ISCC). doi:10.1109/iscc.2016.7543721

An active self-optimizing multiplayer gaming architecture

V. Ramakrishna, Max Robinson, Kevin Eustice, Peter Reiher

ABSTRACT

Multiplayer games are representative of a large class of distributed applications that suffer from redundant communication, bottlenecks, single points of failure and poor reactivity to changing network conditions. Many of these problems can be alleviated through simple network adaptations at the infrastructure level. In this paper, we describe a model in which game packets are directed along the edges of a rooted tree connecting the players, aggregated during the upstream flight and multicast from the root to the leaves. This tree is constructed based on a heuristic, and can dynamically adjust itself in response to changes in network conditions. This gaming infrastructure is built and maintained using active networks, which is currently the only open architecture suitable for these types of applications.
We have designed and implemented a prototype using ANTS that performs these adaptations for unmodified DOOM clients. We present analytical and simulation results that illustrate the reduction in communication overhead, and show that the multicast tree can quickly adjust to changing network conditions. The overhead of the active network-based middleware is acceptable, especially in wide-area networks.

Citation: Ramakrishna, V., Robinson, M., Eustice, K., & Reiher, P. (n.d.). An active self-optimizing multiplayer gaming architecture. 2003 Autonomic Computing Workshop. doi:10.1109/acw.2003.1210202

Multiplayer Game Programming: Architecting Networked Games

Josh Glazer, Sanjay Madhav

ABSTRACT

Networked multiplayer games are a multibillion dollar business: some games now attract tens of millions of players. In this practical, code-rich guide, Joshua Glazer and Sanjay Madhav guide you through every aspect of engineering them. Drawing on their immense experience as both game developers and instructors, the authors lead you through building a robust multiplayer architecture, and creating every engine-level system. You’ll learn through in-depth working code examples for two complete games: an action game and a real time strategy (RTS) game.
First, Madhav and Glazer review the essentials of networking and network programming from the standpoint of game developers. Next, they walk through managing game data transmission, updating game objects across the network, and organizing the devices that join your game. You’ll learn how to ensure reliable performance despite the Internet’s inherent inconsistencies, and how to design game code for maximum security and scalability. The authors conclude by addressing two increasingly crucial issues: incorporating gamer services and hosting your games in the cloud.

Citation: Glazer, J. L., and Madhav, S. (2016). Multiplayer game programming: architecting networked games. New York, NY: Addison-Wesley.