Massively Multiplayer Online Role Playing Games Computer Science Essay

Published: Last Edited:

This essay has been submitted by a student. This is not an example of the work written by our professional essay writers.

Games originated from 1940 which was first introduced in cathode ray tube in missile defense systems. The first video and computer games, such as NIMROD (1951), OXO (1952), and Spacewar! (1961) were for one or two players sitting at a single computer which was being used only to play the game.

It was in 1960s that computers began to support file sharing which allows multiple users not in the same room to play games simultaneously.

MMORPGs(Massively multiplayer online role-playing game)

Massive multiplayer online (MMO) games are Internet-based video games that can accommodate hundreds-or even thousands-of concurrent users. A defining characteristic of most multiplayer online games is that they present a single, integrated, persistent gaming world. World of Warcraft and Second Life are examples of MMO games. The first significant console MMORPGs were Phantasy Star Online on the Sega Dreamcast

Before, console based MMORPGs have been few in number due to the lack of bundled Internet connectivity options for the platforms. As affordable broadband Internet connectivity spread, many publishers turned to online gaming as a way of innovating.


Agents in Games

Agents in Massive multiplayer online are represented as robots, creatures, humans which are control by the person playing the game and players can cooperate with other players around the world to achieve a mission. See picture 2

Picture 2: different types of agents

MMORPGs have to allow players to think of an imaginary world as a real place with real rules. These rules cover everything, like what happens when a character jumps off a waterfall, to behavior, like what happens when one player in a group cheats others out of their loot. In MMORPGs a vast number of players can create their own, independently controlled characters, each choosing to play in his or her own way.

MMORPGs are almost autonomous, that is they do not always require human intervention and maintenance in the sense that it is designed for new expansion like increasing the goblin population or make gold more scarce in a particular region and command agents to carry them out.

The attributes of such types of games are:

Self-awareness- If the game world is to be changed in response to emergent patterns or changes brought about by the actions of player characters (PCs) or NPCs, a controlling agent must have a view of the current game state.

Self-adjustment- ensure sensible responses to events detected by monitoring agents took place.

Self-optimization- Agents within the game are able to increase their performance based on the performance of their opponent.

Communication between the agents

Players communicate with each other both in real-time chat during game play and on the Internet via official and unofficial forums. Other communication methods include:

Verbal communication


Follow the Leader

Planning Ahead

Architecture of MMORPGs

We have different ways to coordinate the flow of data required to run an MMORPG but the common one is by client and server. The client is the program that runs on a user computer whereas the server is the host machine you connect to when you play.

A client is a combination of the playing board and the window used to view the game world. Nearly everything about the world including maps, landscapes and even what different mobs look like exists in files and databases on the users' computer. The users' computer uses algorithms, or sets of rules, to translate these files into a representation of the game world and what's in it.

The client also tells the server where the users are, where the user's character is going and what actions the character takes.

The server has several responsibilities as well. Sometimes, these require input from the client, but in general, the server:

Compares where the character is to where mobs, players and NPCs are

Calculates whether a character is in range of the mob the player wants to attack

Notifies your client when your character is being attacked

Calculates the probability of whether the user's attacks are successful

Reports how much damage or healing the user does to himself and the rest of the user's party

Notifies other players' clients when the user damage or heal their characters

Instructs the user computer to display a mob's death animation when the user kills it

Determines what property drops when the user kill a mob

C:\Documents and Settings\kerl\Desktop\ce.jpg

Figure 1.0 MMORPGs architecture

The MMO game architecture consists of four major components:

A gaming client to render the game for the user.

Gaming servers to interact with the gaming client.

A Web application server to integrate with the gaming servers and clients.

A database server to persist and retrieve data.


The client machine 1...N represents the user's machine. 1...N indicates that there are more than one concurrent machines (users).

With the HTTP client, it can send GET requests to a Web server and process the returning page sent by the Web server.

The Game Networking Client is the default game-networking client code that allows the game client to talk to the game server.

Server 1...N

1...N indicates that multiple servers can be run on a single physical server. Multiple servers can also be run on a particular processor within a server.

Physical server 1...N is the actual physical server that runs the server. 1...N indicates the architecture accounts for multiple physical servers running servers.

Game Networking Server is the default game-networking server code that allows the servers to talk to the clients.

With the HTTP client, it can send GET requests to a server, so this indicates that the server can also make these HTTP requests.

Web application server

Physical server 1...N is the physical servers that run the Web application server.

HTTP server is the Web server that processes the HTTP requests from the client and server.

Database connection is the application programming interface (API) that connects the Web application server to the database, such as Open Database Connectivity (ODBC) or Java Database Connectivity (JDBC).

Database management system

The database server store game data.


Some of the concerns are:

OS-level vulnerabilities: Operating system misconfigurations or application misconfigurations can lead to security consequences. Operating system and application software must be patched and monitor closely.

Game Server-level vulnerabilities: A single bug in the code can lead to exploitation of the game.


Client can feed bad data to break the system or to hack it. Once the system has been hacked, cheaters can sell the characters or items online

Game play mechanics themselves can give rise to cheating and/or abusive behavior. Ultimo Online, for instance, was plagued by a series of robberies by players who determined they could scrupulously stack items to build a stairwell and lay siege to the homes of other players.

Load balancing

If the game is run on a single server, problems will arise once load starts. This is generally due to a bottleneck in hardware and bandwidth.

In an online game like World of Warcraft, the biggest architectural challenge is sharing state information about the game with hundreds of thousands of client programs all at once.

Future trend

Agents, environment, graphics will be more and more realistic.

The behavior and movement of the characters in a game will be realistic like the behavior and movement of a real person.

The requirements to play such games will be more expensive and higher.

Improving the intelligence of game agents will allow them to:

Adapt to changes in design and dynamic environment conditions

Display genuine behavior

Increase flexibility


Intelligent Agents have become very important in game. Game developers are paying more emphasis on developing more realistic attitudes and graphics for games. Key characters and even background characters in game will have better flexible reasoning capabilities.

These revolutionary agents have mostly advantages, including flexibility, simplicity, and quicker development times. However, the requirements to play such games will be very high and very expensive.

Ref :

Online Games and Security eBook-" David Ahmad"

Architecture for a Massively Multiplayer Online Role Playing Game Engine Ebook-