An embodiment of the invention relate generally to the implementation of turn-based exchanges in multiplayer games on mobile devices and more specifically, a system and method of structuring match data updates in multiplayer games on mobile devices.
Currently, in addition to desktop computers and video game consoles, a wide range of portable consumer electronics may be used to play video games. These portable consumer electronics may include, for example, smart phones, laptops, notebooks, tablet computers, and personal digital media players.
All types of video games are available to be played by users on their portable consumer electronics. These games may be single-player games that can only be played by a single user on their device or multiplayer games where two or more players play the game with each other using their respective devices.
In simple multi-player video games such as the card game “Go Fish”, the turn order of the game is well-defined. For instance, if four players are playing a game of “Go Fish”, each of the players (e.g., first player to the fourth player) would take turns playing one card each in sequence. To address coherency and contention problems, the current model implemented is the “talking stick” model. In this model, each player on his respective device has a view of the match (i.e., the object that describes the current game of “Go Fish”) and each player has a copy of the match data (i.e., the data that is associated with the match). The player whose turn it is in the match has the “talking stick” and thus, has full control over the game state. In other words, only the player having the “talking stick” can make changes to the match data.
However, many multiplayer video games are more complicated in that the flow of the game is not as linear. Examples of such multiplayer video games are adaptations of board games such as Monopoly™ or Risk™. In Monopoly™, the first player may land on Boardwalk, he does not choose to buy the property so the property goes up for auction. In the auction scenario, the “talking stick” model would not be effective since, among other things, the second, third, and fourth players would have to be provided a sequential turn, the users would not be able to bid concurrently, and a delay in response from any of the users would stall the match. Similarly, in Risk™, the “talking stick” model does not allow for a user to trade or create collusion. For instance, when the first user obtains China, the third user cannot offer to help the first user obtain Mongolia in exchange for Australia, since it is not his turn to play (i.e., third user does not have the “talking stick”).
In order to provide the user with a better user experience, the manner in which the match data is updated should mirror the natural flow of the multiplayer game. In lieu of the “talking stick” model, one embodiment of the invention implements a structured messaging or update mechanism called exchanges that involve the current player (e.g., the player who has the current turn in the match) to structure the match data updates in the game.
In one embodiment, the system of structuring match data updates in multiplayer games comprises: a plurality of portable electronic devices and a server. Each of the plurality of devices may execute a match and store match data. A current device, which is one of the plurality of devices, controls the current turn in the match and controls the updates to the match data (e.g., the game state). The current device may establish exchanges that occur during the current turn which includes at least one of: (i) sending a request to at least one of the plurality of devices, (ii) receiving a request from at least one of the plurality of devices, (iii) receiving a reply to a request from at least one of the plurality of devices, and (iv) sending a reply to a request to at least one of the plurality of devices. The server is communicatively coupled with the plurality of devices to synchronize the match data stored on each of the plurality of devices when the current device updates the match data stored on the current device.
In another embodiment, method of structuring match data updates in multiplayer games starts with executing a version of an application by each of a plurality of portable electronic devices, respectively. A current device included in the plurality of devices may control a current turn in the match. The current device then establishes exchanges that occur during the current turn in the match which includes at least one of: (i) sending a request to at least one of the plurality of devices, (ii) receiving a request from at least one of the plurality of devices, (iii) receiving a reply to a request from at least one of the plurality of devices, and (iv) sending a reply to a request to at least one of the plurality of devices. The current device may then update the match data stored on the current device during the current turn and the server may synchronize the match data stored on each of the plurality of devices when the current device updates the match data stored on the current device.
In another embodiment, a method of structuring match data updates in multiplayer games starts with each of a plurality of portable electronic devices executing a version of an application. A current device included in the plurality of devices controls a current turn in the match. The current device may then update the match data stored on the current device during the current turn and a server may synchronize the match data stored on each of the plurality of devices when the current device updates the match data stored on the current device. The current device may then send a message to the server indicating an end of the current turn. The message may further include an order of the plurality of devices. The server may then select a first device to be the current device that controls a subsequent turn based on the order included in the message. The first device is included in the plurality of devices. In some embodiments, the message further includes a timeout associated with each of the plurality of devices, respectively. When the timeout is reached, the server selects a second device to be the current device based on the order. The second device is included in the plurality of devices.
The above summary does not include an exhaustive list of all aspects of the present invention. It is contemplated that the invention includes all systems, apparatuses and methods that can be practiced from all suitable combinations of the various aspects summarized above, as well as those disclosed in the Detailed Description below and particularly pointed out in the claims filed with the application. Such combinations may have particular advantages not specifically recited in the above summary.
The embodiments of the invention are illustrated by way of example and not by way of limitation in the figures of the accompanying drawings in which like references indicate similar elements. It should be noted that references to “an” or “one” embodiment of the invention in this disclosure are not necessarily to the same embodiment, and they mean at least one. In the drawings:
In the following description, numerous specific details are set forth. However, it is understood that embodiments of the invention may be practiced without these specific details. In other instances, well-known circuits, structures, and techniques have not been shown to avoid obscuring the understanding of this description.
A device housing (also referred to as the external housing) encloses a plurality of electronic components of the device 1. For example, the device 1 may include electronic components such as a processor, a data storage containing an operating system and application software for execution by the processor, input-output devices such as a display screen that may be a touch-sensitive screen (“touch screen”), a microphone port, and speaker ports, and a plurality of sensors such as ambient light sensors, an accelerometer, and a proximity sensor. Input-output devices may also include wireless communications devices having communications circuitry such as radio frequency (RF) transceiver circuitry, antennas, etc . . . In one embodiment, the microphone port and the speaker ports may be coupled to the communications circuitry to enable the user to participate in wireless telephone or video calls. A variety of different wireless communications networks and protocols may be supported in the mobile device 1. These include: a cellular mobile phone network (e.g. a Global System for Mobile communications, GSM, network), including current 2G, 3G and 4G networks and their associated call and data protocols; and an IEEE 802.11 data network (WiFi or Wireless Local Area Network, WLAN).
The mobile device 1 may have video games installed therein. When a video game is executed by the processor of the device 1, the graphical user interface (GUI) of the game is displayed to the user. The user may interact with the video game by using the touch-screen of the device 1 or by manipulating the mobile device 1 in a manner that the sensors in the mobile device provide corresponding inputs to the game. While
In one embodiment, a first user using a mobile device 11, a second user using mobile device 12, a third user using the mobile device 13, and a fourth user using the mobile device 14 are playing a multiplayer video game on their respective devices. The four users are playing a match of the multiplayer video game in this embodiment. Each of the mobile devices includes a processor that may be executing a version of an application and a storage to that may store a copy of the match data. One of the mobile devices, for instance mobile device 11, may be the device that is controlling the current turn in the match called the “current device.” For example, it may be the first user's turn to roll the dice in a game of Monopoly™. In this example, the first user may roll the dice and land on the Boardwalk property. If the first user decides to purchase Boardwalk, the match data in the mobile device 11 is updated and the mobile device 11 may send a message to the server 3 via network 2 that indicates the end of the first user's turn. In some embodiments, the message may also indicate the changes made by the current device to the match data. Using this information, the server 3 may synchronize the match data stored on each of the other mobile devices 12, 13, and 14 to reflect the changes made on by the current device. Accordingly, in one embodiment, the server 3 may synchronize the match data by sending a message to each of the mobile devices 12, 13, and 14 that includes the match data changes when the current device updates the match data stored on the current device.
In this embodiment, the mobile device 11, as the current device, may also establish exchanges that occur during the current turn in the match. For example, having landed on Boardwalk, the first user may decide that he does not want to buy Boardwalk but rather put Boardwalk up for auction to the other users. The mobile device 11 as the current device may establish exchanges that occur during this current turn in the match. In this example, the mobile device 11 may establish exchanges by sending a request for bids to at least one of the mobile devices 12, 13, 14 and also receive a bid as a reply from at least one of the mobile devices 12, 13, 14. In another example, when the first user lands on Boardwalk, the mobile device 11 may also establish exchanges by receiving a request from at least one of the mobile devices 12, 13, 14 to sell Boardwalk and also send a reply to the request to at least one of the mobile devices 12, 13, 14. In each of the examples, the exchanges that are established by the current device may be required to involve the current device.
Referring to
The communication interface 32 may be an interface that is coupled to the network 2 in order to receive for example messages from the first device 11 that indicate the end of a current turn and transmit a message to the second device 12 that indicates that the second device 12 is now the current device in this subsequent turn. The message may also indicate changes made by the current device to the match data such that the communication interface 32 may be used to synchronize the match data stored on each of the other mobile devices 12, 13, and 14 by sending a message to each of the mobile devices 12, 13, and 14 that includes the match data changes. The current device may also establish the exchanges via the communication interface 32 using SMS messages, or within the match using WiFi, 3G, or 4G networks.
As shown in
Referring to
In some embodiments, the processor 33 may determine that the match data was updated by the current device based on the message received from the current device (e.g., mobile device 11) and may update the match and match data stored in the storage 31 accordingly. The processor 33 may also cause the communication interface 32 to transmit a request or a reply to at least one of the mobile devices 12, 13, and 14 and receive a request from at least one of the mobile devices 12, 13, and 14. When the processor 33 transmits a request or replay to at least one of the mobile devices (e.g., mobile device 12), the processor 33 may signal to the communication interface 32 to transmit a notification to the mobile device 12. The notification may be displayed on the display screen of the mobile device 12 for the second user. In one embodiment, the notification is displayed as banner or a badge. The notification may also be displayed on the display screen when the user activates the match or the multiplayer game.
The following embodiments of the invention may be described as a process, which is usually depicted as a flowchart, a flow diagram, a sequence diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations can be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed. A process may correspond to a method, a procedure, etc.
In order to further structure the match data updates by the mobile devices 11-14, the message that is sent from the current device to the server 3 to indicate the end of the current turn may also include a vector that provides an order of the mobile devices 11-14. This order delineates the order in which the turns in the match are to proceed. For instance, after the first user on mobile device 11 completes his turn, it may be the second user, the third user, and then the fourth user's turn in sequence. Accordingly, the vector would include an order of the mobile devices being: (mobile devices 12, 13, 14, and 11). This order may be determined by the user on current device or automatically based on the match data. In another embodiment, the vector that provides an order of the mobile devices 11-14 may also include a timeout which is a maximum amount of time that a user has to make play his turn. In some embodiments, the vector may include a timeout for each of the mobile devices 11-14. The timeouts in this embodiment may the same timeout or a different timeout. The values of the timeouts may also be determined by the user on current device or automatically based on the match data.
At Sequence 605, the fourth user on mobile device 14 may not have time to play his turn within the time period set forth by the timeout associated with mobile device 14 (e.g., 1 day). Rather than stalling the match for the rest of the users, this embodiment of the invention allows for the match to continue in an orderly manner. For instance, once the fourth user times out for not playing his turn within a day of receiving the message from the server 3 in Sequence 604, the server 3 may determine at Sequence 606 that the fourth user on mobile device 14 forfeits the match or that the fourth user on mobile device 14 loses his turn. At Sequence 607, the server 3 refers to the message stored in storage 31 to determine that mobile device 13 is the next device to be current device after the mobile device 14 according to the order in the message. Having identified the next current device, the server 3 may then send a message to mobile device 13 that indicates to the mobile device 13 that it is new current device. In this example, at Sequence 606, the server 3 determined that the mobile device 14 forfeits the match such that at Sequence 607, the message includes a new order being (Mobile devices 13, 12, and 11) and timeouts being (1 day, 1 day, and 1 week). In some embodiments, the server 3 may also store this message in storage 31 to update its content to reflect the new order and timeouts. At Sequence 608, when the third user completes his turn, a message is sent from the mobile device 13 to the server 3 that indicates that the current turn has ended and the message further includes a new order being (Mobile devices 12, 11, and 13) and timeouts being (1 day, 1 day, and 1 week).
In some embodiments, when a timeout is determined to have occurred (e.g., Sequence 606), the server 3 may also cause the turn to fallback to the previous current player. Moreover, when a timeout is determined to have occurred, all existing exchanges may be canceled and the various mobile devices involved in the cancelled exchanges are notified by the server.
While some embodiments of the invention have been described to include a server to receive messages from mobile devices and send messages to mobile devices, it is further contemplated that one embodiment of the invention may be a fully distributed system using peer-to-peer networking. Accordingly, in the peer-to-peer networking embodiments of the
While the invention has been described in terms of several embodiments, those of ordinary skill in the art will recognize that the invention is not limited to the embodiments described, but can be practiced with modification and alteration within the spirit and scope of the appended claims. The description is thus to be regarded as illustrative instead of limiting. There are numerous other variations to different aspects of the invention described above, which in the interest of conciseness have not been provided in detail. Accordingly, other embodiments are within the scope of the claims.
This application claims the benefit pursuant to 35 U.S.C. 119(e) of U.S. Provisional Application No. 61/714695, filed Oct. 16, 2012, which application is specifically incorporated herein, in its entirety, by reference.
Number | Date | Country | |
---|---|---|---|
61714695 | Oct 2012 | US |