CROSS-REFERENCES TO RELATED APPLICATIONS This is a continuation of International Application No. PCT/CN2005/000860, which was filed on Jun. 15, 2005, and which, in turn, claimed the benefit of Chinese Patent Application No. 200410048777.1, which was filed on Jun. 18, 2004, the entire disclosures of which are hereby incorporated herein by reference.
BACKGROUND OF THE DISCLOSURE 1. Field of the Technology
The present invention relates to data processing technology in network games, and more particularly to a method for processing data of game virtual items, game platform system and game system.
2. Background of the Invention
Along with the rapid development of Internet and mobile communication technologies, online network game has become a kind of key data service for communication operators. Generally, one system of online network game includes one game, and the game and system are developed by the game developer and mobile terminal device manufacturer respectively, following different standards. The technological development trend is that the operator provides a unified game platform to run different games provided by game developers. The game platform supplies the functions of billing, timer, score management and session management. The game platform shields the specific telecommunication equipment protocols and the telecommunication network environments at service deployment for the game developers to simplify the development work at the server side. The Game Task Force of Open Mobile Association (OMA) is dedicated to the mobile online game platform standards.
On the other hand, various problems of the game virtual items are becoming increasingly distinct along with the popularization of online network game. Special laws have been enacted against network virtual item thefts in some countries with developed network game business. The virtual items refer to the equipments or pets in the games. The game players generally should spend a lot of time and pay a large sum of communication bills to obtain the virtual items. Therefore, it may greatly affects users' satisfactory and even arouse legal disputes if the game system is unable to properly process the data of virtual items or well manage the virtual items. It is urgent both in legislation and technology to effectively solve the various problems associated with the virtual items. At present, some companies suggest to install firewall or anti-hiker software at client to guarantee the security of virtual items and prevent the virtual items from being, stolen. But there is so far no technological improvement scheme for the game system is put forward to solve the problems associated with the virtual items.
Generally, multiple games provided by plural game developers run on one game platform. Each game is an independent system, and runs together with the game platform on the same computer server.
For instance, the virtual item data processing interfaces defined by OMA's game platform standards include the interface between game and game platform and the interface between client and game platform. A schematic diagram illustrating the architecture of game system in related art is shown inFIG. 1. The interfaces between GameModule101 and GamePlatform102 include session management interface, communication interface, billing interface, score and match management interface, log interface, and timer interface, etc. And the interfaces betweenClient100 andGame Platform102 include logon and registration interface, game creation and match arrangement interface, game playing interface, score interface and message interface, etc.
GamePlatform102 maybe not provide the unified interfaces for processing data of virtual items, and the game's virtual item data processing is performed by respective GameModule101 independently. EachGame Module101 may have its own processing program of virtual item data and database for storing the data of virtual items with different data storage formats. The processing programs and storage formats may differ greatly from each other, especially when the games are developed by different game developers. Since the operator is generally unable to know the virtual item processing programs and data storage formats, the maintenance may be performed by the respective game developers independently. Since the operator cannot carry out unified maintenance, when a large number of games running at the same time, it may be very difficult to perform backup, statistics and analysis of the virtual items of these games respectively. The security and reliability of the processing programs completely rely on the respective game developers, and if a processing program of virtual item data developed by a game developer has security problems and leads to loss of game player's virtual items or data chaos, the operator may suffer from heavy loss. Moreover, the virtual items are virtual item data available in respective games, and they cannot be shared, circulated or transferred across different games, which may constrain the system functions.
SUMMARY OF THE INVENTION A method for processing data of game virtual items comprises:
setting a unified virtual item data processing interface and a unified virtual item database;
calling, by a game, the unified virtual item data processing interface;
interacting, by the unified virtual item data processing interface, with the unified virtual item database, to process the data of virtual items.
A game platform system comprises a unified virtual item data processing interface and a unified virtual item database. The unified virtual item data processing interface receives a call instruction containing interface parameters sent by a game module supported by the game platform system, interacts with the unified virtual item database according to the call instruction and the interface parameters to process data of virtual items, and returns processing result to the game module that issued the call instruction. The unified virtual item database stores the virtual item data of the game module supported by the game platform system.
A game system comprises a client, a game module, a game platform, and a virtual item serving module. The virtual item serving module comprises a unified virtual item data processing interface and a unified virtual item database. The unified virtual item data processing interface receives a call instruction containing the interface parameters from the game module, and interacts with the unified virtual item database according to the call instruction and the interface parameters to process data of virtual items, and returns processing result to the game module that issued the call instruction. The virtual item database stores the data of virtual items of the game system.
In an alternative embodiment, a game system comprises a client, a game module and a virtual item server. The virtual item server comprises a unified virtual item data processing interface and a unified virtual item database. The unified virtual item data processing interface receives a call instruction containing the interface parameters from the game module, and interacts with the unified virtual item database according to the call instruction and the interface parameters to process data of virtual items, and returns processing result to the game module that issued the call instruction. The virtual item database stores the virtual item data of the game module.
BRIEF DESCRIPTION OF THE DRAWINGSFIG. 1 is a schematic diagram illustrating the architecture of game system in the prior art.
FIG. 2 is a flow chart illustrating data processing of virtual items in accordance with an embodiment of the present invention.
FIG. 3 is a flow chart illustrating the creation of virtual items in accordance with an embodiment of the present invention.
FIG. 4 is a flow chart illustrating the distribution of virtual items in accordance with an embodiment of the present invention.
FIG. 5 is a flow chart illustrating the modification of virtual items in accordance with an embodiment of the present invention.
FIG. 6 is a flow chart illustrating the trade of virtual items between users in accordance with an embodiment of the present invention.
FIG. 7ais a flow chart illustrating a user selling virtual items to the game system in accordance with an embodiment of the present invention.
FIG. 7bis a flow chart illustrating a user buying virtual items from the game in accordance with an embodiment of the present invention.
FIG. 8ais a flow chart illustrating the bestowal of virtual items in accordance with an embodiment of the present invention.
FIG. 8bis a flow illustrating the share of virtual items in accordance with an embodiment of the present invention.
FIG. 8cis a flow chart illustrating the exchange of virtual items in accordance with an embodiment of the present invention.
FIG. 9ais a flow chart illustrating the first mode of virtual item inquiry in accordance with an embodiment of the present invention.
FIG. 9bis a flow chart illustrating the second mode of virtual item inquiry in accordance with an embodiment of the present invention.
FIG. 9cis a flow chart illustrating the third mode of virtual item inquiry in accordance with an embodiment of the present invention.
FIG. 10 is a flow chart illustrating the statistics of virtual items in accordance with an embodiment of the present invention.
FIG. 11ais a schematic diagram illustrating the structure of the game system in accordance with an embodiment of the present invention.
FIG. 11bis a schematic diagram illustrating the structure of the game system in accordance with an embodiment of the present invention.
FIG. 12 is a schematic diagram illustrating the structure of the game system in accordance with an embodiment of the present invention.
DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTSFIG. 2 is a flow chart illustrating the data processing of virtual items in accordance with an embodiment of the present invention. As shown inFIG. 2, after the unified virtual item data processing interface (referred to as the virtual item data processing interface hereinafter) and the unified virtual item database (referred to as the virtual item database hereinafter) are set in the game systems, the procedure of processing data of virtual items may be realized by the following two major steps:
Step201: The game in the game system may call the virtual item data processing interface during its running process.
Step202: The virtual item data processing interface interacts with the virtual item database to realize data processing of virtual items.
A detailed description of the specific data processing of virtual items is provided hereinafter.
First of all, a brief description of virtual item is provided. The virtual items may be brought with the virtual money owned by users, and the virtual items owned by users may be sold to get virtual money. A user may carry out virtual item trade with other users or with the game system. The virtual items and virtual money may be gained or lost due to users' certain behaviors according to the game rules, or may be gained or lost under certain conditions of the game system.
Next, a description of the virtual item database is given.
According to the present invention, the virtual item database may include multiple database tables associated with virtual item data, wherein the most elementary three tables are the game information table, the user information table and the virtual item table.
The game information table, includes game ID, game name and game version.
The user information table includes user ID and quantity of virtual money.
The virtual item table includes virtual item ID, virtual item attribution, and attributive user ID. Multiple fields are reserved in the virtual item table for each of the games to decide the definitions of the fields according to its needs so as to facilitate the extension of game functions and data contents. Wherein, the virtual item attribution generally occupies multiple fields, including common attributions of the same type virtual items such as item sort and the attributive game ID, as well as the special attribution of an individual virtual item, such as status.
The above three tables are the elementary tables of the virtual item data. Database tables may be added into the database when the above database's design is modified to reduce data redundancy and achieve more virtual item processing functions. The modified database may include the following database tables:
The game information table includes game ID, game name and game version. For instance, the game information table is shown in Table. 1.
| TABLE 1 |
|
|
| Game Information Table |
|
|
| PK | Game ID |
| | Game name |
| | Game version |
| |
The user information table includes user ID and quantity of virtual money. For instance, the user information table is shown in Table. 2.
| TABLE 2 |
|
|
| User Information Table |
|
|
| PK | User ID |
| | Quantity of virtual money |
| |
Virtual item sort table includes fields of virtual item sort ID, attributive game ID, value, undistributed quantity, and distributed quantity. Multiple fields may be reserved for each game to decide the definitions of the fields according to the game's needs so as to facilitate the extension of game functions and data contents. For instance, the virtual item sort table is shown in Table 3.
| TABLE 3 |
|
|
| Virtual Item Sort Table |
|
|
| PK | Virtual item sort ID |
| | Virtual item sort ID |
| | Sort name |
| | Attributive game ID |
| | Value |
| | Undistributed quantity |
| | Distributedquantity |
| | Reserved field |
| 1 |
| | Reserved field 2 |
| |
This table includes the elementary information of virtual item attribution such as the fields of item sort and the attributive game ID which is originally included in the virtual item table, reducing data redundancy. Obviously, the value of virtual item may also be defined in the virtual item sort table, i.e., the same sort of virtual items are of the same value. The way of determining the value of virtual item is: when determining the value of a virtual item, search the virtual item table first, and the value of the virtual item is the value of the value field associated with the virtual item if this field is not null, or the value of the virtual item is the value of the value field in the associated virtual item sort table if the value field associated with the virtual item is null. In this way, two charging modes are compatible simultaneously so as to meet the needs of different games.
The virtual item attributive table includes fields of the virtual item ID, and attributive user ID. For instance, the virtual item attributive table is shown in Table 4.
| TABLE 4 |
|
|
| Virtual Item Attributive Table |
|
|
| PK | Virtual item sort ID |
| PK | User ID |
| |
In Table 4, the relationship between virtual items and attributive users is multiple-to-multiple relationship, therefore multiple users may share one virtual item.
With the above two tables associated with virtual items, the structure of the virtual item table may be modified flexibly, e.g., the virtual item table may include fields of virtual item ID, virtual item sort ID, value, and the special attribution of an individual virtual item such as status. Plural fields may be reserved for each of the games to decide the definitions of the reserved fields according to its needs so as to facilitate the extension of game functions and data contents.
The virtual item table includes fields of virtual item ID, virtual item sort ID, value and status. Plural fields may be reserved for each of the games to decide the definitions of the reserved fields according to its needs so as to facilitate the extension of game functions and data contents. The virtual item table records the information of the distributed virtual items. One virtual item has a unique virtual item ID, so the field of virtual item ID may be configured as auto numbering type in the database to ensure the unique of the virtual item ID easily. For instance, the virtual item table is shown in Table 5.
| TABLE 5 |
|
|
| Virtual Item Table |
|
|
| PK | Virtual item ID |
| | Virtual item sort ID |
| | Value |
| | Status |
| | Reserved field |
| 1 |
| | Reserved field 2 |
| |
In the above tables, the fields marked with PK are the primary keys of the database tables respectively.
The virtual item database may be arranged in a distributed mode or in a cluster mode so as to prevent individual computer from overloading.
A description of the virtual item data processing interface is given hereunder. The virtual item data processing interface may be achieved completely with software, for instance, a virtual item data processing interface is designed according to the game's rules.
The virtual item data processing interface is divided into several parts such as virtual item creation, virtual item distribution, virtual item modification, virtual item trade, virtual item transfer, virtual item inquiry and virtual item statistics. Each of the parts comprises one or more interfaces. The game system may provide all or part of the interfaces as required.
The virtual item data processing method adopted by all the interfaces includes three basic steps: checking the validity of the interface parameters, interacting with the virtual item database to implement data processing of virtual items, and returning the data processing results of virtual items.
The processing interfaces of virtual item data associated with different designs of virtual item database are achieved in different ways. In light of the virtual item database with the game information table, the user information table, the virtual item table, the virtual item sort table and the virtual item attributive table, a detailed description is made hereinafter for data processing procedures comprising virtual item creation, virtual item distribution, virtual item modification, virtual item trade, virtual item transfer, virtual item inquiry and virtual item statistics.
FIG. 3 is a flow chart illustrating the creation of virtual items in accordance with an embodiment of the present invention. The creation of virtual items relates to the virtual item sort table. In this embodiment, the creation of virtual items comprises the following steps:
Step301: A virtual item data processing interface receives the creation instruction containing the interface parameters from the game, checks the validity of interface parameters, and if the interface parameters are valid, proceed to Step302; otherwise, proceed to Step307.
The interface parameters include the virtual item sort ID, the sort name, the attributive game ID, the value of the virtual and the quantity of the virtual item.
In this process, the data type of parameter, the range of value and null field may be checked. Some wrong or illegal operations may be filtered through elementary check to enhance the security and reliability of the system and raise the efficiency of the system. For instance, if the virtual item ID is defined as 10-bit character in the database, and the value of a virtual item ID in an interface parameter is a 5-bit character, an error prompt may be returned after checking the validity of interface parameters, instead of returning the error prompt after searching the virtual item database and failing to find the desired virtual item. Since the database operations are time consuming and occupy system resources, invalid database operations should be avoided as much as possible.
Step302: Search the virtual item sort table based on the virtual item sort ID in the interface parameters.
Step303: Decide whether the record associated with the virtual item sort ID in the interface parameters exists in the virtual item sort table, if exists, proceed to Step304; otherwise, proceed to Step306.
Step304: Modify the values of the associated fields in the existing record, e.g., modify the values of the sort name field, the attributive game ID field and the value field in the record to the values of the corresponding interface parameters.
Step305: Modify the field of undistributed quantity in the existing record by adding quantity of the virtual item in the interface parameters to the original value of the field of undistributed quantity, and then proceed to Step307.
Step306: Add a record in the virtual item sort table directly. The values of the fields in the created record are corresponding values of the interface parameters respectively.
Step307: Return the creation result to the game which called this interface. The creation result may contain the success or failure information, or the creation result may further contain an error description if creation failure.
FIG. 4 is a flow chart illustrating the distribution of virtual items in accordance with an embodiment of the present invention. The distribution of virtual items relates to three database tables: the virtual item sort table, the virtual item table and the virtual item attributive table. In this embodiment, the distribution of virtual items comprises the following steps:
Step401: A virtual item data processing interface receives the virtual item distribution instruction containing the interface parameters from, the game, and checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step402; otherwise, proceed to Step408.
The interface parameters include the virtual item sort ID, the user ID and the quantity of the virtual item. The process of checking the validity is as same asStep301.
Step402: Search the virtual item sort table based on the virtual item sort ID in the interface parameters.
Step403: Decide whether the record associated with the virtual item sort ID in the interface parameters exists in the virtual item sort table, and if exists, proceed to Step404; otherwise, proceed to Step408.
Step404: Decide whether the quantity of the virtual item in the interface parameters is not greater than the undistributed quantity in the associated record, and if yes, proceed to Step405; otherwise, proceed to Step408.
Step405: Modify the associated record in the virtual item sort table by subtracting the quantity of the virtual item in the interface parameters from the original value of the undistributed quantity field, and adding the quantity of the virtual item in the interface parameters to the original value of the distributed quantity field.
Step406: Add records in the virtual item table. The quantity of the created records equals to the quantity of the virtual item parameter in the interface parameters. The virtual item ID in the created record is generated by the program or database.
In this embodiment, the virtual item ID is generated in two ways. One way is that the field of virtual item ID in the virtual item table is configured as auto numbering type of the database. The other way is that the virtual item ID is generated by the program with a certain algorithm under the precondition of unique virtual item ID, for instance, obtaining the maximum value of the virtual item ID in the virtual item table, and then taking the maximum maximum plus 1 as the generated virtual item ID. There are also many other algorithms well known by the skilled in the art, and no more description for these algorithms is given here.
The above mentioned auto generating methods for the virtual item ID are applicable to all the processing interfaces of virtual item data having the function of generating virtual item ID in the present invention.
Step407: Add the association relationship between the above mentioned virtual item ID and the user ID of the interface parameters, i.e., the attributive record, in the virtual item attributive table.
Step408: Return the distribution result to the game which called the processing interface. The distribution result may contain the success or failure information, or the distribution result may further contain an error description if distribution failure.
FIG. 5 is a flow chart illustrating the modification of virtual items in accordance with the present invention. The modification of virtual items relates to the virtual item table. In this embodiment, the modification of virtual items comprises the following steps:
Step501: A virtual item data processing interface receives the virtual item modification instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step502; otherwise, proceed to Step505.
The interface parameters include the virtual item ID, the attribution field name and the attribution field value. The attribution field name may be a list of attribution fields, and the attribution field value is also an associated list of attribution values, thus plural attributions of virtual items may be modified simultaneously. The step of checking the validity of the interface parameters is as same asStep301.
Step502: Search the virtual item table based on the virtual item ID in the interface parameters.
Step503: Decide whether the record associated with the virtual item sort ID in the interface parameters exists in the virtual item table, if exists, proceed to Step504; otherwise, proceed to Step505.
Step504: Modify the values of the fields in the existing record in the virtual item table according to the attribution field names and attribution field values in the interface parameters.
Step505: Return the modification result to the game which called the processing interface. The modification result may contain the success or failure information, or the modification result may further contain an error description if modification failure.
The trade of virtual items includes the trade between users and the trade between users and the system. The descriptions are given respectively hereinafter.
The trade between users includes two cases: a user sells the virtual items that he owns, or the user buys virtual items from other users. The data processing procedures are identical in these two cases.
FIG. 6 is a flow chart illustrating the trade of virtual items between users in accordance with the present invention. The trade of virtual items between users relates to four database tables: the virtual item sort table, the virtual item table, the virtual item attributive table and the user information table. In this embodiment, the trade of virtual items comprises the following steps:
Step601: A virtual item data processing interface receives the virtual item trade instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step602; otherwise, proceed to Step608.
The interface parameters include the virtual item ID, the seller's user ID and the buyer's user ID, and price of the virtual item.
Step602: Search the virtual item table based on the virtual item ID in the interface parameters.
Step603: Decide whether the record associated with the virtual item sort ID in the interface parameters exists in the virtual item table, if exists, proceed to Step604; otherwise, proceed to Step608
Step604: Delete the record with which the virtual item ID is associated in the virtual item attributive table. Before deleting the record, decide whether the record associated with the virtual item ID and the seller's user ID of the interface parameters exists in the virtual item attributive table, if exists, proceed to Step604; otherwise, proceed to Step608.
Step605: Insert the record of virtual item attributive data associated with the virtual item ID and the buyer's user ID of the interface parameters into the virtual item attributive table.
Step606: Modify the user information table by subtracting the value of the virtual item from the virtual money quantity in the record associated with the buyer's user ID of the interface parameters.
Step607: Modify the user information table by adding the value of the virtual item to the virtual money quantity in the record associated with the original attributive seller's user ID. If the virtual item was owned by multiple users, its value is averaged by the number of the owners and the averaged value is added into the virtual money quantity of each of the owners.
Step608: Return the selling result to the game which called the processing interface. The selling result may contain the success or failure information, or the selling result may further contain error description if selling failure.
In this embodiment, the way of determining the value of a virtual item is that the price input in the interface parameters is the value of virtual item. In practical terms, the price of the virtual item may be not included in the interface parameters. In this case, the value field of the associated record in the virtual item table may be found through database retrieve, and this value is the value of the virtual item. If there is no value in the value field of the associated record in the virtual item table, the virtual item sort table is searched, and the value of the virtual item is the value of the value field of the associated record in virtual item sort table.
The above mentioned way of determining the value of virtual item is applicable to all the processing interfaces of virtual item data which having function of processing data of value in the present invention.
FIG. 7ais a flow chart illustrating a user selling virtual items to the game system in accordance with an embodiment of the present invention. The sale of virtual items to the system relates to four database tables as well: the virtual item sort table, the virtual item table, the virtual item attributive table and the user information table. In this embodiment, the sale of virtual items to the system comprises the following steps:
Step701: A virtual item data processing interface receives the virtual item selling instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step702; otherwise, proceed to Step709.
The interface parameters include the virtual item ID, the user ID and the price of the virtual item. The user ID in this embodiment refers to the seller ID.
Step702: Search the virtual item attributive table based on the virtual item ID and the user ID in the interface parameters.
Step703: Decide whether the associated record exists in the virtual item attributive table i.e., whether the seller owns the virtual item, and if exists, proceed to Step704; otherwise, proceed to Step708.
Step704: Modify the associated record in the virtual item sort table by adding 1 to the value of the undistributed quantity field while subtracting 1 from the value of the distributed quantity field.
It is generally the case that the user owns one virtual item of the same sort and he sells this one virtual item to the system. If the user owns multiple virtual items of the same sort and he desires to sell them all, it may be realized by repeated calling this virtual item data processing interface.
Step705: Delete the associated record from the virtual item table based on the virtual item ID in the interface parameters.
Step706: Delete the association relationship between the above mentioned virtual item ID and seller's user ID of the interface parameters, i.e., the attributive record, from the virtual item attributive table.
Step707: Modify the user information table by adding the value of the virtual item to the virtual money in the record associated with the seller's user ID of the interface parameters.
Step708: Return the selling result to the game which called the processing interface. The selling result may contain the success or failure information, or the selling result may further contain an error description if selling failure.
FIG. 7bis a flow chart illustrating a user buying virtual items from the system in accordance with the present invention. The buying from the system relates to four database tables as well: the virtual item sort table, the virtual item table, the virtual item attributive table and the user information table. In this embodiment, the buying from the system comprises the following steps:
Step711: A virtual item data processing interface receives the virtual item buying instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step712; otherwise, proceed to Step719.
The interface parameters include the virtual item sort ID, the user ID, the price and the quantity of the virtual item. The user ID in this embodiment refers to the buyer's ID, and the buyer may be singular or plural.
Step712: Search the virtual item sort table based on the virtual item sort ID in the interface parameters.
Step713: Decide whether the record associated with the virtual item sort ID in the interface parameters exists in the virtual item sort table, i.e., if there is the virtual item of this sort in the database, if exists, proceed to Step714; otherwise, proceed to Step719.
Step714: Decide whether the quantity of the virtual item in the interface parameters is not greater than the undistributed quantity in the corresponding record, and if yes, proceed to Step715; otherwise, proceed to Step719.
Step715: Modify the corresponding record in the virtual item sort table by subtracting the quantity of the virtual item in the interface parameters from the value of the undistributed quantity field while adding the quantity of the virtual item in the interface parameters to the value of the distributed quantity field.
Step716: Add a record in the virtual item table. The value of quantity field of the added record equals to the quantity of the virtual item in the interface parameters. The virtual item ID of the added record is generated by the program or database.
Step717: Add the association relationship between the above mentioned virtual item ID and the user ID of the interface parameters, i.e., the attributive record, into the virtual item attributive table.
Step718: Modify the user information table by subtracting the value of the virtual item from the virtual money quantity in the record associated with the user ID of the buyer in the interface parameters.
Step719: Return the buying result to the game which called the interface program. The buying result may contains the success or failure information, or the buying result may further contains an error description if buying failure.
The present invention may conveniently achieve the transfer of virtual items. The transfer of virtual items includes virtual item bestowal, virtual item share, and virtual item exchange. Their descriptions are given respectively hereinafter.
1. Virtual item bestowal.FIG. 8ais a flow chart illustrating the virtual item bestowal in accordance with an embodiment of the present invention. The virtual item bestowal relates to the virtual item attributive table. In this embodiment, the virtual item bestowal comprises the following steps:
Step801: A virtual item data processing interface receives the virtual item bestowal instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step802; otherwise, proceed to Step805.
The interface parameters include the virtual item ID, the original attributive user ID, and the bestowed user ID.
Step802: Search the virtual item attributive table based on the original the attributive user ID, the bestowed user ID and the virtual item ID in the interface parameters.
Step803: Decide whether the original attributive user owns the virtual item associated with the virtual item ID in the interface parameters, if the original attributive user owns the virtual item, proceed to Step804; otherwise, proceed to Step805.
Step804: Delete the record of attributive relationship between the original attributive user and the virtual item ID, and add the record of attributive relationship between the bestowed user and the virtual item ID in the interface parameters.
Step805: Return the bestowal result to the game which called the processing interface. The bestowal result may contain the success or failure information, or the bestowal result may further contain an error description if bestowal failure.
2. Virtual item share.FIG. 8bis a flow chart illustrating the virtual item share in accordance with an embodiment of the present invention. The virtual item share relates to the virtual item attributive table. In this embodiment, the virtual item share comprises the following steps:
Step811: A virtual item data processing interface receives the virtual item share instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step812; otherwise, proceed to Step815.
The interface parameters include the virtual item ID, the attributive user ID, and the sharing users ID list.
Step812: Search the virtual item attributive table based on the virtual item ID and the attributive user ID in the interface parameters.
Step813: Decide whether the associated record exists in the virtual item attributive table, i.e., if the user associated with the attributive user ID in the interface parameters owns the virtual item, and if exists, proceed to Step814; otherwise, proceed to Step815.
Step814: Add the record of share relationship between the sharing users ID list and the virtual item ID in the interface parameters into the virtual item attributive table.
Step815: Return the share result to the game which called the processing interface. The share result may contain the success or failure information, or the share result may further contain an error description in share failure.
3. Virtual item exchange.FIG. 8cis a flow chart illustrating the virtual item exchange in accordance with an embodiment of the present invention. The virtual item exchange relates to the virtual item attributive table. In this embodiment, the virtual item exchange comprises the following steps:
Step821: A virtual item data processing interface receives the virtual item exchange instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step822; otherwise, proceed to Step825.
The interface parameters include thevirtual item ID1, thevirtual item ID2.
Step822: Search the attributive user IDs respectively associated with thevirtual item ID1 and thevirtual item ID2 in the interface parameters in the virtual item attributive table.
Step823: Decide whether the users associated with thevirtual item ID1 and thevirtual item ID2 are the same, if same, proceed to Step825; otherwise, proceed to Step824.
Step824: Modify the user ID associated with thevirtual item ID1 in the virtual item attributive table into the user ID associated with thevirtual item ID2, and modify the user ID associated with thevirtual item ID2 into the user ID associated with thevirtual item ID1.
Step825: Return the exchange result to the game which called the processing interface. The exchange result may contain the success or failure information, or the exchange result may further contain an error description in exchange failure.
A description of virtual item inquiry process is given hereinafter. The virtual item inquiry in the present invention comprises three modes:
First mode: Inquiry of the specified virtual item's sort information;
Second mode: Inquiry of the specified virtual item's detailed information;
Third mode: Inquiry of the virtual items owned by a specified user.
The descriptions for the three modes are given respectively hereinafter.
1. Inquiry of the specified virtual item's sort information.FIG. 9ais a flow chart illustrating the first mode of virtual item inquiry in accordance with an embodiment of the present invention. The virtual item inquiry relates to the virtual item table and virtual item sort table, and comprises the following steps:
Step901: A virtual item data processing interface receives the virtual item inquiry instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step902; otherwise, proceed to Step905.
The interface parameters include the virtual item ID
Step902: Search the virtual item table based on the virtual item ID in the interface
Step903: Decide whether the associated record exists in the virtual item table, if exists, proceed to Step904; otherwise, proceed to Step905.
Step904: Search the virtual item sort table based on the value of virtual item sort ID field in the retrieved record to obtain the sort information of the virtual item.
Step905: Return the inquiry result to the game which called the processing interface. The inquiry result may contain the success or failure information, or the inquiry result may further contain an error description in inquiry failure.
2. Inquiry of the specified virtual item's detailed information.FIG. 9bis a flow chart illustrating the second mode of virtual item inquiry in accordance with an embodiment of the present invention. The virtual item inquiry relates to the virtual item table, and comprises the following steps:
Step911: A virtual item data processing interface receives the virtual item inquiry instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step912; otherwise, proceed to Step914.
The interface parameters include the virtual item ID.
Step912: Search the virtual item table based on the virtual item ID in the interface parameters.
Step913: Decide whether the associated record exists in the virtual item table, if exist, obtain the values of fields of the associated record in the virtual item table before proceed to Step914; otherwise, proceed to Step914 directly.
Step914: Return the inquiry result to the game which called the interface. The inquiry result may contain the success or failure information, or the inquiry result may further contain error description if inquiry failure.
3. Inquiry of the virtual items owned by a specified user.FIG. 9cis a flow chart illustrating the third mode of virtual item inquiry in accordance with an embodiment of the present invention. The virtual item inquiry relates to virtual item attributive table, and comprises the following steps:
Step921: A virtual item data processing interface receives the virtual item inquiry instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step922; otherwise, proceed to Step924.
The interface parameters include the user ID.
Step922: Search the virtual item attributive table based on the user ID in the interface parameters.
Step923: Retrieve the virtual item ID list associated with the user ID.
Step924: Return the inquiry result to the game which called the processing interface. The inquiry result may contain the success or failure information, or the inquiry result may further contain an error description if inquiry failure.
The present invention is able to achieve the statistics of virtual items.
FIG. 10 is a flow chart illustrating of the statistics of virtual items in accordance with an embodiment of the present invention. The statistics of virtual items relates to the virtual item sort table and the virtual item table, and comprises the following steps:
Step10: A virtual item data processing interface receives the virtual item statistics instruction containing the interface parameters from the game, checks the validity of the interface parameters, and if the interface parameters are valid, proceed to Step11; otherwise, proceed to Step12.
The interface parameters include the game ID.
Step11: Search the virtual item sort table based on the game ID to retrieve the information of virtual item sort associated with the game ID, e.g., the distributed quantity and undistributed quantity of each virtual item sort.
Step12: Return the statistics result to the game which called the processing interface. The statistics result may contain the success or failure information, or the statistics result may further contain an error description if statistics failure.
The foregoing is a detailed description of the functions of the processing interfaces of virtual item data. In practical terms, the specific type of processing interface may be an Application Program Interlace (API), e.g., JAVA API, C++ Dynamic Link Library (DLL), or may be an interface with message instructions, such as a progress of Man-Machine Interaction Language (MML).
In the present invention, the existing game system is modified according to the idea of storing all virtual item data of a game system in one database and processing the data in a unified way. A detailed description is given hereinafter with three embodiment of the game system.
FIG. 11ais a schematic diagram illustrating the structure of the game system in accordance with an embodiment of the present invention. The game system includesClient110,Game Module111 andGame Platform112. TheGame Platform112 includes VirtualItem Serving Module113, and VirtualItem Management Module116 which includes Virtual itemdata processing interface114 andVirtual Item Database115.
TheGame Platform112 including VirtualItem Serving Module113 and VirtualItem Management Module116 is the new game platform system put forward by this embodiment of the present invention.
In this embodiment,Game Module111 sends to Virtual itemdata processing interface114 in Game Platform113 a call instruction containing interface parameters. Having received the instruction, Virtual ItemData Processing Interface114 interacts withVirtual Item Database115 to process the virtual item data according to the instruction and the interface parameters therein, and then returns the processing result toGame Module111 that has issued the call instruction.
In this embodiment, the call instruction issued byGame Module111 may be a virtual item creation instruction, a virtual item distribution instruction, a virtual item modification instruction, a virtual item trade instruction, a virtual item transfer instruction, a virtual item inquiry instruction and a virtual item statistics instruction.
The virtual item trade instruction may include the instruction of virtual item trade between users, the instruction of a user selling virtual items to the system and the instruction of a user buying virtual items from the system.
The virtual item transfer instruction may include the instructions of virtual item bestowal, virtual item share, and virtual item exchange.
In this embodiment, Virtual ItemData Processing Interface114 may include the virtual item creation interface, the virtual item distribution interface, the virtual item modification interface, the virtual item trade interface, the virtual item transfer interface, the virtual item inquiry interface, and the virtual item statistical interface.
The procedure of Virtual ItemData Processing Interface114 processing data of virtual items according to the call instructions issued byGame Module111 is identical to those illustrated inFIG. 3 toFIG. 10, therefore no further description is provided here any longer.
In this embodiment, VirtualItem Management Module116 ofGame Platform112 is an interface for the operator to carry out management and maintenance. It may either be a program with graphics user interface (GUI), or a program with command line interface. Like the game module, VirtualItem Management Module116 may send to Virtual ItemData Processing Interface114 in VirtualItem Serving Module113 the call commands containing interface parameters issued by the operator and received via the graphic user interface or command line interface. Upon receiving the instruction, Virtual ItemData Processing Interface114 interacts withVirtual Item Database115 according to the instruction and the interface parameters therein to carry out virtual item data processing, and then returns the processing result to VirtualItem Management Module116 that has issued the call instruction. VirtualItem Management Module116 displays the call result to facilitate the operator's management and maintenance. In practical terms, whether the virtual item management module should be set is determined according to the operator's demand.
In this embodiment, the instruction issued by VirtualItem Management Module116 may be the virtual item creation instruction, the virtual item inquiry instruction and the virtual item statistics instruction.
When a new game module is added in the game system, new virtual items may be added by sending virtual item creation instructions to Virtual ItemData Processing Interface114 in VirtualItem Serving Module113 via VirtualItem Management Module116. The operator may issue virtual item inquiry instructions or statistics instructions to Virtual ItemData Processing Interface124 inVirtual Item Server123 via VirtualItem Management Module126 to obtain the desired information of the virtual item stock in the virtual item database.
Obviously, VirtualItem Management Module116 may be set independently.FIG. 11bis a schematic diagram illustrating the structure of the game system in accordance with an embodiment of the present invention. In this embodiment,Virtual item Management116 is set independently instead of being set inGame Platform112.
FIG. 12 is a schematic diagram illustrating the structure of the game system in accordance with an embodiment of the present invention. The game system in this embodiment includes an independentVirtual Item Server123 and VirtualItem Management Module126 besidesClient120, Game Module121 andGame Platform122.Virtual Item Server123 includes Virtual ItemData Processing Interface124 andVirtual item Database125.
In this embodiment, Game Module121 sends to Virtual ItemData Processing Interface124 in Virtual Item Server123 a call instruction containing interface parameters according to the game rules. Upon receiving the instruction, Virtual ItemData Processing Interface124 interacts withVirtual Item Database125 to process the virtual item data according to the instruction and the interface parameters therein, and then returns the processing result to Game Module121 that has issued the call instruction.
In this embodiment, the call instruction issued by Game Module121 is the same as that in the embodiment illustrated inFIG. 11.
In this embodiment, VirtualItem Management Module126 is an independent module, and it may also be set inGame Platform122 as illustrated inFIG. 11, or inVirtual Item Server123. The operating principles of VirtualItem Management Module126 are the same as those of VirtualItem Management Module116 illustrated inFIG. 11, and no more description is given here.
VirtualItem Data Server124 may also adopt dual-set mode or cluster mode to ensure security and reliability of the game system.
In addition, the quantity and sort of the games on the game platform need not fixed if the games adopt the interfaces and data storage format defined in the present invention. When a new game is added on the game platform, the quantity of virtual items in the game may be decided according to the game's capacity, anticipated user population and the game's characteristics. The game developer puts the information and quantity of all the virtual items into a form in the same format with that of the virtual item sort table, and provides the form to the operator. The operator reviews the form and imports the data into the virtual item database. Virtual items may be added with similar operations afterward. When a game is out of date or the game's benefit is poor, the operator has ability to delete the game with a period of time reserved before deleting so that users may be notified and change their virtual items into virtual money. The game's virtual items are checked when the game is deleted. If there is/are any virtual item(s) still owned by the user(s), the virtual item(s) is/are converted into equivalent virtual money for the user(s), and then the data records associated with all the virtual items of the game are deleted. The above mentioned management and maintenance operations may be carried out via the virtual item management module.
In practical terms, in the case of a game system that runs one game, an independent virtual item server may be set as illustrated in the embodiment inFIG. 12 used for processing virtual item data if the quantity of virtual items are huge, and the processing method is the same as that of the embodiment inFIG. 12 except that the functions of the game platform are all accomplished by the game module.
In addition, it is also permitted to run the games that do not use the unified virtual item data processing interfaces and virtual item database on the game platform for compatibility.
The above mentioned embodiments show that the method for processing game virtual item data, the game platform system and game systems in the present invention achieve unified processing of virtual item data in the game systems as well as share, circulation and transfer of virtual item data among the games, and solve the problems in prior art such as data chaos, maintenance difficulties and poor security, and simultaneously lower the development cost.