WO2014054762A1 - オンラインゲームの同期方法及びサーバ装置 - Google Patents

オンラインゲームの同期方法及びサーバ装置 Download PDF

Info

Publication number
WO2014054762A1
WO2014054762A1 PCT/JP2013/077005 JP2013077005W WO2014054762A1 WO 2014054762 A1 WO2014054762 A1 WO 2014054762A1 JP 2013077005 W JP2013077005 W JP 2013077005W WO 2014054762 A1 WO2014054762 A1 WO 2014054762A1
Authority
WO
WIPO (PCT)
Prior art keywords
information
game
mobile terminal
event information
web server
Prior art date
Application number
PCT/JP2013/077005
Other languages
English (en)
French (fr)
Inventor
ロバート ジェイ. ゴールド,
Original Assignee
グリー株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by グリー株式会社 filed Critical グリー株式会社
Priority to US14/432,060 priority Critical patent/US9849389B2/en
Priority to JP2014531028A priority patent/JP5827410B2/ja
Publication of WO2014054762A1 publication Critical patent/WO2014054762A1/ja
Priority to US15/812,000 priority patent/US10080968B2/en
Priority to US16/116,542 priority patent/US10456688B2/en
Priority to US16/601,457 priority patent/US10987591B2/en
Priority to US17/217,169 priority patent/US11878251B2/en
Priority to US18/543,293 priority patent/US20240115958A1/en

Links

Images

Classifications

    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/70Game security or game management aspects
    • A63F13/77Game security or game management aspects involving data related to game devices or game servers, e.g. configuration data, software version or amount of memory
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/30Interconnection arrangements between game servers and game devices; Interconnection arrangements between game devices; Interconnection arrangements between game servers
    • A63F13/35Details of game servers
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/1095Replication or mirroring of data, e.g. scheduling or transport for data synchronisation between network nodes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F13/00Video games, i.e. games using an electronically generated display having two or more dimensions
    • A63F13/45Controlling the progress of the video game
    • A63F13/49Saving the game status; Pausing or ending the game
    • A63F13/493Resuming a game, e.g. after pausing, malfunction or power failure
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/402Communication between platforms, i.e. physical link to protocol
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/407Data transfer via internet
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/40Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterised by details of platform network
    • A63F2300/408Peer to peer connection
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/53Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing
    • A63F2300/534Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers details of basic data processing for network load management, e.g. bandwidth optimization, latency reduction
    • AHUMAN NECESSITIES
    • A63SPORTS; GAMES; AMUSEMENTS
    • A63FCARD, BOARD, OR ROULETTE GAMES; INDOOR GAMES USING SMALL MOVING PLAYING BODIES; VIDEO GAMES; GAMES NOT OTHERWISE PROVIDED FOR
    • A63F2300/00Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game
    • A63F2300/50Features of games using an electronically generated display having two or more dimensions, e.g. on a television screen, showing representations related to the game characterized by details of game servers
    • A63F2300/55Details of game data or player data management
    • A63F2300/5526Game data structure
    • A63F2300/5533Game data structure using program state or machine event data, e.g. server keeps track of the state of multiple players on in a multiple player game

Definitions

  • the present invention relates to an online game synchronization method and server device for playing an online game between a plurality of portable terminals.
  • the client machine uses the game space assigned to the own machine alone even in an offline state.
  • An object of the present invention is to provide an online game synchronization method and server that do not require centralized information management, can reduce the processing load of each machine during online communication, and can continue processing in an offline environment. Is to provide a device.
  • One aspect of the present invention is an online game synchronization method capable of transmitting and receiving information related to game processing between a first client terminal and a second client terminal via a server, and is connected online
  • the present invention it is not necessary to perform centralized information management, and it is possible to reduce the processing load of each machine during online communication and to continue processing in an offline environment.
  • FIG. 1 is a diagram illustrating an example of an environment in which an online game system according to an embodiment of the present invention is used.
  • FIG. 2 is a diagram showing a concept of a connection architecture between the server and the client according to the embodiment.
  • FIG. 3 is a diagram illustrating an example of the configuration of the server according to the embodiment.
  • FIG. 4 is a diagram illustrating an example of the configuration of the client according to the embodiment.
  • FIG. 5 is a diagram illustrating contents of event information transmitted and received between the server and the client according to the embodiment.
  • FIG. 6 is a diagram showing a superficial processing path of event information in the online state according to the embodiment.
  • FIG. 7 is a diagram showing a detailed processing path of event information in the online state according to the embodiment.
  • FIG. 1 is a diagram illustrating an example of an environment in which an online game system according to an embodiment of the present invention is used.
  • FIG. 2 is a diagram showing a concept of a connection architecture between the server and the client according to the embodiment.
  • FIG. 8 is a diagram showing a concept of game synchronization in the offline state according to the embodiment.
  • FIG. 9 is a diagram illustrating a detailed processing path of event information after returning from the offline state to the online state according to the embodiment.
  • FIG. 10 is a diagram showing an example of a specific event information processing path for synchronizing the online game in the embodiment.
  • FIG. 11A is a diagram illustrating a specific example of event information transmitted from the mobile terminal A to the mobile terminal B as the game progresses in the embodiment.
  • FIG. 11B is a diagram illustrating a specific example of event information transmitted from the mobile terminal A to the mobile terminal B as the game progresses in the embodiment.
  • FIG. 12 is a diagram showing specific contents of event information in the embodiment.
  • FIG. 13 is a diagram illustrating an example of a processing path of event information in a situation where the mobile terminal is temporarily in an offline state in the embodiment.
  • FIG. 14 is a diagram illustrating an example of a processing path of event information in a situation where the mobile terminal returns to the online state in the embodiment.
  • FIG. 15A is a diagram illustrating a specific example of event information transmitted from the mobile terminal A to the mobile terminal B as the game progresses in the embodiment.
  • FIG. 15B is a diagram illustrating a specific example of event information transmitted from the mobile terminal A to the mobile terminal B as the game progresses in the embodiment.
  • FIG. 16 is a diagram illustrating an example of event information generated in the mobile terminal according to the embodiment.
  • FIG. 17A is a diagram illustrating the generation of event information in the competitive game according to the embodiment.
  • FIG. 17B is a diagram illustrating the generation of event information in the competitive game according to the embodiment.
  • FIG. 18A is a diagram illustrating generation of event information in the competitive game according to the embodiment.
  • FIG. 18B is a diagram illustrating the generation of event information in the competitive game according to the embodiment.
  • FIG. 1 is a diagram illustrating an example of an environment in which the online game system according to the embodiment is used.
  • web server devices 2 and 3 are connected to a network 1 such as the Internet, and portable terminals 4 and 5 serving as client devices used by players in this system are connected to an access point (AP) 6 or Connected via the base station 7.
  • AP access point
  • the web server devices 2 and 3 are computers for realizing the online game system according to the present embodiment, and are installed in parallel with the network 1 to provide an online game service.
  • the mobile terminals 4 and 5 on the client side are realized by a smartphone, a feature phone, or the like.
  • the mobile terminals 4 and 5 operate on an OS such as Android (registered trademark) or iOS (registered trademark), for example.
  • the portable terminals 4 and 5 may be notebook personal computers, mobile computers, tablet computers, or the like.
  • the mobile terminals 4 and 5 are preinstalled with game programs for online games.
  • FIG. 2 is a diagram showing a concept of a connection architecture between the server and the client according to the present embodiment.
  • the mobile terminal 4 or 5 contains, for example, the game or application program described in AIR (registered trademark).
  • An application execution environment C1 is implemented, and a company A database connection kit C2 for connecting to the database of company A and performing charging processing and the like is incorporated.
  • a (software) client-side framework C3 developed by Company A is installed in the mobile terminals 4 and 5 in order to communicate with the web server devices 2 and 3.
  • a server-side Java Script (registered trademark) (JS) execution environment S1 written in js (registered trademark) is provided, and corresponds to the framework C3 for directly transmitting and receiving data to and from the portable terminals 4 and 5.
  • Company A (software) server-side framework S2 is provided.
  • a game event based on a web socket which is a standard implemented in HTML5 (registered trademark). Information is sent and received.
  • the server and all the clients that have established a connection with the web socket share the same data and can transmit and receive in real time. Therefore, by using the web socket standard, it is possible to compensate for the disadvantages of Ajax (Asynchronous JavaScript (registered trademark) + XML) and Comet communication, and more efficiently realize bidirectional communication between the server and the client.
  • Ajax Asynchronous JavaScript (registered trademark) + XML)
  • Comet communication it is possible to compensate for the disadvantages of Ajax (Asynchronous JavaScript (registered trademark) + XML) and Comet communication, and more efficiently realize bidirectional communication between the server and the client.
  • the frameworks C3 and S2 are described using, for example, Java Script (registered trademark) as a script language independent of the OS. Therefore, even if the OS of the mobile terminals 4 and 5 is either Android (registered trademark) or iOS (registered trademark), the same connection environment can be constructed without depending on them.
  • Java Script registered trademark
  • iOS registered trademark
  • FIG. 3 is a diagram showing an example of the configuration of the web server device 2 in the online game system according to the embodiment of the present invention.
  • the web server device 3 has the same configuration as that of the web server device 2 and will not be described in detail.
  • the configuration shown in FIG. 3 is an example, and other configurations can be used.
  • the web server device 2 is connected to a CPU 12, a communication unit 13, a memory 14, and a storage device 15 via a bus 11.
  • the CPU 12 cooperates with the game program / application program 22 (hereinafter referred to as the game program 22) according to the embodiment of the present invention stored in the storage device 15 to execute the online game according to the embodiment of the present invention. In addition to performing a game process for this purpose, it controls the entire web server devices 2 and 3.
  • the CPU 12 provides an online game that allows a plurality of players to participate simultaneously by executing the game program 22.
  • the CPU 12 stores event information (details are shown in FIG. 5) received from the mobile terminals 4 and 5 participating in the online game in a queue storage unit described later, and advances the game based on the event information.
  • CPU12 transmits the event information memorize
  • the CPU 12 executes the game program 22 to synchronize the portable terminal that has returned from the offline state and the online game that is executed on another portable terminal, and the event information stored in the queue storage unit and the restored portable information. A function of verifying event information received from the terminal is realized (details are shown in FIGS. 7 to 9). Further, the CPU 12 executes the game program 22 to determine whether or not to transmit event information to another mobile terminal in order to synchronize the online game based on the content of the event information (for details, see 10 to 16).
  • the communication unit 13 controls communication with external devices such as clients (mobile terminals 4 and 5) via the network 1.
  • clients mobile terminals 4 and 5
  • the communication unit 13 transmits and receives data about the game including event information using a web socket.
  • the memory 14 is used as a work area required for executing various programs executed by the CPU 12 and various programs including the game program 22.
  • the memory 14 is used as a queue storage unit for storing event information received from the clients (mobile terminals 4 and 5), for example, in the order received.
  • the storage device 15 stores various programs and data required for the online game according to the present embodiment.
  • the storage device 15 includes an HDD (Hard Disk Dine), an optical disk drive, a DVD (Digital Versatile Disc), It is a mass storage device such as an MO (Magnet Optical Disk).
  • the storage device 15 stores an OS (Operating System) 21, a game program 22, and S1, S2 (JS execution environment, framework) program 23.
  • the storage device 15 can be used as a queue storage unit.
  • the OS 21 is a program for realizing the basic functions of the web server devices 2 and 3.
  • the game program 22 is a program for realizing server-side game processing in the online game according to the embodiment of the present invention. Note that the game processing in the online game of the present embodiment is mainly performed by the server-side game program 22, and the display processing is performed on the client side. Note that some or all of the game processing performed on the server side may be performed on the client side.
  • the S1 and S2 programs 23 are programs for realizing the JS execution environment S1 and the framework S2 shown in FIG.
  • FIG. 4 is a diagram showing an example of the configuration of the mobile terminal 4 according to the embodiment of the present invention.
  • the mobile terminal 5 has the same configuration as that of the mobile terminal 4 and will not be described in detail.
  • the mobile terminals 4 and 5 may have a configuration other than the configuration shown in FIG.
  • a CPU 32 As shown in FIG. 4, a CPU 32, a wireless communication unit 33, a memory 34, a GPS module 35, a camera 36, a storage device 37, a touch panel sensor 38, and a display control controller 39 are connected to the bus 31.
  • the CPU 32 performs game processing in the online game according to the embodiment of the present invention in cooperation with a game program / application program 37-2 (hereinafter referred to as game program 37-2) stored in storage device 37. In addition, it controls the entire mobile terminal 4.
  • the CPU 32 mainly performs display processing for displaying a game screen according to the result of the game processing executed by the web server devices 2 and 3.
  • the wireless communication unit 33 controls communication with an external device such as a server via the network 1.
  • the wireless communication unit 33 has a wireless communication function such as a wireless LAN, Bluetooth (registered trademark), and WiFi.
  • the memory 34 is used as a work area required when executing the application program 37-3 related to the game processing on the client side.
  • the GPS module 35 uses GPS (Global Positioning System) to generate position information (latitude, longitude), time information, and the like.
  • GPS Global Positioning System
  • the camera 36 has a function of capturing a still image or a moving image.
  • the storage device 37 is for storing various programs and data required for the online game according to the present embodiment, and is realized by, for example, a flash memory.
  • the storage device 37 stores an OS 37-1, a game program 37-2, and a C1, C2, C3 program 37-3.
  • the OS 37-1 is a program for realizing the basic functions of the mobile terminal 4.
  • the game program 37-2 is a program for realizing game processing on the client side in the online game according to the embodiment of the present invention.
  • game processing in the online game of the present embodiment is mainly performed on the server side (web server devices 2 and 3).
  • the server side web server devices 2 and 3
  • some or all of the game processing performed on the client side may be performed on the client side.
  • the program 37-3 for C1, C2, C3 is a program for realizing the application execution environment C1, the company A database connection kit C2, and the framework C3 shown in FIG.
  • the touch panel sensor 38 is a sensor that detects a touch operation on the touch panel mounted on the display surface of the display unit 40.
  • the display control controller 39 performs display control of the display unit 40.
  • the display unit 40 is configured by, for example, an LCD (Liquid Crystal Display) or the like, and displays a game screen or the like under the control of the display control controller 39.
  • FIG. 5 is a diagram illustrating the content of event information transmitted and received between the web server devices 2 and 3 and the mobile terminals 4 and 5 when the online game is executed.
  • one event information is information representing the content of an event that occurs when an online game is executed on the mobile terminals 4 and 5, and includes time information P1, position information P2, and action information P3.
  • the time information P1 indicates the time when the user performed an input operation during the game.
  • the position information P2 indicates the position when the user performs an input operation during the game.
  • the position information P2 is information obtained by quantifying position information (latitude and longitude) generated by the GPS module 35 of the mobile terminals 4 and 5.
  • the action information P3 indicates the content of an action related to an event that occurs in response to a user input operation or the like based on a game program installed in advance by the mobile terminals 4 and 5.
  • FIG. 6 is a diagram showing an example of a processing path of event information for synchronizing the online game in the present embodiment (a specific processing path will be described later).
  • the mobile terminal 4 is connected to the web server device 2
  • the mobile terminal 5 is connected to the web server device 3
  • the web server device 2 and the web server device 3 are further connected. That is, the web server devices 2 and 3 and the portable terminals 4 and 5 are in a state where data (event information) can be transmitted and received by socket communication.
  • the player participating in the game can move the character corresponding to the player in the game space by operating the mobile terminal used by each player.
  • Many enemy characters are arranged in the game space.
  • the player's character is moved in the game space (the quest is advanced), and when encountering an enemy character, the enemy character can attack the enemy character. If the player character can attack and subdue the enemy character, for example, an item used in the game can be acquired. Also, an attack on an enemy character can be executed jointly by a plurality of players.
  • the mobile terminal 4 executes processing for this event. Then, event information A1 indicating this event is transmitted to the web server device 2.
  • the web server device 2 transmits the event information A2 received from the mobile terminal 4 to the web server device 3.
  • the web server device 3 transmits the event information A3 relayed by the web server device 2 to the portable terminal 5 participating in the same online game as the portable terminal 4 by a push operation.
  • the mobile terminal 5 sets the physical strength of the character controlled by the operation of the user of the mobile terminal 4 in the game to “+10 HP” based on the event information indicating the content of the event that has occurred in the mobile terminal 4.
  • FIG. 7 is a diagram illustrating an example of a specific processing path of the event information illustrated in FIG.
  • the mobile terminal 4 executes processing for this event, and Event information indicating the contents of the event is transmitted to the web server device 2 (A11).
  • the event information includes action information for “+10” the hit point (HP), time information indicating the time when the event occurred, and position information indicating the position of the mobile terminal 4 when the event occurred.
  • the web server device 2 stores the event information from the portable terminal 4 in the queue value storage unit 2B by the push operation (A12), and transmits the event information to the web server device 3 (A13).
  • the web server device 3 When the web server device 3 receives the event information from the web server device 2, the web server device 3 transmits the event information to the mobile terminal 5 of the game partner participating in the same online game by a push operation (A14). Based on the content of the event information received from the web server device 3, the mobile terminal 5 executes a game process so that the physical strength of the character on the mobile terminal 4 side in the online game is “+10 HP” (A15). Further, the portable terminal 5 returns the event information to the web server device 3 in order to respond that the event information received from the web server device 3 is reflected in the game process (A16).
  • the web server device 3 determines that the event information is reflected in the game process in the mobile terminal 5.
  • the web server device 3 returns event information to the queue value storage unit 2B of the web server device 2 by a pop operation (A17).
  • the event information indicating the content of the event is transmitted from the mobile terminal 4 to the mobile terminal 5, whereby the centralized information management by the server
  • the online game executed on the portable terminals 4 and 5 can be synchronized without performing the above.
  • FIG. 8 is a diagram showing the concept of online game synchronization when offline occurs.
  • the mobile terminal A enters an offline state from the event 3 while the mobile terminal A and the mobile terminal B are executing an online game.
  • 8 corresponds to the mobile terminal 4 shown in FIG. 7, for example
  • the mobile terminal B corresponds to the mobile terminal 5 shown in FIG. 7, for example.
  • the game process is continued by the game program installed in advance.
  • the portable terminal A cannot transmit / receive event information to / from the portable terminal B with respect to events after the event 3 (the processing result is determined to be NG).
  • the portable terminal B Since there is no response from the portable terminal A after the event 2, the portable terminal B enters a rollback state after the processing for the event 2 is executed. That is, the mobile terminal B maintains a state where there is no progress on the game.
  • examples of the rollback include a billing process on a game.
  • examples of items that are not rolled back include, for example, the result of a battle between characters and the progression of the character in the game space.
  • rollback may be performed by determining the event information by providing a specific threshold.
  • the web server device verifies whether or not a flaw occurs in the progress of the game, and reflects the verification result on each of the mobile terminals A and B. The state can be maintained.
  • the judgment criteria when the web server apparatus performs verification are the event information sent collectively by batch processing from the terminal when returning online, and accumulated and stored in the queue value storage unit 2B in the web server.
  • FIG. 9 is a diagram showing a processing path of event information after the mobile terminal 4 returns from the offline state to the online state. Here, an example in which an event that occurs when the mobile terminal 4 is in an offline state is determined to be valid is shown.
  • the mobile terminal 4 stores event information of events that have occurred in the game process while the game process is being executed in the offline state.
  • the portable terminal 4 transmits the stored event information to the web server device 2 when returning from the offline state to the online state.
  • event information (A21) such that the hit point (HP) indicating the physical strength of the character in the game operated by the user is “+10” is transmitted from the portable terminal 4 to the web server device 2 by batch processing.
  • event information (A21) such that the hit point (HP) indicating the physical strength of the character in the game operated by the user is “+10” is transmitted from the portable terminal 4 to the web server device 2 by batch processing.
  • the portable terminal 4 will be in an online state
  • the portable terminals 4 and 5 and the web server apparatuses 2 and 3 will be in the state which can transmit / receive the data containing event information by web socket (socket communication).
  • the web server device 2 stores the event information (A21) from the portable terminal 4 in the queue value storage unit 2B by the push operation (A22), and transmits the event information to the web server device 3 (A23). .
  • the mobile terminal 4 and the mobile terminal 5 that are in an online state transmit the event information to the web server device 3 by a push operation (A24).
  • the web server device 3 accesses the queue value storage unit 2B of the web server device 2 (A25), reads the event information (A26) stored in the queue value storage unit 2B, The event information is transmitted to the portable terminal 5 (A27).
  • the mobile terminal 5 executes game processing based on the content of the event information received from the web server device 3 so as to “+10 HP” the physical strength of the character on the mobile terminal 4 side in the online game (A28).
  • the mobile terminal 5 returns the event information to the web server device 3 in order to respond that the event information received from the web server device 3 is reflected in the game process (A29).
  • the web server device 3 determines that the event information is reflected in the game process in the mobile terminal 5.
  • the web server device 3 returns event information to the queue value storage unit 2B of the web server device 2 by a pop operation (A30).
  • the event information generated in the offline state also has a content that does not cause a habit in the progress of the game on both portable terminals 4 and 5, for example, the progress of the game such as the character moving in the game space.
  • specific event information may include clearing a quest on a game, playing against another character, obtaining an item, and charging processing associated therewith.
  • FIG. 10 is a diagram illustrating an example of a specific event information processing path for synchronizing an online game according to the present embodiment.
  • 11A and 11B are diagrams showing specific examples of event information transmitted from the mobile terminal A to the mobile terminal B as the game progresses
  • FIG. 12 is a specific example of the event information shown in FIGS. 11A and 11B. It is a figure which shows the content. 11A and 11B show that time has passed from the left to the right.
  • FIG. 11A and 11B corresponds to the mobile terminal 4 shown in FIG. 10, for example, and the mobile terminal B corresponds to the mobile terminal 5 shown in FIG. 10, for example. That is, FIG. 11A and FIG. 11B show an example in which event information of an event that occurs in the mobile terminal 4 is transmitted from the mobile terminal 4 to the mobile terminal 5.
  • event information is transmitted from the mobile terminal 5 to the mobile terminal 4 in the same manner as when an event occurs in the mobile terminal 4.
  • FIG. 10 only two portable terminals 4 and 5 are illustrated, but when a large number (three or more) players participate in an online game, between the portable terminals used by the respective players.
  • Event information is sent and received. That is, it is necessary to transmit event information of an event that has occurred in one mobile terminal to a plurality of mobile terminals. Therefore, as the number of players participating in the online game increases, the traffic for transmitting / receiving event information increases significantly.
  • the web server device when the web server device receives event information from the mobile terminal in order to synchronize the online game, this event information is executed in another mobile terminal (game situation). To determine whether it is involved. When it is determined that the web server device is related to a game process (game situation) executed in another mobile terminal, the event information is stored in the queue storage unit and the event information is stored in the other mobile phone in order to synchronize the online game. Send to the terminal.
  • the web server devices 2 and 3 shown in FIG. 10 are in a state where data communication is possible via a web socket.
  • the mobile terminal 4 connects to the web server device 2 through a handshake in order to participate in the online game. Thereby, the portable terminal 4 becomes a state which can perform data communication with the web server apparatus group (including the portable terminal connected with each web server apparatus) including the web server apparatuses 2 and 3 via the web socket.
  • a player character corresponding to the mobile terminal 4 is generated in the game space of the online game.
  • the player character can perform various actions in the game space in accordance with the player's operation on the mobile terminal 4.
  • the mobile terminal 4 the operation of moving the player character in the game space, i.e. an operation to advance the quest has occurred to (T A 1 in FIG. 11A).
  • the CPU 32 of the mobile terminal 4 executes the game process in response to the input operation and generates event information for this event 1.
  • the event information of event 1 includes “player A progressing quest” as action information indicating the contents of the event, “9:00” as time information, and “latitude 35.681382, Longitude 139.76664 "is included.
  • Time information shows the time which the portable terminal 4 manages when input operation was performed.
  • the position information is generated based on the latitude and longitude acquired by the GPS module 35.
  • the time information may use the time managed by the web server device 2 instead of the time managed by the mobile terminal 4.
  • the event information transmitted from the mobile terminal 4 to the web server device 2 does not include time information, and the time information is added in the web server device 2.
  • the mobile terminal 4 transmits event information to the web server device 2 via the web socket by Send operation (B1: Send).
  • the determination unit 2A of the web server device 2 determines whether or not the event information is valid based on the position information included in the event information. That is, the determination unit 2A compares the position information of the event information received earlier and the position information of the event information received later to determine the moving distance of the mobile terminal 4.
  • the determination unit 2A determines whether the moving distance of the mobile terminal 4 determined based on the position information is a physically movable distance. For example, the determination unit 2A receives event information after the time when the previous event information is received based on the time information of the event information received earlier and the time information of the event information received later. Find the time to time.
  • a reference value for determining a movable distance with respect to time is set, and event information received from the portable terminal 4 is not valid when the movement distance is equal to or greater than the set value. Is determined. For example, when impersonating a player who uses the mobile terminal 4 and participating in an online game from another mobile terminal located away from the mobile terminal 4, the determination unit 2 ⁇ / b> A receives the event information from the other mobile terminal. It can be determined that it is not valid. In this case, the determination unit 2A invalidates the event information received from the mobile terminal 4 and interrupts the game process. In the following description, it is assumed that the web server devices 2 and 3 receive valid event information from the mobile terminals 4 and 5.
  • the web server device 2 executes a game process according to the event information received from the mobile terminal 4.
  • the web server device 2 uses the event information received from the mobile terminal 4 as another mobile terminal (or web server device). There is no need to send to.
  • the mobile terminal 5 connects to the web server device 3 through a handshake in order to participate in the online game.
  • the portable terminal 5 is in a state in which data communication can be performed with the web server device group including the web server devices 2 and 3 (including the portable terminal connected to each web server device) via the web socket.
  • the player of the portable terminal 4 instructs a friend request in order to execute an attack on the enemy character (boss character) in cooperation with other players (T AB 3 in FIG. 11).
  • the portable terminal 4 generates event information of this event 3 and transmits it to the web server device 2 (B1: Send).
  • the event information of event 3 includes data indicating “player A invites player B” as action information indicating the content of the event requested by the friend.
  • the determination unit 2 ⁇ / b> A of the web server device 2 determines whether to transmit this event information to the mobile terminal 5 based on the content of the event information. For example, the determination unit 2A determines whether or not to transmit event information to the mobile terminal 5 based on whether or not the event information relates to the game status of the mobile terminal 5 participating in the same online game as the mobile terminal 4. Determine.
  • the determination unit 2A is provided with a determination table for determining, for example, an event related to the game situation of another mobile terminal. In the discrimination table, conditions for discriminating events related to the game situation are defined. When the action information of the event information received from the mobile terminal 4 satisfies the conditions defined in the determination table, the determination unit 2A can determine the event related to the game situation.
  • the determination unit 2A determines that the event relates to the game situation of the mobile terminal 5 used by the player B. That is, the determination unit 2 ⁇ / b> A determines that event information of event 3 is transmitted to the mobile terminal 5. In this case, the determination unit 2A stores the event information received from the mobile terminal 4 in the queue storage unit 2B.
  • the determination unit 2A transmits the event information stored in the queue storage unit 2B to the web server device 3 connected to the mobile terminal 5 through a web socket by a push operation (B2: Push) (B31: (Publish).
  • the web server device 3 When the web server device 3 receives the event information from the web server device 2, the web server device 3 transmits the event information to the mobile terminal 5 of the game partner participating in the same online game by a push operation via the web socket ( B41: Push).
  • the mobile terminal 5 executes the game process based on the content of the event information received from the web server device 3, and reflects the event that has occurred in the mobile terminal 4 (B5: execution).
  • the mobile terminal 5 transmits a completion notification to the web server device 3 in order to notify that the event information received from the web server device 3 is reflected in the game process (B6: completion notification).
  • the web server device 3 notifies the web server device 2 by a pop operation in response to the completion notification from the portable terminal 5 (B7: Pop).
  • the determination unit 2A of the web server device 2 deletes the event information transmitted to the mobile terminal 5 stored in the queue value storage unit 2B in response to the notification by the pop operation.
  • the mobile terminal 5 notifies the player B that the friend request is issued from the player A by receiving the event information requested by the friend from the mobile terminal 4.
  • Player B can participate in an attack on an enemy character (boss character) together with Player A by responding to the friend request.
  • an attack to an enemy character (boss character) is instructed by an input operation of the player B
  • the mobile terminal 5 generates an attack event in the same manner as the mobile terminal 4, and the event information of the attack is sent to the web server device 3. Send to. That is, the position information of the event that occurred in the mobile terminal 5 is transmitted to the mobile terminal 4 via the web socket.
  • the portable terminal 4 generates an attack event in response to the input operation of the player A (T AB 4 in FIG. 11A), and transmits event information to the web server device 2 in the same manner as described above (B1: Send). .
  • the determination unit 2 ⁇ / b> A of the web server device 2 determines whether the event is related to the game situation of the mobile terminal 5.
  • the determination unit 2A determines, based on the conditions defined in the determination table, that the event of the attack on the enemy character is not an event related to the game situation of the mobile terminal 5. In this case, the determination unit 2A transmits the event information to the web server device 3 without storing the event information received from the mobile terminal 4 in the queue storage unit 2B.
  • the web server device 3 When the web server device 3 receives the event information from the web server device 2, the web server device 3 transmits the event information to the mobile terminal 5 of the game partner participating in the same online game by a push operation via the web socket ( B42: Push).
  • the mobile terminal 5 executes the game process based on the content of the event information received from the web server device 3, and reflects the event that has occurred in the mobile terminal 4 (B5: execution).
  • the game processing of the online game executed on the mobile terminals 4 and 5 can be reliably synchronized.
  • the mobile terminal 5 when it is determined that the event information received from the mobile terminal 4 is an event related to the game status of the mobile terminal 5, the mobile terminal 5 is stored by storing the event information in the queue storage unit 2B. Even in the offline state, game processing can be reliably synchronized. The operation when the portable terminal 5 is in an offline state will be described later (see FIGS. 13 and 14).
  • the event information of the event 5 that occurred in the mobile terminal 4 includes the data “Boss attacks player A” as the action information, and the game of the mobile terminal 5 is performed by the determination unit 2A of the web server device 2. It is not determined to be the event related to the situation (T AB 5 in FIG. 11B).
  • the event information of event 5 is transmitted to the web server device 3 without storing the event information received from the mobile terminal 4 in the queue storage unit 2B in the same manner as the event information of event 4.
  • the event information of the event 6 that has occurred in the mobile terminal 4 includes data “players A and B are boss subjugated” as action information.
  • the players A and B who are operating the portable terminals 4 and 5 attack each enemy character (boss character) by performing an input operation.
  • the boss character can be subjugated by an attack given by any player's input operation.
  • “the boss has been subjugated” relates to the game situation of the respective players A and B.
  • the determination unit 2A of the web server device 2 determines that the event information of the event 6 is an event related to the game situation of the mobile terminal 5 (T AB 6 in FIG. 11B). Event information of event 6 is stored in the queue storage unit 2 ⁇ / b> B and transmitted to the mobile terminal 5 via the web server device 3.
  • the event information of the event 7 that occurred in the mobile terminal 4 includes data “add item to players A and B” as action information, and the mobile terminal 5 is identified by the determination unit 2A of the web server device 2. It is determined that the event is related to the game situation (T AB 7 in FIG. 11B). The event information of event 7 is stored in the queue storage unit 2B and transmitted to the portable terminal 5 in the same manner as the event information of event 6.
  • the web server device 2 determines whether or not to transmit event information received from the mobile terminal 4 to the mobile terminal 5 based on the content of the event information, that is, the content related to the game situation executed on the mobile terminal 5. It can be determined whether or not there is.
  • the web server device 2 stores event information related to the game status of the mobile terminal 5 in the queue storage unit 2B and transmits the event information to the mobile terminal 5 and stores event information not related to the game status of the mobile terminal 5 in the queue storage unit 2B. It transmits to the portable terminal 5 without making it. That is, it is possible to synchronize the online game by transmitting event information of an event occurring in the mobile terminal 4 to the mobile terminal 5.
  • the event information is transmitted to the mobile terminal 5 regardless of whether the event information received from the mobile terminal 4 is related to the game status of the mobile terminal 5 or not.
  • the determination unit 2 ⁇ / b> A of the web server device 2 determines that the event information from the mobile terminal 4 is not related to the game situation of the mobile terminal 5, the event information is not transmitted to the mobile terminal 5.
  • event information is transmitted from the mobile terminal 4 to the mobile terminal 5, but event information is transmitted from the mobile terminal 5 to the mobile terminal 4 in the same manner. Accordingly, the amount of traffic for transmitting event information from the mobile terminal 5 to the mobile terminal 4 is also reduced. Furthermore, when more players are participating in the same online game, a significant reduction in traffic volume can be expected.
  • FIG. 13 is a diagram illustrating an example of a processing path for event information when the mobile terminal 5 is temporarily offline.
  • FIG. 14 is a processing path for event information when the mobile terminal 5 is back online.
  • FIGS. 15A and 15B are diagrams illustrating specific examples of event information transmitted from the mobile terminal A to the mobile terminal B as the game progresses.
  • event information of event 3 is transmitted from the portable terminal 4 to the portable terminal 5 in a state where the web server devices 2 and 3 and the portable terminals 4 and 5 can transmit and receive data via the web socket.
  • the mobile terminal 4 transmits event information of event 4 to the web server device 2 (C1: Send).
  • the determination unit 2 ⁇ / b> A of the web server device 2 determines that the content of the event information of the event 4 is not related to the game situation of the mobile terminal 5. Therefore, the event information of event 4 is not stored in the queue storage unit 2B, but is transmitted from the web server device 2 to the web server device 3 (C32: Publish).
  • the mobile terminal 5 since the mobile terminal 5 is in an offline state, transmission from the web server device 3 to the mobile terminal 5 (C42: Publish) fails.
  • the mobile terminal 4 transmits event information of event 4 to the web server device 2 (C1: Send).
  • the determination unit 2 ⁇ / b> A of the web server device 2 determines that the content of the event information of the event 5 is not related to the game situation of the mobile terminal 5. Accordingly, the event information of event 4 is not stored in the queue storage unit 2B in the same manner as the event information of event 4. It is transmitted to the web server device 3. During this time, when the mobile terminal 5 returns to the online state, transmission from the web server device 3 to the mobile terminal 5 (C41: Publish) is successful.
  • FIG. 16 is a diagram illustrating an example of event information transmitted from the mobile terminal 4 to the mobile terminal 5 after the event 4 that occurs in the mobile terminal 4.
  • the mobile terminal 4 transmits event information of events 4 and 5 to the web server device 2. However, it is determined that the event information of the events 4 and 5 indicated by broken lines in FIG. Therefore, the event information of events 4 and 5 is not stored in the queue storage unit 2B of the web server device 2, but only event information of events 7 and 8 is stored.
  • the event information determined not to be related to the game status of the mobile terminal 5 by the determination unit 2A is not transmitted to the mobile terminal 5, the event information is transmitted from the web server device 2 to the web server device 3 (C32: Publish), Transmission (C42: Publish) from the web server device 3 to the portable terminal 5 is omitted. For this reason, even if the portable terminal 5 is in an offline state, it is not influenced.
  • the determination unit 2 after transmitting the event information to the web server device 3, the determination unit 2 ⁇ / b> A of the web server device 2, for example, if there is no notification by a pop operation within a predetermined time, the location information to the mobile terminal 5 Is determined to have failed to send. In this case, the determination unit 2A adds information indicating that transmission of the event information has failed to the event information of the event 4 stored in the web server device 3.
  • the mobile terminal 5 resumes the connection with the web server device 3 and returns to the online state.
  • the portable terminal 5 outputs a transmission request for event information from the portable terminals 4 participating in the same online game to the web server device 3 (D1: Request).
  • the web server device 3 reads out the event information stored in the queue storage unit 2B of the web server device 2 in response to the event information transmission request transmitted from the web server device 3 upon return.
  • the determination unit 2A) is requested (D2: Read).
  • the determination unit 2 ⁇ / b> A of the web server device 2 returns event information to which information indicating that the transmission of the event information has failed is added to the web server device 3. (D3: Reply).
  • the web server device 3 transmits the event information returned from the web server device 2 to the portable terminal 5 by a push operation (D4: Push).
  • the mobile terminal 5 executes the game process based on the content of the event information received from the web server device 3, and reflects the event that has occurred in the mobile terminal 4 (D5: execute). In addition, the mobile terminal 5 transmits a completion notification to the web server device 3 in order to notify that the event information received from the web server device 3 is reflected in the game process (D6: completion notification).
  • the web server device 3 notifies the web server device 2 by a pop operation in response to the completion notification from the portable terminal 5 (D7: Pop).
  • the determination unit 2A of the web server device 2 deletes the event information transmitted when the mobile terminal 5 is in the offline state, stored in the queue value storage unit 2B.
  • event information from the portable terminal 4 is transmitted to the portable terminal 5 via the two web server apparatuses 2 and 3, but three or more web server apparatuses are transmitted.
  • the event information from the mobile terminal 4 can be transmitted to the mobile terminal 5.
  • another web server device different from the web server device 2 connected to the mobile terminal 4 may execute the above-described processing (including processing executed by the determination unit 2A).
  • FIGS. 15A and 15B are diagrams illustrating the generation of event information in a battle game. These drawings illustrate a game in which a plurality of characters that can be operated by the user are moved on the game, and brought up against other characters as necessary to train the characters.
  • FIG. 14A the character used at the top, the progress degree (PROGRESS) on the game (PROGRESS), and the score (SCORE) at that time are shown at the top of the screen.
  • the score In the lower part of the screen, five characters are retained, and only one of them is retained. And most of the center of the screen shows a state of progressing through the forest in the game.
  • FIG. 14B shows a state in which the degree of progress is further increased from the state of FIG. 14A.
  • a process for validating the event information may also be executed for the opponent of the online game.
  • FIG. 15A shows a state where the degree of progress in the game space is further increased from the state of FIG. 14B. Even in this case, even if the degree of progress is increased when offline, the score itself does not change. Therefore, regarding such event information, it is assumed that the event information is effective when returning to the online state later. As shown, the process for validating the event information may be executed for the opponent of the online game.
  • FIG. 15B shows a state in which the degree of progress is further increased from the state of FIG. 15A and a battle with another character that appears.
  • the score may change greatly depending on the result of the battle, and it may not be possible to match with other terminals that were fighting online Is expensive.
  • the web server devices 2 and 3 are configured so that such event information is returned to the original online state as invalid when returning to the online state later. It will be controlled by the verification process.
  • the verification is performed by referring not only to the time information P1 in the event information but also the position information P2 as a reference for verification.
  • the game can be reliably controlled by detecting a state where there is a high possibility that an illegal operation such as a natural large movement is being performed.
  • the present invention is not limited to the number of terminals, and the contents of the game are also shown in FIGS. 17A and 17B. And it is not restricted to the battle game as shown to FIG. 18A and 18B.
  • the present invention is not limited to this, and may be another standard related to communication between the web server and the browser.
  • the present invention is not limited to the above-described embodiment, and various modifications can be made without departing from the scope of the invention in the implementation stage. Further, the functions executed in the above-described embodiments may be combined as appropriate as possible.
  • the above-described embodiment includes various stages, and various inventions can be extracted by an appropriate combination of a plurality of disclosed constituent elements. For example, even if some constituent requirements are deleted from all the constituent requirements shown in the embodiment, if the effect is obtained, a configuration from which the constituent requirements are deleted can be extracted as an invention.

Abstract

 本発明は、一元的な情報管理を行なう必要がなく、オンライン通信時の各機の処理負担を軽減すると共に、オフライン環境での処理を継続することが可能なオンラインゲームの同期方法及びサーバ装置を提供する。 本発明は、ゲーム処理に関わる情報を、サーバを介して第1クライアント端末と第2クライアント端末との間で送受信することが可能なオンラインゲームの同期方法であって、オンライン接続された上記前記第1クライアント端末から、上記第1クライアント端末におけるゲーム処理に関わる第1情報を受信する受信行程と、上記第1情報がゲーム状況を決定する情報であるか否かを判別する判別行程と、上記第1情報がゲーム状況を決定する情報であると判別された場合に、上記第1情報を上記サーバに記憶すると共に、上記第1クライアント端末から上記第2のクライアント端末に送信する送信行程とを有する。

Description

オンラインゲームの同期方法及びサーバ装置
 本発明は、複数の携帯端末間でオンラインゲームを行なうためのオンラインゲームの同期方法及びサーバ装置に関する。
 近年、インターネットの普及により、ユーザが操作する携帯端末側のクライアント機と、ゲーム等を提供する側が用意するサーバ機とで、例えばゲーム情報やゲームの進行に関する情報、ユーザ情報など同一の情報を保管しておく必要が多く存在する。この種のサーバ機では、ゲームプログラムやゲーム管理上の上記した情報をデータベースを用いて一元的に管理する。
 しかるに、クライアント機とサーバ機とで上記した同一の情報を保管する場合、無線通信を行なうクライアント機の携帯端末が、通信環境の悪化等に伴ってオフライン状態となると、クライアント機とサーバ機とで保管する情報に差異が生じることになる。
 この種の事態に関して、従来では、複数のプレイヤ間でゲーム空間を割当てながらゲームを実行するようなゲームで、オフライン状態であってもクライアント機が自機に割り当てられたゲーム空間を単独で使用する間はゲームを続行でき、その後のオンライン復帰時にオフライン状態での内容を反映することが可能な技術が考えられている。
特開2002-066139号公報
 しかしながら、従来の技術では、他のゲーム空間でゲームを実行する必要がある場合、すなわち他のプレイヤに割当てられたゲーム空間や共用のゲーム空間を使用する場合には、対処することが困難であり、一元的な管理を行なうサーバ機による煩雑な同期処理が必要となる。
 本発明の目的は、一元的な情報管理を行なう必要がなく、オンライン通信時の各機の処理負担を軽減すると共に、オフライン環境での処理を継続することが可能なオンラインゲームの同期方法及びサーバ装置を提供することである。
 本発明の一態様は、ゲーム処理に関わる情報を、サーバを介して第1クライアント端末と第2クライアント端末との間で送受信することが可能なオンラインゲームの同期方法であって、オンライン接続された上記前記第1クライアント端末から、上記第1クライアント端末におけるゲーム処理に関わる第1情報を受信する受信行程と、上記第1情報がゲーム状況を決定する情報であるか否かを判別する判別行程と、上記第1情報がゲーム状況を決定する情報であると判別された場合に、上記第1情報を上記サーバに記憶すると共に、上記第1情報を上記第2のクライアント端末に送信する送信行程とを有する。
 本発明によれば、一元的な情報管理を行なう必要がなく、オンライン通信時の各機の処理負担を軽減すると共に、オフライン環境での処理を継続することが可能となる。
図1は、本発明の一実施形態に係るオンラインゲームシステムが使用される環境の一例を説明する図である。 図2は、同実施形態に係るサーバとクライアント間の接続アーキテクチャの概念を示す図である。 図3は、同実施形態に係るサーバの構成の一例を示す図である。 図4は、同実施形態に係るクライアントの構成の一例を示す図である。 図5は、同実施形態に係るサーバ-クライアント間で送受されるイベント情報の内容を例示する図である。 図6は、同実施形態に係るオンライン状態でのイベント情報の表面的な処理経路を示す図である。 図7は、同実施形態に係るオンライン状態でのイベント情報の詳細な処理経路を示す図である。 図8は、同実施形態に係るオフライン状態でのゲームの同期の概念を示す図である。 図9は、同実施形態に係るオフライン状態からオンライン状態に復帰した後のイベント情報の詳細な処理経路を示す図である。 図10は、同実施形態におけるオンラインゲームを同期するための具体的なイベント情報の処理経路の一例を示す図である。 図11Aは、同実施形態におけるゲームの進行に伴って携帯端末Aから携帯端末Bに送信されるイベント情報の具体例を示す図である。 図11Bは、同実施形態におけるゲームの進行に伴って携帯端末Aから携帯端末Bに送信されるイベント情報の具体例を示す図である。 図12は、同実施形態におけるイベント情報の具体的な内容を示す図である。 図13は、同実施形態における携帯端末が一時的にオフライン状態となった状況のイベント情報の処理経路の一例を示す図である。 図14は、同実施形態における携帯端末がオンライン状態に復帰した状況のイベント情報の処理経路の一例を示す図である。 図15Aは、同実施形態におけるゲームの進行に伴って携帯端末Aから携帯端末Bに送信されるイベント情報の具体例を示す図である。 図15Bは、同実施形態におけるゲームの進行に伴って携帯端末Aから携帯端末Bに送信されるイベント情報の具体例を示す図である。 図16は、同実施形態における携帯端末において発生するイベント情報の一例を示す図である 図17Aは、同実施形態に係る対戦ゲームにおけるイベント情報の発生を例示する図である。 図17Bは、同実施形態に係る対戦ゲームにおけるイベント情報の発生を例示する図である。 図18Aは、同実施形態に係る対戦ゲームにおけるイベント情報の発生を例示する図である。 図18Bは、同実施形態に係る対戦ゲームにおけるイベント情報の発生を例示する図である。
 以下、図面を参照して本発明の一実施形態に係るオンラインゲームシステムについて説明する。
 図1は、同実施形態に係るオンラインゲームシステムが使用される環境の一例を説明する図である。図1では、インターネットなどのネットワーク1に対して、ウェブサーバ装置2,3が接続されると共に、本システムでプレイヤが使用するクライアント装置となる携帯端末4,5が、アクセスポイント(AP)6あるいは基地局7を介して接続される。
 ウェブサーバ装置2,3は、本実施形態に係るオンラインゲームシステムを実現するためのコンピュータであり、オンラインゲームのサービスを提供するべくネットワーク1に対して並列に設置している。
 一方、クライアント側の携帯端末4,5は、スマートフォン、フィーチャー・フォン(feature phone)などにより実現される。携帯端末4,5は、例えば、Android(登録商標)、iOS(登録商標)などのOS上で動作する。さらに、携帯端末4,5は、ノートブック型のパーソナルコンピュータ、モバイルコンピュータ、タブレット型コンピュータなどであってもよい。携帯端末4,5は、予めオンラインゲームのためのゲームプログラムがインストールされる。
 図2は、本実施形態に係るサーバとクライアント間の接続アーキテクチャの概念を示す図である。図2に示すように、A社が提供するオンラインのゲームプログラムまたはアプリケーションプログラムを実行するに当たり、携帯端末4,5には、例えばAIR(登録商標)などで記述された、当該ゲームまたはアプリプログラムのためのアプリケーション実行環境C1が実装されると共に、当該A社のデータベースに接続して課金処理等を行なうためのA社データベース接続キットC2が組込まれる。
 これと共に、携帯端末4,5には、ウェブサーバ装置2,3との通信を行なうために、A社が開発した(ソフトウェア)クライアントサイドのフレームワークC3がインストールされる。
 一方、A社が運営するウェブサーバ装置2,3では、オンラインゲーム及びアプリケーションを実行するための、例えばNode.js(登録商標)で記述されたサーバ側ジャバ・スクリプト(登録商標)(JS)実行環境S1が設けられると共に、直接携帯端末4,5とデータを送受信するために、上記フレームワークC3と対応するA社(ソフトウェア)サーバーサイドのフレームワークS2が設けられる。
 携帯端末4,5のフレームワークC3と、ウェブサーバ装置2,3のフレームワークS2との間では、HTML5(登録商標)で実装された規格である、ウェブソケット(Websocket)を基盤としてゲームのイベント情報が送受される。
 このウェブソケットでは、サーバとクライアントとの間で一度でも接続が確立すると、明示的に切断しない限り、通信手順を意識することなくソケット通信によりデータを送受信することができる。すなわち、ウェブソケットでは、サーバとクライアントとの間で接続(ハンドシェイク)が成功すると、データのリクエスト時とレスポンス時に接続手続きをすることなく、データのみの通信を継続して実行することができる。
 また、ウェブソケットで接続が確立しているサーバとすべてのクライアントは、同じデータを共有し、リアルタイムで送受信できる。 
 よって、上記ウェブソケットの規格を利用することで、Ajax(Asynchronous JavaScript(登録商標) +XML)やCometの通信におけるデメリット部分を補い、より効率的にサーバとクライアント間の双方向通信が実現できる。
 上記フレームワークC3,S2は、OSに依存しないスクリプト言語として、例えばジャバ・スクリプト(登録商標)を用いて記述されている。そのため、携帯端末4,5のOSがAndroid(登録商標)及びiOS(登録商標)などのいずれかであってもそれらに依存せずに同一接続環境を構築できる。
 図3は、本発明の実施の形態に係るオンラインゲームシステムにおけるウェブサーバ装置2の構成の一例を示す図である。なお、ウェブサーバ装置3は、ウェブサーバ装置2と同様の構成を有するものとして詳細な説明を省略する。また、図3に示す構成は一例であって、他の構成を使用することも可能である。
 図3に示すように、ウェブサーバ装置2は、バス11を介して、CPU12、通信部13、メモリ14、及び記憶装置15が接続される。
 CPU12は、記憶装置15に記憶された本発明の実施の形態に係るゲームプログラム/アプリケーションプログラム22(以下、ゲームプログラム22と称する)と協働して、本発明の実施の形態に係るオンラインゲームのためのゲーム処理を行なう他、ウェブサーバ装置2,3全体の制御を司るものである。CPU12は、ゲームプログラム22を実行することによって、複数のプレイヤが同時に参加できるオンラインゲームを提供する。CPU12は、オンラインゲームに参加する携帯端末4,5から受信されるイベント情報(図5に詳細を示す)を後述するキュー記憶部に記憶し、イベント情報に基づいてゲームを進行させる。また、CPU12は、キュー記憶部に記憶されたイベント情報を、オンラインゲームに参加する他の携帯端末に送信してオンラインゲームの同期を図る。
 CPU12は、ゲームプログラム22を実行することにより、オフライン状態から復帰した携帯端末と他の携帯端末において実行されるオンラインゲームの同期を図るために、キュー記憶部に記憶されたイベント情報と復帰した携帯端末からの受信されるイベント情報とを検証するする機能を実現する(詳細は、図7~図9に示す)。また、CPU12は、ゲームプログラム22を実行することにより、オンラインゲームの同期を図るためにイベント情報を他の携帯端末に送信するか否かを、イベント情報の内容に基づいて判別する機能(詳細は、図10~図16に示す)を実現する。
 通信部13は、ネットワーク1を介したクライアント(携帯端末4,5)などの外部装置との通信の制御を司る。通信部13は、CPU12によりオンラインゲームのためのゲーム処理が実行される場合、ウェブソケットを利用して、イベント情報を含むゲームに関するデータを送受信する。
 メモリ14は、CPU12により実行される各種プログラムや、ゲームプログラム22を含む各種プログラムを実行する際に必要とされるワークエリアなどとして使用される。メモリ14は、ゲームプログラム22が実行される場合、クライアント(携帯端末4,5)から受信されるイベント情報を、例えば受信された順番に記憶するためのキュー記憶部として利用される。
 記憶装置15は、本実施の形態に係るオンラインゲームに必要とされる各種プログラムやデータを格納するためのものであり、例えば、HDD(Hard Disk Drine)、光ディスクドライブ、DVD(Digital Versatile Disc)、MO(Magnet Optical Disk)などの大容量記憶装置である。記憶装置15には、OS(Operating System)21、ゲームプログラム22、S1,S2(JS実行環境,フレームワーク)用プログラム23が格納される。また、記憶装置15は、キュー記憶部として使用することができる。
 OS21は、ウェブサーバ装置2,3の基本的な機能を実現するためのプログラムである。 
 ゲームプログラム22は、本発明の実施の形態に係るオンラインゲームにおけるサーバ側のゲーム処理を実現するためのプログラムである。なお、本実施の形態のオンラインゲームにおけるゲーム処理は、主に、サーバ側のゲームプログラム22によって行なわれ、表示処理は、クライアント側で行なわれる。なお、サーバ側で行なわれるゲーム処理の一部又は全てをクライアント側で行なってもよい。 
 S1,S2用プログラム23は、図2に示すJS実行環境S1及びフレームワークS2を実現するためのプログラムである。
 図4は、本発明の実施の形態に係る携帯端末4の構成の一例を示す図である。なお、携帯端末5は、携帯端末4と同様の構成を有するものとして詳細な説明を省略する。また、携帯端末4,5は、図4に示す構成以外の構成であっても良い。
 図4に示すように、バス31にはCPU32、無線通信部33、メモリ34、GPSモジュール35、カメラ36、記憶装置37、タッチパネルセンサ38、表示制御コントローラ39が接続されている。
 CPU32は、記憶装置37に記憶されたゲームプログラム/アプリケーションプログラム37-2(以下、ゲームプログラム37-2と称する)と協働して、本発明の実施の形態に係るオンラインゲームにおけるゲーム処理を行なう他、携帯端末4全体の制御を司るものである。CPU32は、主に、ウェブサーバ装置2,3で実行されるゲーム処理の結果に応じたゲーム画面を表示する表示処理を行う。
 無線通信部33は、ネットワーク1を介したサーバなどの外部装置との通信の制御を司る。また、無線通信部33は、無線LAN、Bluetooth(登録商標)、WiFiなどの無線通信機能を有する。
 メモリ34は、クライアント側のゲーム処理に関するアプリケーションプログラム37-3を実行する際に必要とされるワークエリアなどとして使用される。
 GPSモジュール35は、GPS(Global Positioning System)を利用して位置情報(緯度、経度)、時刻情報などを生成する。
 カメラ36は、静止画あるいは動画像を撮像する機能を有する。
 記憶装置37は、本実施の形態に係るオンラインゲームに必要とされる各種プログラムやデータを格納するためのものであり、例えば、フラッシュメモリなどにより実現される。記憶装置37には、OS37-1、ゲームプログラム37-2、及びC1,C2,C3用プログラム37-3が格納される。
 OS37-1は、携帯端末4の基本的な機能を実現するためのプログラムである。 
 ゲームプログラム37-2は、本発明の実施の形態に係るオンラインゲームにおけるクライアント側のゲーム処理を実現するためのプログラムである。なお、本実施の形態のオンラインゲームにおけるゲーム処理は、主にサーバ側(ウェブサーバ装置2,3)において行なわれる。このため、クライアント側のゲーム処理では、主に、サーバ側で実行されるゲーム処理の結果に応じたゲーム画面の表示処理、ゲーム画面に応じたユーザによる入力操作に応じたイベント情報の送信処理などを行う。なお、クライアント側で行なわれるゲーム処理の一部又は全てをクライアント側で行なってもよい。
 C1,C2,C3用プログラム37-3は、図2に示すアプリケーション実行環境C1、A社データベース接続キットC2、フレームワークC3を実現するためのプログラムである。
 タッチパネルセンサ38は、表示部40の表示面に装着されたタッチパネルへのタッチ操作を検出するセンサである。 
 表示制御コントローラ39は、表示部40の表示制御を行なう。 
 表示部40は、例えばLCD(Liquid Crystal Display)等により構成され、表示制御コントローラ39の制御によりゲーム画面などを表示する。
 次に、本発明の実施の形態に係るオンラインゲームシステムの動作について説明する。 
 図5は、ウェブサーバ装置2,3、携帯端末4,5の間で送受信される、オンラインゲーム実行時のイベント情報の内容を例示する図である。
 図5に示すように、1つのイベント情報は、携帯端末4,5においてオンラインゲームを実行することにより発生するイベントの内容を表す情報であり、時刻情報P1、位置情報P2、及びアクション情報P3を含んでいる。時刻情報P1は、ゲーム中にユーザが入力操作をした時刻を示す。位置情報P2は、ユーザがゲーム中に入力操作をした時の位置を示すもので、例えば携帯端末4,5のGPSモジュール35により生成される位置情報(緯度、経度)を数値化した情報である。アクション情報P3は、携帯端末4,5が予めインストールしたゲームプログラムに基づき、ユーザの入力操作等に応じて発生するするイベントに関わるアクションの内容を示す。
 図6は、本実施の形態におけるオンラインゲームを同期するためのイベント情報の処理経路の一例を示す図である(後に具体的な処理経路について説明する)。図6では、携帯端末4がウェブサーバ装置2と接続され、携帯端末5がウェブサーバ装置3と接続され、さらにウェブサーバ装置2とウェブサーバ装置3とが接続されている。すなわち、ウェブサーバ装置2,3と携帯端末4,5は、ソケット通信によりデータ(イベント情報)を送受信することができる状態にあるものとする。
 なお、本実施の形態におけるオンラインゲームは、ゲームに参加するプレイヤが、それぞれが使用する携帯端末を操作することにより、ゲーム空間内において、プレイヤに対応するキャラクタを移動させることができる。ゲーム空間内には、多数の敵キャラクタが配置されている。プレイヤのキャラクタは、ゲーム空間内で移動(クエストを進行)され、敵キャラクタに遭遇すると、敵キャラクタを攻撃することができる。プレイヤのキャラクタは、敵キャラクタを攻撃し、討伐できると、例えばゲーム中で使用されるアイテムなどを獲得することができる。また、敵キャラクタへの攻撃は、複数のプレイヤが共同して実行することができる。
 図6では、携帯端末4と携帯端末5とがオンラインゲームに参加する場合に、携帯端末4,5のそれぞれにおいて実行されるゲーム処理を同期させるために、携帯端末4のゲーム処理で発生したイベントの内容を示すイベント情報を携帯端末に送信する。
 例えば、携帯端末4は、ユーザの操作により制御されるゲーム内のキャラクタの体力を示すヒットポイント(HP)が「+10」されるようなイベントが発生した場合、このイベントについての処理を実行すると共に、このイベントを示すイベント情報A1をウェブサーバ装置2に送信する。ウェブサーバ装置2は、携帯端末4から受信したイベント情報A2をウェブサーバ装置3に送信する。ウェブサーバ装置3は、携帯端末4と同じオンラインゲームに参加する携帯端末5に対して、ウェブサーバ装置2により中継されたイベント情報A3をプッシュ動作により送信する。携帯端末5は、携帯端末4において発生したイベントの内容を示すイベント情報をもとに、ゲーム内での携帯端末4のユーザの操作により制御されるキャラクタの体力を「+10HP」にする。
 次に、本実施の形態におけるオンラインゲームを同期するためのイベント情報の処理経路の具体例について説明する。図7は、図4に示すイベント情報の具体的な処理経路の一例を示す図である。 
 携帯端末4は、ユーザの操作により制御されるゲーム内のキャラクタの体力を示すヒットポイント(HP)が「+10」されるようなイベントが発生した場合、このイベントについての処理を実行すると共に、このイベントの内容を示すイベント情報をウェブサーバ装置2に送信する(A11)。イベント情報には、ヒットポイント(HP)を「+10」するアクション情報、イベントが発生した時刻を示す時刻情報、及びイベントが発生した時の携帯端末4の位置を示す位置情報が含まれている。
 ウェブサーバ装置2は、携帯端末4からのイベント情報を、プッシュ動作(A12)によりキュー値記憶部2Bに記憶させた上で、同イベント情報をウェブサーバ装置3に送信する(A13)。
 ウェブサーバ装置3は、ウェブサーバ装置2からイベント情報を受信すると、同じオンラインゲームに参加しているゲーム相手の携帯端末5に対して、プッシュ動作により同イベント情報を送信する(A14)。携帯端末5は、ウェブサーバ装置3から受信したイベント情報の内容に基づいて、オンラインゲーム内での携帯端末4側のキャラクタの体力を「+10HP」するようゲーム処理を実行する(A15)。また、携帯端末5は、ウェブサーバ装置3から受信したイベント情報をゲーム処理に反映させたことを応答するために、イベント情報をウェブサーバ装置3へ返送する(A16)。
 ウェブサーバ装置3は、携帯端末5からイベント情報が返送されると、イベント情報が携帯端末5におけるゲーム処理に反映されたものとして判別する。ウェブサーバ装置3は、ウェブサーバ装置2のキュー値記憶部2Bに対して、ポップ動作によりイベント情報を返送する(A17)。
 こうして、本実施の形態におけるオンラインゲームシステムは、携帯端末4においてイベントが発生した場合、携帯端末4から携帯端末5にイベントの内容を示すイベント情報を送信することにより、サーバによる一元的な情報管理を行なうことなく、携帯端末4,5において実行されるオンラインゲームを同期させることができる。
 次に、オンラインゲームに参加している携帯端末が一時的にオフライン状態となった場合のオンラインゲームの同期方法について説明する。 
 図8は、オフラインが生じた場合のオンラインゲームの同期の概念を示す図である。ここでは、携帯端末Aと携帯端末Bとがオンラインゲームを実行している途中で、携帯端末Aがイベント3からオフライン状態となった例を示している。なお、図8に示す携帯端末Aは、例えば図7に示す携帯端末4に対応し、携帯端末Bは、例えば図7に示す携帯端末5に対応するものとする。
 この場合、携帯端末Aは、オフライン状態となっても、予めインストールされているゲームプログラムによって、ゲーム処理を続行する。しかし、携帯端末Aは、イベント3以降のイベントに関して、携帯端末Bとの間でイベント情報を送受信することができない(処理結果はNGと判定される)。
 携帯端末Bは、イベント2の以後、携帯端末Aからの応答がないため、イベント2に対する処理の実行後にロールバック状態となる。すなわち、携帯端末Bは、ゲーム上の進展がない状態を維持する。
 ここで、ロールバックを行なうものとしては、例えばゲーム上での課金処理等がある。また、ロールバックを行なわないものとしては、例えばキャラクタの対戦の結果や、ゲーム空間内でのキャラクタの進行等がある。ゲーム進行上、重要となるイベント情報に関しては、特定の閾値を設けることでイベント情報を判断してロールバックを行なうものとしても良い。
 したがって、携帯端末Aが再びオンライン状態に復帰した後、各携帯端末に記憶されているイベント情報に基づき、携帯端末A,B共にイベント2までが有効であり、携帯端末Aのイベント3以降のイベントに関して、ゲーム進行上、齟齬が生じるか否かをウェブサーバ装置が仲介して検証し、その検証結果を各携帯端末A,Bに反映させることで、携帯端末Aと携帯端末Bとの正しい同期状態が維持できる。
 図8において、イベント3を成立させると携帯端末Bとの間で同期がとれないと判断した場合には、図示するように携帯端末Aのイベント3を無効とする。一方で、イベント3を成立させても、携帯端末Bとの間で何ら齟齬が生じず、同期がとれると判断した場合には、イベント3の成立を許可する。
 上記ウェブサーバ装置が検証を行なう際の判断基準となるのが、端末からオンライン復帰時にバッチ処理により纏めて送られてくるイベント情報と、ウェブサーバ内のキュー値記憶部2Bに蓄積して記憶されているイベント情報であり、これら両イベント情報中の上記時刻情報P1と位置情報P2とを参照することで、必要により予め特定した閾値を用いた判定を行なうことで、オフラインとなる前のオンライン状態での有効なイベント情報を正確に検証できる。
 また、上述した如くオフライン状態で実行したイベント情報が、オンライン後に相互の同期を乱すものではないと判断した場合には、そのイベント情報の実行を有効として許可する。
 図9は、携帯端末4がオフライン状態からオンライン状態に復帰した後のイベント情報の処理経路を示す図である。ここでは、携帯端末4がオフライン状態にある時に発生したイベントを有効と判断した場合の例を示している。
 携帯端末4は、オフライン状態においてゲーム処理を実行している間、ゲーム処理で発生したイベントのイベント情報を記憶しておく。携帯端末4は、オフライン状態からオンライン状態に復帰した場合に、記憶していたイベント情報をウェブサーバ装置2に送信する。
 例えば、ユーザの操作するゲーム内のキャラクタの体力を示すヒットポイント(HP)が「+10」されるようなイベント情報(A21)が携帯端末4からバッチ処理によりウェブサーバ装置2へ送信されたものとする。なお、携帯端末4がオンライン状態となった場合、携帯端末4,5とウェブサーバ装置2,3とは、ウェブソケット(ソケット通信)によりイベント情報を含むデータの送受信が可能な状態となる。
 ウェブサーバ装置2は、携帯端末4からのイベント情報(A21)を、プッシュ動作(A22)によりキュー値記憶部2Bに記憶させた上で、同イベント情報をウェブサーバ装置3に送信する(A23)。
 この時点で、携帯端末4とオンライン状態となった携帯端末5は、ウェブサーバ装置3に対してプッシュ動作により同イベント情報を送信する(A24)。これを受けたウェブサーバ装置3は、ウェブサーバ装置2のキュー値記憶部2Bをアクセスして(A25)、キュー値記憶部2Bに記憶されている同イベント情報(A26)を読出した上で、携帯端末5に同イベント情報を送信する(A27)。
 携帯端末5は、ウェブサーバ装置3から受信したイベント情報の内容に基づいて、オンラインゲーム内での携帯端末4側のキャラクタの体力を「+10HP」するようゲーム処理を実行する(A28)。また、携帯端末5は、ウェブサーバ装置3から受信したイベント情報をゲーム処理に反映させたことを応答するために、イベント情報をウェブサーバ装置3に返送する(A29)。
 ウェブサーバ装置3は、携帯端末5からイベント情報が返送されると、イベント情報が携帯端末5におけるゲーム処理に反映されたものとして判別する。ウェブサーバ装置3は、ウェブサーバ装置2のキュー値記憶部2Bに対して、ポップ動作によりイベント情報を返送する(A30)。以上で、一方の携帯端末4でオフライン時にイベント情報が発生した場合の、オンライン復帰後の一連の処理を終了する。
 このように、オフライン状態で発生したイベント情報に関しても、双方の携帯端末4,5でのゲーム進行上で齟齬を来さない程度の内容、例えばキャラクタがゲーム空間内を移動するなど、ゲームの進行に関してオフライン状態で許可されるイベント情報の定義を予め行なっておくことで、オフライン状態が生じた場合でもユーザに対してより違和感のないゲーム環境が提供できる。
 なお、具体的なイベント情報としては、ゲーム上でのクエストのクリア、他のキャラクタとの対戦、アイテムの入手とそれに伴う課金処理、等が考えられる。
 次に、本実施の形態におけるオンラインゲームを同期するための別の処理の具体例について説明する。 
 図10は、本実施の形態におけるオンラインゲームを同期するための具体的なイベント情報の処理経路の一例を示す図である。図11A及び図11Bは、ゲームの進行に伴って携帯端末Aから携帯端末Bに送信されるイベント情報の具体例を示す図、図12は、図11A及び図11Bに示すイベント情報の具体的な内容を示す図である。図11A及び図11Bでは、左から右の方向に時間が経過していることを表している。
 図11A及び図11Bに示す携帯端末Aは、例えば図10に示す携帯端末4に対応し、携帯端末Bは、例えば図10に示す携帯端末5に対応するものとする。すなわち、図11A及び図11Bは、携帯端末4において発生したイベントのイベント情報を、携帯端末4から携帯端末5に送信する例を示す。なお、携帯端末5においてイベントが発生した場合には、携帯端末4においてイベントが発生した場合と同様にして、携帯端末5から携帯端末4にイベント情報を送信する。さらに、図10では、2つの携帯端末4,5のみを図示しているが、多数(3人以上)のプレイヤがオンラインゲームに参加する場合には、それぞれのプレイヤが使用する携帯端末の間でイベント情報の送受信が行われる。すなわち、1つの携帯端末において発生したイベントのイベント情報は、複数の携帯端末に送信する必要がある。従って、オンラインゲームに参加するプレイヤの数が増えるほど、イベント情報を送受信するためのトラフィックが大幅に増大する。
 本実施の形態におけるオンラインゲームシステムでは、ウェブサーバ装置は、オンラインゲームの同期を図るためにイベント情報を携帯端末から受信すると、このイベント情報が他の携帯端末において実行されるゲーム処理(ゲーム状況)に関わるか否かを判別する。ウェブサーバ装置は、他の携帯端末において実行されるゲーム処理(ゲーム状況)に関わると判別した場合、イベント情報をキュー記憶部に記憶すると共にオンラインゲームの同期を図るためにイベント情報を他の携帯端末に送信する。
 図10に示すウェブサーバ装置2,3は、ウェブソケットを介してデータ通信が可能な状態にあるものとする。携帯端末4は、オンラインゲームに参加するために、ハンドシェイクを経て、ウェブサーバ装置2と接続する。これにより、携帯端末4は、ウェブサーバ装置2,3を含むウェブサーバ装置群(各ウェブサーバ装置と接続された携帯端末を含む)とウェブソケットを介してデータ通信が可能な状態になる。
 オンラインゲームのゲーム空間には、携帯端末4に対応するプレイヤキャラクタが生成される。プレイヤキャラクタは、携帯端末4に対するプレイヤの操作に応じて、ゲーム空間中で各種の動作が可能となる。例えば、携帯端末4は、プレイヤキャラクタをゲーム空間中で移動させる操作、すなわちクエストを進行させる操作がされたものとする(図11AのT1)。携帯端末4のCPU32は、入力操作に応じてゲーム処理を実行すると共に、このイベント1のイベント情報を生成する。イベント1のイベント情報は、図12に示すように、イベントの内容を示すアクション情報として「プレイヤAがクエストを進行」、時刻情報として「9時00分」、位置情報として「緯度35.681382、経度139.766084」が含まれる。時刻情報は、入力操作がされた時の携帯端末4が管理する時刻を示す。また、位置情報は、GPSモジュール35によって取得された緯度、経度をもとに生成される。なお、時刻情報は、携帯端末4が管理する時刻ではなく、ウェブサーバ装置2が管理する時刻を利用しても良い。この場合、携帯端末4からウェブサーバ装置2に送信するイベント情報は、時刻情報を含まず、ウェブサーバ装置2において時刻情報が付加されるものとする。
 携帯端末4は、Send動作(B1:Send)により、ウェブソケットを介して、イベント情報をウェブサーバ装置2に送信する。ウェブサーバ装置2の判別部2Aは、イベント情報に含まれる位置情報をもとに、イベント情報が正当であるか否かを判別する。すなわち、判別部2Aは、先に受信されたイベント情報の位置情報と、後に受信されたイベント情報の位置情報とを比較し、携帯端末4の移動距離を判別する。判別部2Aは、位置情報をもとに判別される携帯端末4の移動距離が、物理的に移動可能な距離であるかを判別する。例えば、判別部2Aは、先に受信されたイベント情報の時刻情報と、後に受信されたイベント情報の時刻情報とをもとに、先のイベント情報を受信した時刻から後のイベント情報を受信した時刻までの時間を求める。例えば、判別部2Aは、時間に対する移動可能な距離を判別する基準値が設定されており、この設定値以上の移動距離であった場合には、携帯端末4から受信したイベント情報が正当でないものと判別する。例えば、携帯端末4を使用するプレイヤになりすまして、携帯端末4から離れた場所にある他の携帯端末からオンラインゲームに参加している場合、判別部2Aは、他の携帯端末からのイベント情報が正当ではないと判別することができる。この場合、判別部2Aは、携帯端末4から受信したイベント情報を無効化して、ゲーム処理を中断する。なお、以下の説明では、ウェブサーバ装置2,3は、携帯端末4,5から正当なイベント情報を受信するものとして説明する。
 一方、イベント情報が正当と判別された場合、ウェブサーバ装置2は、携帯端末4から受信したイベント情報に応じたゲーム処理を実行する。ここで、携帯端末4が参加しているオンラインゲームに他のプレイヤが参加していない場合、ウェブサーバ装置2は、携帯端末4から受信したイベント情報を、他の携帯端末(あるいはウェブサーバ装置)に送信する必要がない。
 同様にして、プレイヤキャラクタがゲーム空間で敵キャラクタ(ボスキャラクタ)に遭遇したイベントが発生すると(図11AのT2)、携帯端末4は、このイベント2のイベント情報を生成して、ウェブサーバ装置2に送信する(B1:Send)。イベント2のイベント情報の詳細は、図12に示す。
 一方、携帯端末5は、オンラインゲームに参加するために、ハンドシェイクを経て、ウェブサーバ装置3と接続する。これにより、携帯端末5は、ウェブサーバ装置2,3を含むウェブサーバ装置群(各ウェブサーバ装置と接続された携帯端末を含む)とウェブソケットを介してデータ通信が可能な状態になる。
 携帯端末4のプレイヤは、敵キャラクタ(ボスキャラクタ)への攻撃を他のプレイヤと共同して実行するために、フレンド要請を指示したものとする(図11のTAB3)。携帯端末4は、このイベント3のイベント情報を生成して、ウェブサーバ装置2に送信する(B1:Send)。イベント3のイベント情報は、図12に示すように、フレンド要請のイベントの内容を示すアクション情報として「プレイヤAがプレイヤBを招待する」を示すデータが含まれている。
 ウェブサーバ装置2の判別部2Aは、携帯端末4からイベント3のイベント情報を受信すると、このイベント情報を携帯端末5に送信するか否かを、イベント情報の内容に基づいて判別する。例えば、判別部2Aは、イベント情報を携帯端末5に送信するか否かを、携帯端末4と同じオンラインゲームに参加している携帯端末5のゲーム状況に関わるイベントであるか否かに基づいて判別する。判別部2Aには、例えば他の携帯端末のゲーム状況に関わるイベントを判別するための判別テーブルが設けられている。判別テーブルには、ゲーム状況に関わるイベントを判別する条件が定義されている。判別部2Aは、携帯端末4から受信したイベント情報のアクション情報が、判別テーブルに定義された条件に該当する場合に、イベント情報がゲーム状況に関わるイベントを判別することができる。
 判別部2Aは、イベント情報に含まれるアクション情報が「プレイヤAがプレイヤBを招待する」であるため、プレイヤBが使用する携帯端末5のゲーム状況に関わるイベントであると判別する。すなわち、判別部2Aは、イベント3のイベント情報を、携帯端末5に送信すると判別する。この場合、判別部2Aは、携帯端末4から受信したイベント情報をキュー記憶部2Bに記憶させる。
 また、判別部2Aは、キュー記憶部2Bに記憶させたイベント情報をプッシュ動作(B2:Push)により、ウェブソケットを介して、携帯端末5と接続されたウェブサーバ装置3に送信する(B31:Publish)。
 ウェブサーバ装置3は、ウェブサーバ装置2からイベント情報を受信すると、同じオンラインゲームに参加しているゲーム相手の携帯端末5に対して、ウェブソケットを介して、プッシュ動作によりイベント情報を送信する(B41:Push)。携帯端末5は、ウェブサーバ装置3から受信したイベント情報の内容に基づいてゲーム処理を実行して、携帯端末4において発生したイベントを反映させる(B5:実行)。また、携帯端末5は、ウェブサーバ装置3から受信したイベント情報をゲーム処理に反映させたことを通知するために、完了通知をウェブサーバ装置3へ送信する(B6:完了通知)。
 ウェブサーバ装置3は、携帯端末5からの完了通知に応じて、ポップ動作によりウェブサーバ装置2に通知する(B7:Pop)。ウェブサーバ装置2の判別部2Aは、ポップ動作による通知に応じて、キュー値記憶部2Bに記憶された、携帯端末5に送信したイベント情報を削除する。
 携帯端末5は、携帯端末4からフレンド要請するイベント情報を受信することにより、プレイヤBに対して、プレイヤAからフレンド要請されたことを通知する。プレイヤBは、フレンド要請に応答することにより、プレイヤAと共に敵キャラクタ(ボスキャラクタ)への攻撃に参加することができる。携帯端末5は、プレイヤBの入力操作によって、敵キャラクタ(ボスキャラクタ)への攻撃が指示されると、携帯端末4と同様に攻撃のイベントを発生して、攻撃のイベント情報をウェブサーバ装置3に送信する。すなわち、携帯端末5において発生したイベントの位置情報は、ウェブソケットを介して、携帯端末4に送信される。
 携帯端末4は、プレイヤAの入力操作に応じて攻撃のイベントを発生して(図11AのTAB4)、前述と同様にして、イベント情報をウェブサーバ装置2に送信する(B1:Send)。ウェブサーバ装置2の判別部2Aは、携帯端末4からイベント4のイベント情報を受信すると、携帯端末5のゲーム状況に関わるイベントであるか否かを判別する。
 ここで、判別部2Aは、判別テーブルに定義された条件をもとに、敵キャラクタに対する攻撃のイベントが、携帯端末5のゲーム状況に関わるイベントでないと判別する。この場合、判別部2Aは、携帯端末4から受信したイベント情報をキュー記憶部2Bに記憶させず、イベント情報をウェブサーバ装置3へ送信する。
 ウェブサーバ装置3は、ウェブサーバ装置2からイベント情報を受信すると、同じオンラインゲームに参加しているゲーム相手の携帯端末5に対して、ウェブソケットを介して、プッシュ動作によりイベント情報を送信する(B42:Push)。携帯端末5は、ウェブサーバ装置3から受信したイベント情報の内容に基づいてゲーム処理を実行して、携帯端末4において発生したイベントを反映させる(B5:実行)。
 こうして、携帯端末4から受信したイベント情報をウェブサーバ装置3へ送信することにより、携帯端末4,5において実行されるオンラインゲームのゲーム処理を確実に同期させることができる。
 また、携帯端末5へ送信しないと判別したイベント情報をキュー記憶部2Bに記憶させないことにより、キュー記憶部2Bの記憶容量の消費を減らすことができる。
 また、携帯端末4から受信したイベント情報が携帯端末5のゲーム状況に関わるイベントであると判別された場合には、このイベント情報をキュー記憶部2Bに記憶させておくことで、携帯端末5がオフライン状態となった場合であってもゲーム処理を確実に同期させることができる。携帯端末5がオフライン状態となった場合の動作については後述する(図13、図14参照)。
 同様にして、携帯端末4において発生したイベント5のイベント情報は、アクション情報として「ボスがプレイヤAを攻撃」のデータが含まれており、ウェブサーバ装置2の判別部2Aにより携帯端末5のゲーム状況に関わるイベントでないと判別される(図11BのTAB5)。イベント5のイベント情報は、イベント4のイベント情報と同様にして、携帯端末4から受信したイベント情報をキュー記憶部2Bに記憶されず、ウェブサーバ装置3へ送信される。
 次に、携帯端末4において発生したイベント6のイベント情報は、アクション情報として「プレイヤA,Bがボス討伐」のデータが含まれている。携帯端末4,5を操作しているプレイヤA,Bは、それぞれが入力操作をすることにより敵キャラクタ(ボスキャラクタ)に対して攻撃を加えている。この結果、何れかのプレイヤの入力操作により与えられた攻撃によりボスキャラクタを討伐することができる。この場合、「ボスが討伐された」ことは、それぞれのプレイヤA,Bのゲーム状況に関わることになる。
 従って、ウェブサーバ装置2の判別部2Aは、イベント6のイベント情報について、携帯端末5のゲーム状況に関わるイベントであると判別する(図11BのTAB6)。イベント6のイベント情報は、キュー記憶部2Bに記憶されると共に、ウェブサーバ装置3を介して携帯端末5に送信される。
 同様にして、携帯端末4において発生したイベント7のイベント情報は、アクション情報として「アイテムをプレイヤA,Bに付与」のデータが含まれており、ウェブサーバ装置2の判別部2Aにより携帯端末5のゲーム状況に関わるイベントであると判別される(図11BのTAB7)。イベント7のイベント情報は、イベント6のイベント情報と同様にして、キュー記憶部2Bに記憶されると共に、携帯端末5へ送信される。
 このようにして、ウェブサーバ装置2は、携帯端末4から受信したイベント情報について、携帯端末5に送信するか否かをイベント情報の内容、すなわち携帯端末5において実行されるゲーム状況に関わる内容であるか否かに判別することができる。ウェブサーバ装置2は、携帯端末5のゲーム状況に関わるイベント情報をキュー記憶部2Bに記憶させると共に携帯端末5に送信し、携帯端末5のゲーム状況に関わらないイベント情報をキュー記憶部2Bに記憶させないで携帯端末5に送信する。すなわち、携帯端末4において発生したイベントのイベント情報を携帯端末5に送信することにより、オンラインゲームの同期を図ることが可能である。
 なお、前述した説明では、携帯端末4から受信したイベント情報が、携帯端末5のゲーム状況に関わる場合と関わらない場合の何れであっても、イベント情報を携帯端末5に送信するとしている。本実施形態では、ウェブサーバ装置2の判別部2Aが、携帯端末4からのイベント情報が携帯端末5のゲーム状況に関わらないと判別された場合に、このイベント情報を携帯端末5に送信しないようにしても良い。
 これにより、図10に中の破線によって示す、ウェブサーバ装置2からウェブサーバ装置3へのイベント情報の送信(B32:Publish)、ウェブサーバ装置3から携帯端末5へのイベント情報の送信(B42:Push)が省略される。これにより、イベント情報を送信するためのトラフィックを削減することができる。
 前述した説明では、携帯端末4から携帯端末5にイベント情報を送信する場合を対象としているが、同様にして、携帯端末5から携帯端末4に対してイベント情報を送信する。従って、携帯端末5から携帯端末4にイベント情報を送信するためのトラフィック量も削減される。さらに、より多くのプレイヤが同じオンラインゲームに参加している場合には、大幅なトラフィック量の削減を期待することができる。
 次に、オンラインゲームに参加している携帯端末5が一時的にオフライン状態となった場合のオンラインゲームの同期方法について説明する。 
 図13は、携帯端末5が一時的にオフライン状態となった状況のイベント情報の処理経路の一例を示す図、図14は、携帯端末5がオンライン状態に復帰した状況のイベント情報の処理経路の一例を示す図、図15A及び図15Bは、ゲームの進行に伴って携帯端末Aから携帯端末Bに送信されるイベント情報の具体例を示す図である。
 なお、図15Aに示すイベント1,2,3についての処理は、図11Aに示すイベント1,2,3と同様にして実行されるものとして説明を省略する。すなわち、イベント3のイベント情報は、ウェブサーバ装置2,3と携帯端末4,5とがウェブソケットを介してデータの送受信が可能な状態において、携帯端末4から携帯端末5に送信される。
 ここで、携帯端末4においてイベント4が発生したものとする(図15AのTAB4)。携帯端末4は、イベント4のイベント情報をウェブサーバ装置2に送信する(C1:Send)。ウェブサーバ装置2の判別部2Aは、イベント4のイベント情報の内容が携帯端末5のゲーム状況に関わらないと判別する。従って、イベント4のイベント情報は、キュー記憶部2Bに記憶されず、ウェブサーバ装置2からウェブサーバ装置3へ送信(C32:Publish)される。しかし、携帯端末5がオフライン状態となっているため、ウェブサーバ装置3から携帯端末5への送信(C42:Publish)は失敗する。
 次に、携帯端末4においてイベント5が発生したものとする(図15このTAB5)。携帯端末4は、イベント4のイベント情報をウェブサーバ装置2に送信する(C1:Send)。ウェブサーバ装置2の判別部2Aは、イベント5のイベント情報の内容が携帯端末5のゲーム状況に関わらないと判別する。従って、イベント4のイベント情報は、イベント4のイベント情報と同様にして、キュー記憶部2Bに記憶されない。ウェブサーバ装置3に送信される。この間、携帯端末5がオンライン状態に復帰した場合、ウェブサーバ装置3から携帯端末5への送信(C41:Publish)は成功する。
 携帯端末5がオンライン状態に復帰すると、携帯端末5は、携帯端末4とウェブソケットを介してデータ送受信が可能な状態となる。従って、携帯端末4において発生したイベント6,7のイベント情報は(図15BのTAB6、TAB7)、キュー記憶部2Bに記憶されると共に携帯端末5に送信される。 図16は、携帯端末4において発生するイベント4以降の携帯端末4から携帯端末5に送信されるイベント情報の一例を示す図である。携帯端末4は、イベント4,5のイベント情報をウェブサーバ装置2に送信する。しかし、図16において破線によって示すイベント4,5のイベント情報は、携帯端末5のゲーム状況に関わらないと判別される。従って、ウェブサーバ装置2のキュー記憶部2Bには、イベント4,5のイベント情報が記憶されず、イベント7,8のイベント情報のみが記憶される。
 なお、判別部2Aによって携帯端末5のゲーム状況に関わらないと判別されたイベント情報を携帯端末5に送信しない場合には、ウェブサーバ装置2からウェブサーバ装置3へ送信(C32:Publish)と、ウェブサーバ装置3から携帯端末5への送信(C42:Publish)が省略される。このため、携帯端末5がオフライン状態にあっても影響を受けない。
 ここで、例えばイベント4のイベント情報が携帯端末5のゲーム状況に関わると判別された場合について説明する。 
 ここでは、携帯端末5とウェブサーバ装置3との通信が切断され、携帯端末5は、図13に示すように、オフライン状態になっているものとする。この場合、携帯端末5は、ウェブソケットを通じてデータを送受信することができない。従って、ウェブサーバ装置3から携帯端末5に対するイベント情報の送信(C41:Publish)は、エラーとなる。
 この場合、ウェブサーバ装置2の判別部2Aは、ウェブサーバ装置3にイベント情報を送信した後、例えば予め決められた時間内にポップ動作により通知がない場合には、携帯端末5への位置情報の送信に失敗したと判別する。この場合、判別部2Aは、ウェブサーバ装置3に記憶したイベント4のイベント情報に対して、イベント情報の送信が失敗したことを示す情報を付加しておく。
 次に、携帯端末5は、ウェブサーバ装置3との接続を再開して、オンライン状態に復帰したものとする。この場合、携帯端末5は、図14に示すように、ウェブサーバ装置3に対して、同じオンラインゲームに参加している携帯端末4からのイベント情報の送信要求を出力する(D1:Request)。
 ウェブサーバ装置3は、ウェブサーバ装置3から復帰時に送信される、イベント情報の送信要求に応じて、ウェブサーバ装置2のキュー記憶部2Bに記憶されたイベント情報の読み出しを、ウェブサーバ装置2(判別部2A)に要求する(D2:Read)。
 ウェブサーバ装置2の判別部2Aは、ウェブサーバ装置3からのイベント情報の読み出し要求に対して、イベント情報の送信が失敗したことを示す情報が付加されたイベント情報をウェブサーバ装置3に返送する(D3:Reply)。ウェブサーバ装置3は、ウェブサーバ装置2から返送されたイベント情報を、プッシュ動作により携帯端末5に送信する(D4:Push)。
 携帯端末5は、ウェブサーバ装置3から受信したイベント情報の内容に基づいてゲーム処理を実行して、携帯端末4において発生したイベントを反映させる(D5:実行)。また、携帯端末5は、ウェブサーバ装置3から受信したイベント情報をゲーム処理に反映させたことを通知するために、完了通知をウェブサーバ装置3へ送信する(D6:完了通知)。
 ウェブサーバ装置3は、携帯端末5からの完了通知に応じて、ポップ動作によりウェブサーバ装置2に通知する(D7:Pop)。ウェブサーバ装置2の判別部2Aは、ポップ動作による通知に応じて、キュー値記憶部2Bに記憶された、携帯端末5がオフライン状態にある時に送信したイベント情報を削除する。
 このようにして、携帯端末5が一時的にオフライン状態となったとしても、携帯端末5が復帰した後に、ウェブサーバ装置2のキュー記憶部2Bに記憶されたイベント情報が携帯端末5に送信されて、携帯端末5のゲーム処理に反映される。これにより、携帯端末4,5において実行されるオンラインゲームのゲーム処理を同期させることが可能となる。
 なお、図10、図13及び図14では、2つのウェブサーバ装置2,3を介して、携帯端末4からのイベント情報を携帯端末5に送信しているが、3つ以上のウェブサーバ装置を介して、携帯端末4からのイベント情報を携帯端末5に送信する構成とすることもできる。この場合、携帯端末4と接続されるウェブサーバ装置2とは異なる他のウェブサーバ装置が、前述した処理(判別部2Aにより実行される処理を含む)を実行するようにしても良い。
 図14A,14B及び図15A,15Bは、対戦ゲームにおけるイベント情報の発生を例示する図である。これらの図は、ユーザが操作可能な複数のキャラクタをゲーム上で移動させ、必要により他のキャラクタと対戦させてキャラクタを育成するゲームを例示している。
 図14Aでは、画面上部に先頭で使用するキャラクタとゲーム上での(予め設定されている経路上での)進行度合い(PROGRESS)、及びその時点での得点(SCORE)を示している。また、画面下部では、残るキャラクタを5体保持であり、そのうち1体のみ保持している状態を示す。そして、画面中央の大部分では、ゲーム上で「森の中」を進行している状態を示している。
 図14Bは、上記図14Aの状態からさらに進行の度合いが増した状態を示している。この場合、オフライン時にゲーム空間内での進行度合いが増したとしても、得点自体は変化していないため、そのようなイベント情報に関しては、後のオンライン状態への復帰時に、有効であるものとして、上記図7に示した如くオンラインゲームの相手に対しても当該イベント情報を有効とする処理を実行してもよい。
 図15Aは、上記図14Bの状態からさらにゲーム空間内での進行の度合いが増した状態を示している。この場合も、オフライン時に進行度合いが増したとしても、得点自体は変化していないため、そのようなイベント情報に関しては、後のオンライン状態への復帰時に、有効であるものとして、上記図9に示した如くオンラインゲームの相手に対しても当該イベント情報を有効とする処理を実行してもよい。
 図15Bは、上記図15Aの状態からさらに進行の度合いが増し、現出した他のキャラクタとの対戦を行なう状態を示している。この場合、ゲーム進行上はオフライン状態でも戦闘を行なうことは可能となるが、戦闘の結果により、得点が大きく変化し、オンライン状態で対戦していた他の端末側との整合がとれなくなる可能性が高い。
 そのため、このようなイベント情報に関しては、後のオンライン状態への復帰時に、無効であるものとして、元のオンライン状態にまで差し戻されるよう、上記図8で説明したようにウェブサーバ装置2,3での検証処理によりコントロールされることになる。
 以上詳述した如く本実施形態によれば、オンラインゲームを統括して制御する際に、データベースを用いるような大がかりなサーバ装置による一元的な情報管理を行なう必要がなく、オンライン通信時の各機の処理負担を軽減すると共に、オフライン環境での処理を継続することが可能となる。
 また、上記実施形態では、検証の基準としてイベント情報中の時刻情報P1のみならず、位置情報P2も参照して検証を実行するものとしたので、オフライン状態の前後で端末の存在する位置が不自然に大きく移動しているような、不正な操作がなされている可能性が高い状態を検知して、確実にゲームをコントロールできる。
 さらに、上記実施形態では、検証の結果、無効であると認定したイベントに関しては、その旨を示す認識情報を返信することで、確実に同期のとれたゲームの進行が維持できる。
 さらに、オンラインゲームに参加する複数の携帯端末の間で送受信されるイベント情報について、ウェブサーバ装置2,3において他の携帯端末に送信するか否かを判別し、送信すると判別されたイベント情報のみを送信することで、ウェブソケットを介したデータのトラフィックを削減することが可能となる。
 なお、上記実施形態は、スマートフォンなどの2台の携帯端末を用いてオンラインゲームを行なう場合について説明したが、本発明は端末の台数を限ることなく、またゲームの内容に関しても上記図17A,17B及び図18A,18Bに示したような戦闘ゲームに限るものではない。
 また上記実施形態では、ウェブソケットの規格を使用する一例について説明を行なったが、本発明はこれに限らず、ウェブサーバとブラウザの間の通信に関する他の規格であっても良い。
 その他、本発明は上述した実施形態に限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で種々に変形することが可能である。また、上述した実施形態で実行される機能は可能な限り適宜組み合わせて実施しても良い。上述した実施形態には種々の段階が含まれており、開示される複数の構成要件による適宜の組み合せにより種々の発明が抽出され得る。例えば、実施形態に示される全構成要件からいくつかの構成要件が削除されても、効果が得られるのであれば、この構成要件が削除された構成が発明として抽出され得る。
 1…ネットワーク、2,3…ウェブサーバ装置、4,5…携帯端末、6…アクセスポイント(AP)、7…基地局、C1…アプリケーション実行環境、C2…A社データベース接続キット、C3…A社フレームワーク、P1…時刻情報、P2…位置情報、P3…アクション情報、S1…サーバ側ジャバスクリプト実行環境、S2…A社フレームワーク。

Claims (6)

  1.  ゲーム処理に関わる情報を、サーバを介して第1クライアント端末と第2クライアント端末との間で送受信することが可能なオンラインゲームの同期方法であって、
     オンライン接続された上記前記第1クライアント端末から、上記第1クライアント端末におけるゲーム処理に関わる第1情報を受信する受信行程と、
     上記第1情報がゲーム状況を決定する情報であるか否かを判別する判別行程と、
     上記第1情報がゲーム状況を決定する情報であると判別された場合に、上記第1情報を上記サーバに記憶すると共に、上記第1情報を上記第2のクライアント端末に送信する送信行程とを有するオンラインゲームの同期方法。
  2.  上記第1情報がゲーム状況を決定する情報でないと判別された場合に、上記第1情報を上記サーバに記憶せず、上記第1情報を上記第2のクライアント端末に送信する請求項1記載のオンラインゲームの同期方法。
  3.  上記第1情報は、イベントに関わるアクションの内容を示すアクション情報、イベントの発生した時刻に関わる時刻情報、前記第1クライアント端末の現在位置を示す位置情報の少なくとも1つを含む請求項1または請求項2の何れかに記載のオンラインゲームの同期方法。
  4.  上記第1情報に含まれる、イベントの発生した時刻に関わる時刻情報をもとに上記第1情報が正当であるか否かを判別する行程をさらに有し、
     前記送信行程は、前記第1情報が正当であると判別された場合に、上記第1情報を上記サーバに記憶すると共に、上記第1情報を上記第2のクライアント端末に送信する請求項1記載のオンラインゲームの同期方法。
  5.  上記送信行程は、前記第1情報が正当でないと判別された場合に、上記第1情報を上記サーバに記憶させず、上記第1情報を無効にする請求項4記載のオンラインゲームの同期方法。
  6.  ゲーム処理に関わる情報を、サーバを介して第1クライアント端末と第2クライアント端末との間で送受信することが可能なサーバ装置であって、
     オンライン接続された上記前記第1クライアント端末から、上記第1クライアント端末におけるゲーム処理に関わる第1情報を受信する受信手段と、
     上記第1情報がゲーム状況を決定する情報であるか否かを判別する判別手段と、
     上記第1情報がゲーム状況を決定する情報であると判別された場合に、上記第1情報を記憶すると共に、上記第1情報を上記第2のクライアント端末に送信する送信手段とを有するサーバ装置。
PCT/JP2013/077005 2012-10-03 2013-10-03 オンラインゲームの同期方法及びサーバ装置 WO2014054762A1 (ja)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US14/432,060 US9849389B2 (en) 2012-10-03 2013-10-03 Method of synchronizing online game, and server device
JP2014531028A JP5827410B2 (ja) 2012-10-03 2013-10-03 オンラインゲームの同期方法及びサーバ装置
US15/812,000 US10080968B2 (en) 2012-10-03 2017-11-14 Method of synchronizing online game, and server device
US16/116,542 US10456688B2 (en) 2012-10-03 2018-08-29 Method of synchronizing online game, and server device
US16/601,457 US10987591B2 (en) 2012-10-03 2019-10-14 Method of synchronizing online game, and server device
US17/217,169 US11878251B2 (en) 2012-10-03 2021-03-30 Method of synchronizing online game, and server device
US18/543,293 US20240115958A1 (en) 2012-10-03 2023-12-18 Method of synchronizing online game, and server device

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2012221566 2012-10-03
JP2012-221566 2012-10-03

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US14/432,060 A-371-Of-International US9849389B2 (en) 2012-10-03 2013-10-03 Method of synchronizing online game, and server device
US15/812,000 Continuation US10080968B2 (en) 2012-10-03 2017-11-14 Method of synchronizing online game, and server device

Publications (1)

Publication Number Publication Date
WO2014054762A1 true WO2014054762A1 (ja) 2014-04-10

Family

ID=50435081

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/077005 WO2014054762A1 (ja) 2012-10-03 2013-10-03 オンラインゲームの同期方法及びサーバ装置

Country Status (3)

Country Link
US (6) US9849389B2 (ja)
JP (6) JP5827410B2 (ja)
WO (1) WO2014054762A1 (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016129590A (ja) * 2015-01-14 2016-07-21 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム制御装置、及びプログラム
JP2019075605A (ja) * 2017-10-12 2019-05-16 株式会社ミクシィ 情報処理システム、動画再生同期方法、及び動画再生同期プログラム

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9849389B2 (en) * 2012-10-03 2017-12-26 Gree, Inc. Method of synchronizing online game, and server device
JP5602963B1 (ja) * 2014-01-30 2014-10-08 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
JP6498732B2 (ja) * 2017-08-04 2019-04-10 株式会社コロプラ ゲームプログラム、方法、および情報処理装置
US10758825B2 (en) * 2017-10-31 2020-09-01 King.Com Ltd. Controlling a user interface of a computer device
CN110690926A (zh) * 2019-09-17 2020-01-14 天津大学 一种单边带调制电控分段扫频源设计方法
US11207593B1 (en) * 2020-05-29 2021-12-28 Electronic Arts Inc. Scalable state synchronization for distributed game servers
JP6909915B1 (ja) * 2020-09-28 2021-07-28 株式会社Cygames マルチバトルを含むゲームのためのプログラム、方法、電子装置及びシステム

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001057678A1 (fr) * 2000-02-02 2001-08-09 Nextech Corporation Procede de traitement destine a un systeme de reseau et un tel systeme
JP2003006127A (ja) * 2001-06-18 2003-01-10 Cyberstep Inc 分散処理システム、分散処理方法、およびその方法を利用可能なクライアント端末
JP2003260272A (ja) * 2002-03-11 2003-09-16 Konami Co Ltd オンラインスポーツゲームシステムおよびプログラム
JP2007098063A (ja) * 2005-09-08 2007-04-19 Koei:Kk ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体
WO2010119866A1 (ja) * 2009-04-13 2010-10-21 株式会社コロプラ 移動距離改ざん防止システムおよび方法

Family Cites Families (84)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US80968A (en) * 1868-08-11 jones
US5166502A (en) * 1990-01-05 1992-11-24 Trend Plastics, Inc. Gaming chip with implanted programmable identifier means and process for fabricating same
FI111897B (fi) 1995-11-24 2003-09-30 Nokia Corp Kaksitoiminen tiedonvälityslaite
JP4048611B2 (ja) * 1998-07-08 2008-02-20 カシオ計算機株式会社 電子ペット飼育装置及び記録媒体
US6578054B1 (en) * 1999-10-04 2003-06-10 Microsoft Corporation Method and system for supporting off-line mode of operation and synchronization using resource state information
JP2001170360A (ja) * 1999-12-15 2001-06-26 Dowango:Kk 対戦ゲーム観戦システム
WO2001063399A2 (de) * 2000-02-24 2001-08-30 Siemens Aktiengesellschaft Verfahren und anordnung zur synchronisation eines auf einem ersten rechner ablaufenden programms mit einem auf einem server ablaufenden programm, computerlesbares speichermedium und computerprogramm-element
JP2001265704A (ja) * 2000-03-23 2001-09-28 Megafusion Corp 仮想活動の制御方法
JP2002045574A (ja) 2000-05-22 2002-02-12 Voltage Inc データ通信方法、および、サービス提供サーバ
JP3825236B2 (ja) 2000-08-24 2006-09-27 株式会社タイトー ゲームシステム、ゲームプログラムが記憶された記録媒体
US7574493B2 (en) * 2000-11-22 2009-08-11 Cricket Communications, Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US6947761B2 (en) * 2000-11-22 2005-09-20 Leap Wireless International Inc. Method and system for improving the efficiency of state information transfer over a wireless communications network
US20020129096A1 (en) * 2001-02-14 2002-09-12 Mansour Peter M. Platform-independent distributed user interface client architecture
US20020130040A1 (en) 2001-03-16 2002-09-19 4 Wave, Inc. System and method for performing sputter deposition using a devergent ion beam source and a rotating substrate
US8282475B2 (en) * 2001-06-15 2012-10-09 Igt Virtual leash for personal gaming device
CA2451668A1 (en) * 2001-06-25 2003-01-03 Ram Jethanand Balani Method and device for effecting venue specific wireless communication
US8147334B2 (en) * 2003-09-04 2012-04-03 Jean-Marie Gatto Universal game server
CN100541525C (zh) * 2002-02-05 2009-09-16 百利娱乐公司 一种用于识别游戏中的投注的方法及系统
US20030171986A1 (en) * 2002-03-05 2003-09-11 Yuri Itkis Linked promotional bingo game
JP2003258813A (ja) * 2002-03-06 2003-09-12 Matsushita Electric Ind Co Ltd 通信システムに収容される受信局
US7412541B1 (en) * 2003-07-18 2008-08-12 Core Mobility, Inc. Tokenized compression of session initiation protocol data
KR100981981B1 (ko) * 2004-03-26 2010-09-13 라 졸라 네트웍스, 인코포레이티드 스케일러블한 다기능 네트워크 통신을 위한 시스템 및 방법
US7803054B1 (en) * 2004-03-31 2010-09-28 Microsoft Corporation Multi-vehicle cross-network coordination
EP1703409A1 (en) * 2004-07-21 2006-09-20 Sony Corporation Content processing device, content processing method, and computer program
US7621813B2 (en) * 2004-12-07 2009-11-24 Microsoft Corporation Ubiquitous unified player tracking system
US8016677B2 (en) * 2004-12-08 2011-09-13 Microsoft Corporation System and method for configuring game data about players
CN100388194C (zh) * 2005-04-09 2008-05-14 华为技术有限公司 一种移动游戏客户端程序控制方法
JP3860193B2 (ja) * 2005-04-11 2006-12-20 株式会社コナミデジタルエンタテインメント ネットワークゲームシステム及びネットワークゲームプログラム
DK1713228T3 (da) * 2005-04-14 2013-01-07 Intralot S A Integrated Information Systems And Lottery Services Computerkommunikation-server og fremgangsmåde til automatisk at udføre og administrere en sammenligning
US20070021216A1 (en) * 2005-07-19 2007-01-25 Sony Ericsson Mobile Communications Ab Seamless gaming method and apparatus
US8705195B2 (en) * 2006-04-12 2014-04-22 Winview, Inc. Synchronized gaming and programming
WO2007070155A2 (en) * 2005-10-06 2007-06-21 Vergence Entertainment Llc, A California Limited Liability Company Substantially simultaneous alerts and use thereof in intermittent contests
JP2007160001A (ja) * 2005-12-16 2007-06-28 Aruze Corp 遊技システム、遊技サーバおよび遊技機
US8469805B2 (en) * 2006-01-20 2013-06-25 Microsoft Corporation Tiered achievement system
US7552148B2 (en) * 2006-02-28 2009-06-23 Microsoft Corporation Shutdown recovery
JP4644630B2 (ja) 2006-05-01 2011-03-02 株式会社メイクソフトウェア 写真シール作成装置、写真シール作成装置の制御方法、および写真シール作成装置の制御プログラム
WO2007143202A2 (en) * 2006-06-02 2007-12-13 Nicolas Kernene Broadband gaming system and method
US8932124B2 (en) * 2006-08-31 2015-01-13 Cfph, Llc Game of chance systems and methods
CA2663007A1 (en) * 2006-09-08 2008-03-13 E-Max Gaming Corporation Wireless electronic gaming unit
US20080076573A1 (en) * 2006-09-08 2008-03-27 John Loehrer Network-based game system
JP4125764B2 (ja) 2006-09-21 2008-07-30 株式会社スクウェア・エニックス ビデオゲーム制御システム、及びビデオゲーム制御サーバ
US7861150B2 (en) * 2006-11-07 2010-12-28 Microsoft Corporation Timing aspects of media content rendering
US20080220878A1 (en) * 2007-02-23 2008-09-11 Oliver Michaelis Method and Apparatus to Create or Join Gaming Sessions Based on Proximity
JP2008278269A (ja) * 2007-04-27 2008-11-13 Matsushita Electric Ind Co Ltd データ送信装置、データ受信装置及びデータ送受信システム
US8954507B2 (en) * 2007-06-22 2015-02-10 Microsoft Corporation Gathering and using awareness information
AU2008205438B2 (en) * 2007-09-13 2012-07-26 Universal Entertainment Corporation Gaming machine and gaming system using chips
US9242174B2 (en) * 2007-10-15 2016-01-26 Sony Corporation System and method for dynamically distributing game data
WO2009111515A2 (en) * 2008-03-04 2009-09-11 Wms Gaming, Inc. Controlling wagering transactions for multi-provider game content
US20090299960A1 (en) * 2007-12-21 2009-12-03 Lineberger William B Methods, systems, and computer program products for automatically modifying a virtual environment based on user profile information
US20090215538A1 (en) * 2008-02-22 2009-08-27 Samuel Jew Method for dynamically synchronizing computer network latency
US9177287B2 (en) * 2008-04-30 2015-11-03 Bally Gaming, Inc. Coordinating group play event for multiple game devices
US8812614B2 (en) * 2008-06-05 2014-08-19 Qualcomm Incorporated Data backup for a mobile computing device
US9498711B2 (en) * 2008-11-04 2016-11-22 Quado Media Inc. Multi-player, multi-screens, electronic gaming platform and system
US20100113159A1 (en) * 2008-11-06 2010-05-06 International Business Machines Corporation Method and apparatus for partitioning virtual worlds using prioritized topic spaces in virtual world systems
US20120122552A1 (en) * 2008-12-15 2012-05-17 Eui-Joon Youm Interactive asynchronous game bucketing facility
KR20100086819A (ko) * 2009-01-23 2010-08-02 삼성전자주식회사 휴대단말기의 게임 실행 방법 및 시스템
EP2237627B1 (en) * 2009-04-01 2012-01-18 Imec Method for resolving network contention
WO2010124133A1 (en) * 2009-04-24 2010-10-28 Delta Vidyo, Inc. Systems, methods and computer readable media for instant multi-channel video content browsing in digital video distribution systems
US20110014984A1 (en) * 2009-07-17 2011-01-20 Douglas Penman System and Method for Personality Adoption by Online Game Peripherals
US8939840B2 (en) * 2009-07-29 2015-01-27 Disney Enterprises, Inc. System and method for playsets using tracked objects and corresponding virtual worlds
JP2013520730A (ja) 2010-02-19 2013-06-06 クリンバース インコーポレイテッド 臨床用支払いネットワークシステム及び方法
EP2371432A3 (en) * 2010-03-09 2011-11-23 Crytek GmbH A multi-user computer-controlled video gaming system and a method of controlling at least one game mechanic
EP2383984B1 (en) * 2010-04-27 2019-03-06 LG Electronics Inc. Image display apparatus and method for operating the same
KR101688857B1 (ko) * 2010-05-13 2016-12-23 삼성전자주식회사 컨텐츠 중심 네트워크(ccn)에서 단말 및 허브의 통신 방법 및 컨텐츠 중심 네트워크를 위한 단말
US9832441B2 (en) * 2010-07-13 2017-11-28 Sony Interactive Entertainment Inc. Supplemental content on a mobile device
US20120165100A1 (en) * 2010-12-23 2012-06-28 Alcatel-Lucent Canada Inc. Crowd mobile synchronization
US20120172132A1 (en) * 2011-01-05 2012-07-05 Viacom International Inc. Content Synchronization
US20120190453A1 (en) * 2011-01-25 2012-07-26 Bossa Nova Robotics Ip, Inc. System and method for online-offline interactive experience
US20130053150A1 (en) * 2011-08-23 2013-02-28 Scott G. Miller Method and system to validate in-game actions in a multiplayer online game
US9224259B1 (en) * 2011-09-02 2015-12-29 Zynga Inc. Conflict resolution in asynchronous multiplayer games
JP5715266B2 (ja) 2011-12-19 2015-05-07 株式会社コナミデジタルエンタテインメント ゲーム制御装置、プログラム、ゲームシステム
US8535163B2 (en) * 2012-01-10 2013-09-17 Zynga Inc. Low-friction synchronous interaction in multiplayer online game
US8812856B2 (en) * 2012-02-10 2014-08-19 Zynga Inc. Methods and systems for state synchronization over a non-reliable network using signature processing
US20130217501A1 (en) * 2012-02-16 2013-08-22 Microsoft Corporation Presenting application challenges outside an application execution context
US20130260887A1 (en) * 2012-03-28 2013-10-03 Microsoft Corporation Rule set for creating word-puzzles
US20130260888A1 (en) * 2012-03-28 2013-10-03 Microsoft Corporation Phased game play for synchronized gaming schedule
US20130260885A1 (en) * 2012-03-29 2013-10-03 Playoke Gmbh Entertainment system and method of providing entertainment
AU2013266362B2 (en) * 2012-05-22 2016-06-16 Angel Group Co., Ltd. Total money management system
US20150111643A1 (en) * 2012-05-23 2015-04-23 King.Com Limited Systems and methods for interactive gameplay
US20140038721A1 (en) * 2012-08-03 2014-02-06 Christopher R. ARCHER Method and system for facilitating online social interactions via cooperative gameplay
US9849389B2 (en) * 2012-10-03 2017-12-26 Gree, Inc. Method of synchronizing online game, and server device
KR20140116240A (ko) * 2013-02-25 2014-10-02 삼성전자주식회사 서버 장치, 서버 장치의 게임 제어 방법, 모바일 장치, 모바일 장치의 제어 방법, 디스플레이 장치 및 디스플레이 장치의 게임 영상 표시 방법
JP5602963B1 (ja) * 2014-01-30 2014-10-08 グリー株式会社 ゲーム管理プログラム、ゲーム管理方法及びゲーム管理システム
US10706675B2 (en) * 2015-08-03 2020-07-07 Angel Playing Cards Co., Ltd. Management system for table games, substitute currency for gaming, inspection device, and management system of substitute currency for gaming

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2001057678A1 (fr) * 2000-02-02 2001-08-09 Nextech Corporation Procede de traitement destine a un systeme de reseau et un tel systeme
JP2003006127A (ja) * 2001-06-18 2003-01-10 Cyberstep Inc 分散処理システム、分散処理方法、およびその方法を利用可能なクライアント端末
JP2003260272A (ja) * 2002-03-11 2003-09-16 Konami Co Ltd オンラインスポーツゲームシステムおよびプログラム
JP2007098063A (ja) * 2005-09-08 2007-04-19 Koei:Kk ネットワークゲームシステム,クライアント機器,サーバ機器,キャラクタ管理プログラムおよびキャラクタ管理プログラムを記憶した記憶媒体
WO2010119866A1 (ja) * 2009-04-13 2010-10-21 株式会社コロプラ 移動距離改ざん防止システムおよび方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016129590A (ja) * 2015-01-14 2016-07-21 株式会社コナミデジタルエンタテインメント ゲームシステム、ゲーム制御装置、及びプログラム
JP2019075605A (ja) * 2017-10-12 2019-05-16 株式会社ミクシィ 情報処理システム、動画再生同期方法、及び動画再生同期プログラム
JP7014956B2 (ja) 2017-10-12 2022-02-02 株式会社ミクシィ 情報処理システム、情報処理方法、及びプログラム

Also Published As

Publication number Publication date
JP2019042607A (ja) 2019-03-22
US20200038760A1 (en) 2020-02-06
US20210213359A1 (en) 2021-07-15
JP2015205203A (ja) 2015-11-19
JP5827410B2 (ja) 2015-12-02
US10456688B2 (en) 2019-10-29
US9849389B2 (en) 2017-12-26
JP2017099938A (ja) 2017-06-08
JP2022087150A (ja) 2022-06-09
US20180369697A1 (en) 2018-12-27
US10080968B2 (en) 2018-09-25
JP7234440B2 (ja) 2023-03-07
US20150238867A1 (en) 2015-08-27
JPWO2014054762A1 (ja) 2016-08-25
US10987591B2 (en) 2021-04-27
US20240115958A1 (en) 2024-04-11
US20180065046A1 (en) 2018-03-08
US11878251B2 (en) 2024-01-23
JP6462740B2 (ja) 2019-01-30
JP2021036470A (ja) 2021-03-04
JP6092951B2 (ja) 2017-03-08
JP6837046B2 (ja) 2021-03-03
JP7058042B2 (ja) 2022-04-21

Similar Documents

Publication Publication Date Title
JP6462740B2 (ja) オンラインゲームの同期方法及びサーバ装置
US8123599B2 (en) Game builder for mobile device-based games
WO2018003174A1 (ja) 情報処理装置の制御方法、情報処理装置及びプログラム
US9017170B2 (en) Method and apparatus for interactive gameplay across multiple computing platforms
US9244993B1 (en) Management of application state data
EP3689428A1 (en) Cloud-based game slice generation and frictionless social sharing with instant play
EP4221196A1 (en) Image processing system, image processing method, dynamic image transmission device, dynamic image reception device, information storage medium, and program
US11478700B2 (en) Asynchronous event management for hosted sessions
JP5836919B2 (ja) ゲームシステム、並びにそのゲーム処理中断制御方法及びコンピュータプログラム
JP2015537267A (ja) 情報管理方法及びデバイス
JP6030884B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
KR102551096B1 (ko) 클라우드 게임 서비스 제공 장치 및 클라우드 게임 서비스 제공 방법
JP6475923B2 (ja) ゲームシステム及びこれに用いられるゲームサーバ
JP6194458B2 (ja) マッチング装置、ゲームシステム、マッチング方法、マッチングプログラム
US10421014B2 (en) Information processing system and information processing program
JP2024051764A (ja) プログラム、情報処理システム及び情報処理装置
JP2021096816A (ja) オンラインサービス接続制御装置および方法
KR20200131058A (ko) 커뮤니케이션 공간 관리 방법 및 이를 수행하기 위한 장치

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 13843273

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2014531028

Country of ref document: JP

Kind code of ref document: A

WWE Wipo information: entry into national phase

Ref document number: 14432060

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 13843273

Country of ref document: EP

Kind code of ref document: A1