• 沒有找到結果。

1.1. MMOG

MMOG (Massively Multiplayer Online Game) is a type of computer game that enables hundreds or thousands of players to simultaneously interact in a game world they are connected to via the Internet. But developing a MMOG is very hard.

Developer will encounter plenty of problems, such as high-performance network to exchange thousands of messages in a short time, distributed technology to deploy many servers, extensibility, fault tolerance, load balancing…etc. Most of these issues are not existed in usual game. Therefore, development a MMOG will consume a lot of time and plenty efforts.

MMOGs are the main stream of many other game types at present. Several companies devote themselves to this field, including large companies, such as Microsoft and SONY, etc. And, many companies provide plenty of hardware and software to support game development. All large-scale game companies develop MMOG as an important policy without exception. But, adjudging one game is good or bad that have many considerations. Not only determine by game content but also the server processing power and stability are important issues. By means of the MMOG middleware platform which developed can promote server processing power and stability. And we can develop MMOG more quickly by means of some existence functionality in this platform. The opportunity will be taken beforehand in the present environment in which we need to strive for time.

DOIT [1] (Distributed Organized Information Terra) is a middleware platform of

MMOGs. It provides many technologies such as distribute architecture, load balancing, avatar migration…etc. It also provides plenty of simple APIs to programmer to develop MMOGs.

1.2. Motivation

Although DOIT provides many features for developer, it does not handle the MMOG data well. Game data is the key to a success game. Besides networking, another important issue is persistent on MMOGs middleware platform. Because it’s plenty of the game data, they can’t be place to main memory at a time. When users logout the game, user’s data must be the same when they login next time. Relational database is the most people to use and performance fits in with the requirements of large scale system.

Nowadays, there are plenty of commercial products of MMOGs middleware platform. For example, Butterfly.net [2], Terazona [3] are famous commercial solutions. But, we usually can’t know the detail and internal design of the commercial products. The similar type of the software, MUD (multi-user dungeon), has some open sources software such as JAdventure [4], TigerMUD [5]. Take these for example, these software are aware of that data to deal with on persistent component. So, it can hard code to write or to add some mechanism of error handling. This kind of way is not a general solution. It is not convenient to programmer of MMOGs to modify or develop.

In addition to design the roles in the game, the MMOG developer also need to design the fields of the table and the relations of the tables in the relational database.

When programming, they even use the complicate SQL (Structured Query Language) command to manipulate game data. It takes them too much efforts and waste a lot of time. For the reason, we wish to overcome all issues to simplify game development.

1.3. Research Objectives

In order to reduce the developing effort and provide a better MMOG environment, persistence components are necessary. They will not only handle manipulate relation-database but also provide a better method to use. For the reason, those components should fulfill the following requirement: easy-to-use, high-performance and transparent persistent.

z Easy-to-use

It takes much time and efforts to develop a MMOG. If we can provide simple, easy-to-use and useful API to developer of MMOGs, it can save much more time to develop a MMOG.

z High-performance

Generally speaking, there are always thousands of people, even ten thousands of people on line at the same time in a MMOG. So, the performance issue is very important to us. But, how can we response these plenty of uses in a short time? It is a very important issue for us to solve.

z Transparent persistent

Programmers can be in object points of view to design and write the MMOG, but can’t be in table points of view in relational database. Through simple API, the framework will save user’s data to relational database automatically. Programmers will not feel that they use relational database on the backend. It achieve to transparent in persistent.

According to our research objectives, we design a framework to process all storage issues. This framework will let programmers use simple way to write MMOG.

Let programmers concentrate on designing and writing game logic, not to care about the data on the bottom layer what kind of databases to store data.

DOIT middleware platform doesn’t have any system components or services about storage. Programmers must be use JDBC [6] to hard code to write the persistent parts. Although, this way is more free to programmers. However, it can not restrict to programmers to write the code of persistent parts only. It will have big problems to maintain the system when the scales of MMOGs become larger and larger. If the system is written by our component and architecture, it will be more easy to maintain and avoid the code relative to use the JDBC to write the persistent pares directly.

1.4. Organization

In Chapter 2, we enumerate the persistent framework on the market and discuss there pros and cons. And we discuss some research about in memory operation. In Chapter 3, we introduce the components in our system and their responsibility. In

Chapter 4, we discuss the implementation details for each component in our system.

In Chapter 5, we build up some experiments and evaluations to our system. In Chapter 6, we give the conclusion and future works for our system.

相關文件