U.S. Pat. No. 7,611,410

SCORE VERIFICATION SYSTEM AND SCORE VERIFICATION METHOD OF ONLINE GAME

AssigneeSquare Enix

Issue DateJune 28, 2006

Patent Arcade analysis Read the full post

U.S. Patent No. 7,611,410: Score verification system and score verification method of online game

U.S. Patent No. 7,611,410: Score verification system and score verification method of online game
Issued Nov. 3, 2009, to Square Enix



Summary:

The ‘410 patent provides a score verification system which verifies that a score of a player in an online game is an unaltered score obtained during the game. The invention features two units: one of them receives the player’s game information as the game advances while the second unit verifies the score to insure no one tampered with the game. High scores are stored on a server where they are analyzed to make sure of their accuracy.

Abstract:

A score verification system for verifying that a score of a player having played an online game is a true score of the player. A player terminal receives a game program from an online game server, and the game is played on the player terminal. Plural players execute the same online game, and compete for high score. The score acquired by the player, together with an operation history of the player, is transmitted to the online game server. In the case where the score may be a high score, the same play is reproduced based upon the operation history received by the online game server, and the fairness of the received score is verified based on the score obtained by the reproduction.

Illustrative Claim:

1. A score verification system for preventing alteration of a score in an online game, comprising: a game program storer that stores a game program of the online game with identification information attached thereto for identifying the game program; a game transmitter that transmits the game program to a player terminal for playing the online game; a game result receiver that receives information relating to a game result from the player terminal, the information including at least the identification information for identifying the game program, a first score calculated based upon an operation of the game program by the player, and an operation history of operation commands of the player; a score calculator that reads the game program corresponding to the identification information from the game program storer and executes the operation commands based on the operation history to reproduce the operation of the game program by the player to calculate a second score; and a score verifier that compares the first score with the second score to verify whether the first score is a true score, wherein the game program records, in the operation history and at a time of receiving each operation command of the player, a frame and a time elapsed from when the frame was displayed by the game program, the frame and the time elapsed being recorded in association with each received operation command of the player, and wherein the score calculator reproduces the operation of the game program by the player based upon the frame and the elapsed time recorded in the operation history.

Illustrative Figure

Abstract

A score verification system for verifying that a score of a player having played an online game is a true score of the player. A player terminal receives a game program from an online game server, and the game is played on the player terminal. Plural players execute the same online game, and compete for high score. The score acquired by the player, together with an operation history of the player, is transmitted to the online game server. In the case where the score may be a high score, the same play is reproduced based upon the operation history received by the online game server, and the fairness of the received score is verified based on the score obtained by the reproduction.

Description

DETAILED DESCRIPTION OF THE INVENTION The best mode for carrying out the invention will be described below in detail with reference to the drawings. The following explanation is an example of an embodiment of the invention, and the invention is not limited to the embodiment disclosed. It is to be understood that other embodiments may be utilized, and structural and functional changes may be made without departing from the scope and/or spirit of the present disclosure. The outline of an embodiment of the score verification system of the invention will be described with reference toFIG. 1of the drawings. A terminal operated by a player, or user, may be connected to an online game server through the Internet, for example, and receive a game program from the online game server. It should be noted that the online game server may be connected to the player terminal through, for example, a private network, dial-up connection, wireless, etc. The player, or user, executes the game program on the terminal to play the online game. In an embodiment of the invention, since players compete with one another for high score, it is necessary that the same game program be provided to each of the players, however, the content of the game is not particularly limited. Each player executes the same game program at each player terminal to play the game. The score acquired from the result of the play is transmitted to the online game server together with a history of operation commands by button or key operations and the like of the player during the execution of the game program. In the online game server, in the case where the received score falls under the category of high score, the received history of the operation commands is applied to the same game program ...

DETAILED DESCRIPTION OF THE INVENTION

The best mode for carrying out the invention will be described below in detail with reference to the drawings. The following explanation is an example of an embodiment of the invention, and the invention is not limited to the embodiment disclosed. It is to be understood that other embodiments may be utilized, and structural and functional changes may be made without departing from the scope and/or spirit of the present disclosure.

The outline of an embodiment of the score verification system of the invention will be described with reference toFIG. 1of the drawings. A terminal operated by a player, or user, may be connected to an online game server through the Internet, for example, and receive a game program from the online game server. It should be noted that the online game server may be connected to the player terminal through, for example, a private network, dial-up connection, wireless, etc. The player, or user, executes the game program on the terminal to play the online game. In an embodiment of the invention, since players compete with one another for high score, it is necessary that the same game program be provided to each of the players, however, the content of the game is not particularly limited.

Each player executes the same game program at each player terminal to play the game. The score acquired from the result of the play is transmitted to the online game server together with a history of operation commands by button or key operations and the like of the player during the execution of the game program.

In the online game server, in the case where the received score falls under the category of high score, the received history of the operation commands is applied to the same game program to reproduce the game played by the player. In the case where the score obtained as a result of the reproduction is the same as the received score, it is verified that the received score is a true, unaltered score.

As a precondition of the verification as stated above, it is necessary that in the game program used in the invention, the same input operation always result in the same score.

For example, in a game program including an element of a random number, a seed random number generator, for example, may be used so that the same random number will be generated when a start is made from the same seed. In this example, the seed of the random number generator is provided in a unified form, and a specific game instance determined by the seed is provided in association with specified contest period. Thus, a game instance determined based upon a different seed each week is provided in the form like “subject of this week”, and thereby the competition for high score in one week can be carried out.

However, it is understood that variations to the generation of the random number may be made without departing from the spirit and/or scope of the invention.

FIG. 2shows the structure of the online game server and the player terminal in the score verification system according to an embodiment of the invention. The score verification system according to the embodiment is provided as a partial function of the online game server10. The online game server10includes at least a central processing unit (CPU)11, a random access memory (RAM)12, a read only memory (ROM)13and a hard drive device (HDD)14. The HDD14may store a game program141, a score judgment program142, and a high score storage part143.

In order that the application program such as the game program141or the score judgment program142, which may be stored in the HDD14, executes a specified processing, various basic programs for hardware control, such as input/output control, stored in, for example, ROM13are initiated. The CPU11performs an arithmetic processing while the RAM12is made to function as a work area.

On the other hand, a personal computer or a game dedicated machine, for example, may be used as a player terminal20. The player terminal20includes at least a CPU21, a RAM22, a ROM23and an HDD24. To play the online game, the player terminal20receives the game program141from the online game server10, which may be, but is not limited to, via the Internet. Then, the player terminal20executes an arithmetic processing at the CPU21while making the RAM22to function as a work area of the application program, and thereby executes the game program.

It should be noted that, in general, in the online game, the downloaded game program141may not be stored in the HDD24, but the game program141may be executed in the RAM22or a virtual memory area of the HDD24. When the game is over, the game program141is erased.

The individual playing the online game selects a desired game using the player terminal20. The online game server10receives a game start request that specifies a game ID of the selected game, or some other mechanism for identifying a specific game, from the player terminal20. Upon receiving the request, the online game server10reads a program corresponding to the specified game ID from the game program141stored in the HDD14, and transmits the game program to the player terminal20. Incidentally, in the case where the game includes an element of a random number using a seed random number generator, a specific game instance determined by the seed specified in the period is transmitted.

When the player terminal20receives the game program141, the game program141is initiated and the game is started. The transmission of the game program141is not limited to a single transmission, but may be sequentially called up in accordance with the operation of the player. The game program141correlates all operation commands during the game execution with the frames displayed during the operation and records them, and thereby creates an operation history of the player. The created operation history is stored as a temporal file in the RAM22or the virtual memory area of the HDD24, or any other storage device within the scope and/or spirit of the invention. The frame means herein each display screen displayed on the terminal by the game program141, Unique IDs are attached to all of the frames, that specify the timing of an operation command, such as, for example a time-stamp associated with the operation command.

When the game is over, the game program computes the score acquired by the player through the playing of the game. The score is transmitted to the online game server together with the operation history created in advance and the game ID (including an ID capable of identifying a game instance in the case where a specific game instance is transmitted) for specifying the played game, while the score, history and ID forms a cluster of data.

Upon receiving the score, the operation history, the game ID and the like, the online game server10reads the score judgment program142, and judges whether the received score is a high score. At this time, it is preferable that the information received from the player terminal20is stored in a secondary storage device, such as a database, for example. A judgment (determination) as to whether the score falls under the category of high score is made by referring to the high score storage part143. In the case where the score exceeds the lowest score among the scores stored as high scores in the high score storage part143, it is judged that the score falls under the category of high score.

In the case where the score is judged to be the high score, in order to verify the legitimacy of the score, the game program141is read to reproduce the play of the player by using the previously received operation history. The game program141is designed so that the same operation command always leads to the same result. Therefore, in the case where the score obtained by the reproduction is coincident with the score received from the player terminal20, it is judged that the true score, i.e., based on the play result of the player, has been transmitted. When a true score is determined, the score is recorded as the high score in the high score storage part143.

In the above embodiment of the invention, it is necessary that the operation history recorded in the player terminal20be accurately reproduced at the server so that the entire game, i.e. as played by the player, is accurately reproduced in the online game server10. However, differences in the execution environment, for example, such as differences in processing abilities of the computer, may cause the reproduced operation command at the server, that is reproduced in accordance with the operation history, to be reproduced at a timing that is different from that of the player's actual play. This situation will be specifically described with reference toFIG. 3as an example, and a method of preventing this will be described with reference toFIG. 4.

FIG. 3shows an example in which normalization is not performed with respect to the operation history, and the game is reproduced based upon the operation history, in which only the absolute time of the operation command is recorded. The absolute time, in this example, is measured from the start of the game. The upper view shows a relation between operation commands of the play actually performed in the player terminal20and frames displayed. In the example shown inFIG. 3, the game start time is set to 00.00 seconds, command1is executed after 00.05 seconds; command2is executed after 00.15 seconds; command3is executed after 00.30 seconds; and command4is executed after 00.35 seconds, and the corresponding frames displayed at these times are frame1for command1, frame2for command2, and frame4for commands3and4. As stated above, the operation history is created based upon the absolute time of the operation command.

However, some errors may be observed in the timing of the display of the frames at the online game server10because of the execution environment, e.g., such as the processing ability of the computer used in the player terminal20. The lower view shows a relation between operation commands of the play reproduced by the online game server10and frames displayed. The timing when the operation commands are executed is the same as the time of execution in the player terminal20since the reproduction is performed on the basis of the absolute time from the game start time. However, with respect to the timing when the frames are displayed, there occurs a case where they are reproduced at a timing different from that in the player terminal20because of the difference in processing ability of the computer or the like.

With respect to the correspondence relationship between command3and the frames, although command3corresponds to frame4in the upper view, it corresponds to frame3in the lower view. That is, the score is computed, while the game advances under the condition that the operation command originally performed in frame4is performed in frame3. When such an error occurs, since it is impossible to accurately reproduce the play and to verify the true score, it is necessary to perform normalization by some method.

FIG. 4shows an example in which the timing of the operation command is normalized relative to the frame, and thereby, the operation history is accurately recorded. InFIG. 4, the upper view shows a relationship between operation commands of the play actually performed by the player terminal20and the frames displayed to the player. The lower view shows a relationship between operation commands of the play reproduced by the online game server10and the frames displayed.

In the game program according to the score verification system of the preferred embodiment, the reference time period used for recording the history of the operation command is a relative time period from the start of display of each frame and, not an absolute time period from the start of the game. Each operation command is recorded in association with the displayed frame. As shown in the upper view, the operation history at the time of game execution in player terminal20is recorded such that the timing when command1is executed is 00.05 seconds after the display of frame1, the timing when command2is executed is 00.06 seconds after the display of frame2, the timing when command3is executed is 00.01 seconds after the display of frame4, and the timing when command4is executed is 00.06 seconds after the display of frame4.

In the case where the play of the player is reproduced in the online game server10based upon the operation history recorded as stated above, as shown in the lower view, even if the display timing of the frame is different from that of the play performed in the player terminal20, an error does not occur in the timing of the operation command in relation to the associated frame. By recording the operation history as stated above, even under different environments, the same play as performed by the player at terminal20is reproduced by the server, and the same score can be obtained.

An example of a process for playing the game at the player terminal in the score verification system of the preferred embodiment of the invention will be described with reference to flowchart ofFIG. 5. Upon receiving the game program from the online game server (S01), the player game terminal starts the game program by a start operation of the player or automatically (S02) to start the online game.

When receiving a command caused by the input operation (depression of a direction key or an execution key, or the like) of the player during the play of the game (S03), the game program specifies the frame being displayed when the command is received and an elapsed time (relative time) from the start of the display of the frame (S04). Then, the game program creates a history of operation commands (S05). This processing is repeated until the game is over (S03to S06). When the game is over (S06), the game program is ended (S07), and the score acquired by the play is computed (S08). The computed score, together with the game ID specifying the game played and the created history of the operation commands, is transmitted to the online game server (S09), and the processing ends.

An example of a process for verifying the score at the online game server in the score verification system according to the preferred embodiment of the invention will be described with reference to the flowchart ofFIG. 6. The online game server receives the game ID specifying the game played, the acquired score, and the history of the operation commands of the player from the player terminal in which the game has been over (S11). It is preferable, but not required, that the received information is stored in a secondary storage device such as a database, for example, in order to enable subsequent reproduction.

Next, the high score of a past player corresponding to the received game ID is acquired from the high score storage part (S12). The acquired high score and the score received from the player terminal are compared with each other, and it is judged whether the score received from the player terminal is the score to be ranked in the high score (S13). In the case where it does not fall under the category of high score, the processing ends.

In the case where it falls under the category of high score, the game program corresponding to the received game ID is read (S14), and the game played by the player is reproduced based on the history of the operation commands (S15). The score is computed based upon the result of the reproduced game (S16), and it is judged whether the score is the same as the score received from the player terminal (S17). In the case where the score is the same, it is verified that the received score is the score obtained as a result of actual play of the player. Then, the score received from the player terminal is recorded as the true, unaltered score and as the high score in the high score storage part (S18). In the case where the score is different therefrom, it is judged that the received score is different from the result of actual play of the player, and an error processing is performed (S19). That is, it is not judged whether the received score falls under the category of high score.

The illustrations of the embodiments described herein are intended to provide a general understanding of the structure of the various embodiments. The illustrations are not intended to serve as a complete description of all of the elements and features of apparatus and systems that utilize the structures or methods described herein. Many other embodiments may be apparent to those of skill in the art upon reviewing the disclosure. Other embodiments may be utilized and derived from the disclosure, such that structural and logical substitutions and changes may be made without departing from the scope and spirit of the disclosure.

This disclosure is intended to cover any and all subsequent adaptations or variations of various embodiments.

Claims

  1. A score verification system for preventing alteration of a score in an online game, comprising: a game program storer that stores a game program of the online game with identification information attached thereto for identifying the game program;a game transmitter that transmits the game program to a player terminal for playing the online game;a game result receiver that receives information relating to a game result from the player terminal, the information including at least the identification information for identifying the game program, a first score calculated based upon an operation of the game program by the player, and an operation history of operation commands of the player;a score calculator that reads the game program corresponding to the identification information from the game program storer and executes the operation commands based on the operation history to reproduce the operation of the game program by the player to calculate a second score;and a score verifier that compares the first score with the second score to verify whether the first score is a true score, wherein the game program records, in the operation history and at a time of receiving each operation command of the player, a frame and a time elapsed from when the frame was displayed by the game program, the frame and the time elapsed being recorded in association with each received operation command of the player, and wherein the score calculator reproduces the operation of the game program by the player based upon the frame and the elapsed time recorded in the operation history.
  1. The score verification system according to claim 1 , further comprising: a high score storer that stores information relating to scores of higher-ranking persons with respect to the game program;a high score judger that compares the first score with the scores of higher-ranking persons stored by the high score storer to determine whether the first score is within a range of the scores of higher-ranking person;and a high score updater that refers to the high score storer in a case where the first score is verified to be the true score, and adds the first score to the scores of higher-ranking persons to update the high score storer when the first score is within range of the scores of higher-ranking persons, and wherein the score calculator calculates the second score in a case where the high score judger determines that the first score is within the range of scores of the high-ranking persons.
  2. A score verification method for preventing alteration of a score in an online game, comprising: reading, by an online game server that manages the online game, a game program of the online game from a game program storage part that stores the game program with identification information attached thereto for identifying the game program and transmitting the game program to a player terminal for playing the online game;executing, by the player terminal, the game program and recording an operation history of operation commands of the player;calculating, by the player terminal, a first score based upon an operation of the player with respect to the game program;transmitting, by the player terminal, information relating to a game result including at least the identification information for identifying the game program, the first score and the operation history to the online game server;receiving, by the online game server, information relating to the game result including at least the identification information, the first score and the operation history from the player terminal;reading, by the online game server, the game program corresponding to the identification information from the game program storage part, executing the operation commands in accordance with the operation history to reproduce the operation of the player, and calculating a second score based upon the reproduced operation of the player;and comparing, by the online game server, the first score with the second score to verify whether the first score is a true score, wherein the game program includes recording, in the operation history and at a time of receiving each operation command of the player, a frame and a time elapsed from when the frame was displayed by the game program, the frame and the time elapsed being recorded in association with each received operation command of the player, and wherein the operation commands are executed, by the online game server, based upon the frame and the elapsed time recorded in the operation history.
  3. The score verification method according to claim 3 , further comprising: comparing, by the online game server, the first score with scores of higher-ranking persons stored in a high score storage part for storing information relating the scores of the higher-ranking persons to determine whether the first score falls within the range of the scores of higher-ranking persons;and referring, by the online game server, to the high score storage part in a case where the first score is verified to be the true score, and adding the first score to the high score storage part when the first score falls within the range of the scores of higher ranking persons, and wherein calculating of the second score is executed in a case where it is determined that the first score is within the range of the scores of higher-ranking persons when comparing the first score with the scores of higher-ranking persons.

Disclaimer: Data collected from the USPTO and may be malformed, incomplete, and/or otherwise inaccurate.